Skip to main content

Request rates

Requests with X-API-Key are limited per key: a sustained rate of 10 requests per second, with short bursts up to 20 requests. Exceeding the limit returns 429 Too Many Requests. A 429 carries a Retry-After header: whole seconds until the limit clears. Wait that long, and if the header is missing for any reason, fall back to exponential backoff: 1 s, 2 s, 4 s, and so on with a little jitter.
Practical advice for bulk exports:
  • keep your rate at 8–9 requests per second to leave headroom for retries;
  • fetch pages at the maximum size (limit=1000) rather than in small chunks;
  • on a 429, stop sending parallel requests — wait out the window.

Lifetimes

Do not store the download link in your database or embed it in emails — it stops working after an hour. Store the document id and request a link at download time.

Webhook delivery

  • Each event gets up to 8 delivery attempts with exponentially growing intervals, roughly a day in total.
  • Success is any 2xx response within a reasonable time; everything else (timeout, 3xx, 4xx, 5xx) counts as a failure and is retried.
  • After 20 consecutive permanently failed deliveries the subscription is automatically disabled. Re-enable it in the app (Settings → Integrations → “For developers” → Webhooks); there is currently no re-enable endpoint in the API.
More on delivery mechanics in the webhooks reference.

Sizes

  • An Ingest batch has no hard record cap, but keep it within a few thousand records: processing is asynchronous, and the request body should stay a reasonable size (single-digit megabytes).
  • List responses are bounded by pagination: limit defaults to 100, maximum 1000.