Documentation

Rate limits

Two limits, and they mean different things.

PlanCalls per dayBurst, per minute
Startup5,00060
Scale50,000300

The daily allowance is the plan. One number, and REST and MCP share it — an MCP tool call and a GET /posts cost the same one call. It resets 24 hours after your first call of the day, not at midnight.

The per-minute limit is a guard, not a product feature. It exists so one runaway agent cannot burn a day's allowance in ninety seconds. It sits well above what normal parallel work needs; if you are meeting it regularly, something is looping.

What a 429 looks like

The body says which limit you hit, what it is, and how long to wait — so a client can back off without guessing:

{
  "message": "You have hit the burst limit of 60 calls per minute. This is separate from your daily allowance of 5000 calls, which api/v1 and MCP share.",
  "code": "rate_limited",
  "limit_type": "requests_per_minute",
  "limit": 60,
  "retry_after_seconds": 12
}

Retry-After is on the response headers too. Honour it rather than picking your own interval.

402 is not a rate limit

A 402 with code: no_plan means the team has no active subscription. It looks like a throttle and is not one — retrying will never clear it. This is why the two are different status codes: an agent that treats "no plan" as "wait and try again" loops forever.

Using fewer calls

  • Raise limit. One page of 100 costs the same one call as a page of 10.
  • Search before you fetch. A search result carries enough to decide whether the post is worth a get.
  • Poll /alert-hits rather than re-running searches. One call returns everything that has matched since your last cursor, however many alerts you have.
  • Scope with a collection. Narrower results mean fewer pages to walk.

A failed request still counts if it reached us — a 422 from a malformed parameter costs a call, because an agent looping on a bad request costs us the same as one looping on a good one. Our own 429s and 402s do not count.

Usage

Month-to-date usage is on the billing page in the app. Nothing is enforced against that number — what you may actually spend is the daily cap above — it exists so you can see what you are really using.