How to stop Zapier from encoding query parameter names in URLs

I’m having trouble with Zapier automatically encoding the names of my query parameters in URLs. This is causing problems because my API can’t parse them properly when they get encoded.

For example, I need to send a parameter like this:

Filter.User[contains]=smith

But Zapier keeps converting it to this encoded version:

Filter.User%5Bcontains%5D=smith

The square brackets are getting encoded as %5B and %5D which breaks my API endpoint. I need the parameter names to stay exactly as I write them without any URL encoding applied to the names themselves. The values can be encoded but not the parameter names.

Does anyone know if there’s a setting or workaround to prevent Zapier from encoding query parameter names? I’ve looked through the documentation but can’t find anything specific about this.

It’s indeed frustrating when dealing with APIs that require specific parameter formats. Unfortunately, Zapier’s encoding behavior is hardcoded, and there isn’t a way to disable it. I managed to resolve this by utilizing the Raw Line Item option for Query String Parameters instead of using the default structured fields. This allows you to construct your parameter string manually, preventing Zapier from interfering with the encoding. Alternatively, if your webhook setup supports it, consider using the Custom Request action, as it provides greater control over how requests are formatted. The trade-off is the loss of visual parameter mapping, but it effectively resolves the encoding issue.

Had this exact problem six months ago with a legacy API that was picky about parameter formatting. Zapier’s HTTP module auto-encodes everything for RFC compliance, but some APIs want raw bracket notation. I switched to Code by Zapier with a custom JavaScript function. You can use fetch or axios in the code step and control exactly how parameters get formatted. I built the URL string manually with unencoded parameter names, then let the HTTP client handle just the value encoding. Another trick: use Zapier’s webhook functionality backwards. Set up your own simple webhook endpoint that takes data from Zapier, reformats the parameters, then forwards to your actual API. It’s an extra step but gives you total control over formatting.

ugh, this is super annoying! but i found a workaround - try using the raw request option in zap instead of the form fields. you can just paste your url with the unencoded brackets, and zapier doesn’t mess with it as much. it worked for me with a similar issue last month.