Cloudflare purge API limits, by plan
Cloudflare accepts up to 100 items per purge request on Free, Pro and Business, and 500 for single-file purge on Enterprise. Request rates are capped per account: 5 requests per minute on Free, 5 per second on Pro, 10 per second on Business and 50 per second on Enterprise.
Last updated:
Purging a handful of URLs never hits a limit. Purging a thousand does, and the failure is not obvious — the API returns an error for the request that crossed the line while the earlier ones succeeded, so you end up with a partially purged cache and no clear signal about it.
How many items per request
| Plan | Items per request | Single-file purge |
|---|---|---|
| Free | 100 | 100 |
| Pro | 100 | 100 |
| Business | 100 | 100 |
| Enterprise | 100 | 500 |
"Items" means URLs, hostnames, tags or prefixes depending on the method. Exceed the number and the whole request is rejected — Cloudflare does not process the first hundred and drop the rest, so a naive script that posts 300 URLs purges nothing at all.
How many requests
| Plan | Purge requests | Single-file throughput |
|---|---|---|
| Free | 5 per minute | 800 URLs/second |
| Pro | 5 per second | 1,500 URLs/second |
| Business | 10 per second | 1,500 URLs/second |
| Enterprise | 50 per second | 3,000 URLs/second |
Note the units. Free is five requests per minute, not per second — a factor of sixty apart from Pro, and the single most surprising number on this page. At 100 URLs per request, a Free zone can purge 500 URLs a minute and no more.
The rate limit applies per account, not per zone. Purging thirty zones in a loop counts as thirty requests against the same budget, which is exactly the shape of a bulk purge.
What this means in practice
Some arithmetic worth having in your head before you write the loop:
- 1,000 URLs on Free: 10 requests, but only 5 are allowed per minute — so two minutes minimum, with a wait in between.
- 1,000 URLs on Pro: 10 requests at 5 per second — done in about two seconds.
- 50 zones, purge everything, on Free: 50 requests at 5 per minute is ten minutes. This is the case where a bulk purge looks broken and is merely queued.
The errors you will actually see
| Response | Meaning | What to do |
|---|---|---|
429 Too Many Requests | You crossed the rate limit for your plan | Back off and retry with a delay; do not retry immediately in a tight loop |
Invalid API Token | The token is wrong, truncated or revoked | Re-check the token; a truncated paste is the usual cause |
Authentication error (10000) | The token is valid but lacks Cache Purge:Purge | Add the permission and re-issue |
Too many URLs | More items than the per-request cap | Split into batches of 100 or fewer |
How FlarePurge stays inside the limits
FlarePurge batches URL purges in groups of 30 — deliberately below Cloudflare's cap of 100. The margin is there because the cap has moved before, and a batch that is comfortably inside the limit keeps working when it moves again.
Bulk operations across many zones run with a capped concurrency rather than firing every request at once, and each batch reports its own outcome. If one zone fails, you see which one instead of a single red banner over an operation that half worked.
For a broader look at which purge method to reach for, see purge everything vs. selective purge.