Webhooks by Zapier's Catch Raw Hook trigger accepts an unparsed request body up to a maximum of 2MB, headers included. Separately, Zapier rate limits webhooks at 20,000 requests every 5 minutes per user, and 1,000 per 5 minutes per Zap on legacy webhook routes. Go over and you'll get a 429.
Size and speed are two different limits
When people ask about Zapier's webhook limit, they usually mean one of two things: how big a single request can be, or how many requests Zapier will take. They're documented separately, and they fail in different ways.
| Item | Limit | Applies to |
|---|---|---|
| Catch Raw Hook request size | 2MB (unparsed body, includes headers) | Catch Raw Hook trigger |
| Webhook requests per user | 20,000 every 5 minutes | Webhooks by Zapier, per user |
| Webhook requests per Zap | 1,000 every 5 minutes | Legacy routes without a Zapier user ID |
| Response when exceeded | 429 status code | Webhooks by Zapier |
| Events per request | One Zap run per object in a JSON array | Catch Hook and Catch Raw Hook |
The 2MB cap belongs to Catch Raw Hook
There are two webhook triggers, and the size cap is stated for only one. Catch Raw Hook returns the request body unparsed, includes the headers, and has a maximum size of 2MB. Catch Hook parses the body for you and works for GET, PUT or POST endpoints; the help page doesn't give a separate size number for it. Don't assume 2MB applies to both.
If a payload is near that size, look at what's being sent. Including whole files in the body makes a request heavy fast; sending a link to the file instead keeps it small.
How the rate limits count
Webhooks by Zapier allow 20,000 requests every 5 minutes per user. Older, legacy webhook routes, the ones without a Zapier user ID in the URL, are limited to 1,000 requests every 5 minutes per Zap, including subscriptions and REST webhooks. The webhook URL contains the owner's Zapier ID and only changes if the Zap is transferred to another user, so it's easy to tell which kind you've got.
Batching helps. A request can contain an array of JSON objects, and Zapier runs the Zap once for each object. Sending 50 orders in one request means one request against the rate limit and 50 Zap runs.
A 200 doesn't mean it's been processed
Zapier Help, in its page on webhook rate limits, explains the trap. During periods of high webhook activity, Zapier may return a 200 but delay processing by several minutes. So a 200 tells you the request was received, not that your Zap has run. Zapier's advice is to retry on any non-200 response and to use exponential backoff, waiting longer between each retry.
Two other responses are worth knowing. If a Zap is turned off or deleted, Zapier returns a 404 for incoming requests, but only after a system update delay of up to several hours, during which the URL keeps returning 200. And adding silent/ to a Catch Raw Hook URL gives an empty response instead of the default 200.
When a Zap step hits a limit
- Replay the Zap run once the limit has reset.
- Add a Delay After Queue step to spread actions out.
- Adjust the flood protection limit for the Zap, which needs a higher Zapier plan.
Webhook triggers themselves are listed as available on the Free, Professional, Team and Enterprise plans (as of Nov 2026). If you're unsure whether a webhook or a polling trigger suits a job, my explainer on APIs versus webhooks covers the difference.
How n8n handles bigger payloads
n8n's Webhook node has a maximum payload size of 16MB, and self-hosters can change it with the N8N_PAYLOAD_SIZE_MAX environment variable. If your payloads are routinely large, that's worth knowing; my comparison of n8n and Zapier goes further, and if you'd rather hand the build to someone, see my guide to hiring an automation expert.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
My advice for reliable webhooks
Keep payloads small by sending links rather than files, batch events into JSON arrays, and build your sender to retry with backoff on anything that isn't a 200. When you switch a Zap off, expect the old URL to keep answering for a few hours. And if you need a size cap you can rely on, use Catch Raw Hook, because that's the one with a documented limit.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
What's the Zapier webhook payload limit?
The Catch Raw Hook trigger has a maximum of 2MB, including headers.
What's the Zapier webhook rate limit?
20,000 requests every 5 minutes per user, or 1,000 per 5 minutes per Zap on legacy webhook routes.
What happens when I exceed it?
You get a 429 status code. You can replay runs, add a Delay After Queue step or adjust flood protection.
Can one request trigger several runs?
Yes. An array of JSON objects triggers the Zap once per object.
What if my Zap is off?
Zapier returns 404, after a delay of up to several hours.

