overads
Browse the docs

Start

Rate limits

Per-workspace ceilings by plan, the headers that report them, and what a 429 looks like.

Limits are counted per workspace, not per IP address. Adding a machine does not raise the ceiling; sharing an office network does not lower it. The MCP server counts against the same budget as REST.

Ceilings

PlanPer minutePer UTC day
Scale600200,000
Pro12040,000

The daily counter resets at UTC midnight.

Headers

Every response from a keyed route carries the ceiling. The remaining count is present only when it was measured; a missing header means the counter could not be read, not that it is zero.

HeaderValue
X-RateLimit-Scopeworkspace
X-RateLimit-Limit-MinuteThe per-minute ceiling for the plan
X-RateLimit-Limit-DayThe daily ceiling
X-RateLimit-Remaining-DayRequests left today, when known

When you hit one

Both cases answer 429. The body is the flat shape, not the { error } envelope, and names how long to wait.

Burstjson
{
  "statusCode": 429,
  "code": "public_api_rate_limited",
  "message": "This workspace has made 120 public API requests in the last minute, which is the ceiling. ...",
  "perMinute": 120,
  "retryAfterSeconds": 17
}
Daily capjson
{
  "statusCode": 429,
  "code": "public_api_daily_cap_reached",
  "message": "This workspace has made all 40000 of its public API requests for today on the pro plan. ...",
  "used": 40000,
  "limit": 40000,
  "plan": "pro",
  "retryAfterSeconds": 21600
}

Sleep for retryAfterSeconds and retry. Writes are safe to retry when you sent an Idempotency-Key; see Idempotency.

If the rate counter itself is unreachable the API serves the request and logs it. A counter outage never takes an integration offline.