Skip to main content
A 429 means your project exceeded Mixpanel’s ingestion rate limit. Retry with exponential backoff.

What the Response Looks Like

Mixpanel does not return a Retry-After header. Compute your own backoff interval using the strategy below.

The Rate Limit

The limit is per project.

How to Fix It

Retry With Exponential Backoff and Jitter

Start with a 2-second backoff, double it up to a maximum of 60 seconds, and add 1–5 seconds of jitter so that concurrent clients do not retry in lockstep.
Do not retry a 400. Validation errors fail consistently and still count toward your rate limit. See 400 Bad Request.

Run Backfills at Full Speed Until Throttled

Rather than pacing requests with a fixed sleep, send as fast as you can with concurrent clients and let 429s tell you when to slow down. Mixpanel sees the best results with 10–20 concurrent clients sending 2,000 events per batch. A fixed delay between requests almost always underuses the available throughput and makes a large backfill take far longer than it needs to.

Ask for a Higher Limit

If you are an Enterprise customer and a one-time backfill needs more headroom, contact your CSM with your project_id and the use case.