Cloudflare Error 1015: You are being rate limited
A Cloudflare rate limiting rule on the site matched your IP or key and is blocking you for the mitigation period. As a client, back off per Retry-After; as the owner, loosen or scope the rule.
Identify: does your log match?
HTTP/2 429 server: cloudflare cf-ray: 8d2f4a1b7c3e2f10-FRA retry-after: 60 content-type: text/html; charset=UTF-8 Error 1015 Ray ID: 8d2f4a1b7c3e2f10 • 2026-10-22 09:14:03 UTC You are being rate limited The owner of this website (api.example.com) has banned you temporarily from accessing this website.
- High
Client exceeded a rate limiting rule
Scrapers, retry loops or CI jobs from one IP send more requests than the rule allows per period. Cloudflare blocks until the mitigation timeout ends.
- Medium
Shared egress IP counted as one client
Corporate NAT, CGNAT or a serverless platform's shared IPs aggregate many real users into a single counter.
- Medium
Rule too broad for API traffic
A rule written for /login also matches /api/*, so legitimate high-frequency API clients get blocked.
Fix
Back off on 429 and honor Retry-After
for (const url of urls) { const res = await fetch(url); if (!res.ok) continue; }
async function get(url: string, tries = 5): Promise<Response> { for (let i = 0; ; i++) { const res = await fetch(url); if (res.status !== 429 || i >= tries) return res; const wait = Number(res.headers.get('retry-after') ?? 2 ** i) * 1000; await new Promise(r => setTimeout(r, wait + Math.random() * 250)); } }
Retrying immediately extends the ban. Waiting Retry-After seconds lets the counter reset.
Verify: reproduce it on purpose
$ for i in $(seq 1 500); do curl -s -o /dev/null -w "%{http_code}\n" https://your-site.example/api/ping; done | sort | uniq -cRun it against a dev environment to trigger 1015 on purpose and test your error handler.
Prevent
- Expose rate limits in your API docs with Retry-After.
- Use Security Events in the dashboard to see which rule fired.
- Exempt health checks and known partners with a skip rule.
FAQ
How long does a Cloudflare 1015 ban last?
Until the rule's mitigation timeout (from 10 seconds up to a day, depending on plan) expires. Repeated violations restart it.
Is 1015 caused by Cloudflare or by the site?
By the site owner's rate limiting rule. Cloudflare only enforces it, so only the owner can change the threshold.
Will a VPN fix error 1015?
A new IP gets a fresh counter, but if the rule counts by header or cookie you will be blocked again. Slow down instead.
Related errors
Last verified 2026-10-22 · Source: Cloudflare 1xxx and 5xx error reference · Official docs ↗ · ~22,200 searches/mo