PostHog rate limits its private endpoints, mainly per personal API key. Analytics endpoints get 240 requests per minute and 1,200 per hour, the query endpoint 2,400 per hour, and other create, read, update and delete endpoints 480 per minute and 4,800 per hour. Public capture and flag endpoints aren't rate limited.
The quickest way to tell whether PostHog's limits apply to you is to ask one question: is the request authenticated with a personal API key? PostHog itself gives that as the rule of thumb. Event capture from your website or app doesn't use one, so it isn't limited at request level. Scripts that pull data out with a personal key are.
Public versus private endpoints
Private GET, POST, PATCH and DELETE endpoints are rate limited. Public POST-only endpoints, such as event capture and /flags, aren't. Most limits count per personal API key, not per team, and OAuth and logged-in sessions don't count against these personal API key limits.
Hosts differ by region. US Cloud uses us.i.posthog.com for public endpoints and us.posthog.com for private ones; EU Cloud uses the eu equivalents.
Limits by endpoint type
| Item | Limit | Applies to |
|---|---|---|
| Analytics endpoints (insights, persons, session recordings) | 240/minute and 1,200/hour | Per personal API key |
| events/values | 60/minute and 300/hour | Per personal API key; event_name required |
| Query endpoint | 2,400/hour, plus an hourly read allowance | Per personal API key |
| Feature flag local evaluation | 600/minute | Personal API key in SDKs |
| Prompt fetches | 600/minute, separate allowance | Personal API key |
| Other CRUD endpoints | 480/minute and 4,800/hour | Per personal API key |
| Invites | 50/hour and 200/day, up to 20 per bulk request | Per organization, including invites from the PostHog UI |
| Public capture and /flags | No request-level rate limit | Public POST-only endpoints |
The hourly caps matter as much as the per-minute ones. 1,200 analytics requests an hour works out at 20 a minute on average, so a script that runs flat out at 240 a minute will use the whole hour's allowance in five minutes. If a job has to run all day, pace it to the hourly number, not the per-minute one. The same goes for other CRUD endpoints: 4,800 an hour is 80 a minute sustained, well below the 480 burst.
The analytics limit is the one most scripts meet first. A job that pulls insights or persons in a tight loop will hit 240 a minute long before anything else, so pace those calls.
Unlimited doesn't mean unprotected
PostHog Docs add a qualification to the public endpoints. Capture and feature flag evaluation have no request-level limit, but they still apply per-distinct-ID ingestion protection and report quota limiting in the quota_limited field. If that field shows up in responses, data is being limited for a reason other than request rate. And because OAuth requests don't count against personal API key limits, an integration built on OAuth sits outside the table above.
What happens at the limit, and what PostHog suggests
PostHog isn't offering higher limits. Instead, it points to three routes for getting more data out: its Endpoints product, batch exports, or file download exports. If you're pulling large volumes for a warehouse or dashboard, a batch export is usually a better fit than hammering the API. For one-off analysis, a file download export avoids rate limits entirely.
- Pace analytics requests to stay under 240 a minute.
- Use the query endpoint for heavier questions, within its 2,400 an hour.
- Move bulk extraction to batch exports.
- Consider OAuth for integrations, since it doesn't draw on personal key limits.
How other APIs count requests
Counting rules differ a lot between tools. Front's API rate limit starts at 50 requests per minute and is enforced per company rather than per token. Asana allows, as of Nov 2026, 150 requests per minute on Free domains and 1,500 on higher-tier domains, per token. PostHog's per-key approach means two colleagues with their own keys don't share a pool, which isn't true of Front. For more on getting data out of tools efficiently, my explainer on APIs versus webhooks and my guide to using product analytics are good companions.
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 scripts that talk to PostHog
Check whether each script really needs a personal API key, and give separate jobs separate keys so they don't compete. Keep analytics calls under 240 a minute, push bulk pulls to batch exports, and watch for quota_limited on capture responses. You'll rarely see a rate-limit error if you design around those four habits.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
Is event capture rate limited?
Not at request level; public endpoints aren't rate limited.
What is the limit for queries?
The query endpoint is 2,400 per hour, plus an hourly read allowance for personal API keys.
Do limits apply per team?
Mostly per personal API key, not per team.
Can I get higher limits?
PostHog says it isn't offering higher limits and suggests Endpoints, batch exports or file exports.
How many invites can I send?
50 per hour and 200 per day per organization.