Rate limits
Per-key limits, the headers that report them, and how to back off.
Limits apply per API key, over a rolling one-minute window. They are enforced on each server instance, so under heavy load a key may briefly get somewhat more than this — design for the stated numbers, not the slack.
| Limit | |
|---|---|
Reads (GET, and POST /v1/search) | 600 requests / minute |
Writes (other POST, PATCH, DELETE) | 120 requests / minute |
Every response to a valid key reports the window for the request's kind — including 403s, which count against it:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed per minute. |
X-RateLimit-Remaining | Requests left in the current window. |
X-RateLimit-Reset | Seconds until the oldest request leaves the window. |
Over the limit, the API returns 429 rate_limit_exceeded with a Retry-After header (seconds). Wait at least that long, then retry with jitter.
Bulk loads
Use POST /v1/documents/batch — 100 documents count as one write. Need higher limits for a backfill? Contact us.