Rate limits
Every endpoint is rate limited per organization. The limit is operator-configured and can differ by endpoint and by organization, so do not hardcode a number: readX-RateLimit-Limit on each response, which always reflects your actual limit for that endpoint in the current window. The standard allowance is on the order of 60 requests per minute per endpoint. When you exceed the limit, the API returns 429 Too Many Requests with a JSON error body.
All API keys and users in your organization share the same quota. The limit applies separately to each endpoint — for example, search and poll each have their own window.
Response headers
Handle 429 errors
1
Read the reset time
Parse
X-RateLimit-Reset and wait until that timestamp before retrying
the same endpoint.2
Backoff between polls
When polling research results, use a 2–5 second interval instead of
tight loops.
3
Avoid duplicate research
A
duplicate poll status means the record was already researched — do
not resubmit research for the same searchResultId.Credits
Search and research spend the same credit balance. Reading records already in your org, polling for results, and OAuth do not.Which requests use credits
Search does not start a research job. Researching a
searchResultId is a separate charge on top of the search that found it.
Check your credit balance
- Every authenticated response includes the remaining balance in the
X-PublicAPI-Creditsheader. - v2 (beta) has a dedicated endpoint,
GET /client/v2/credits. v1 has none. - You can also check Settings → Billing in the Seamless app.
License vs credits (HTTP 422)
Both problems return HTTP 422, but thecode field tells you which applies:
See Error codes for the full status code reference.
Related
- Error codes — HTTP 400, 401, 403, 422, 429, and more
- Troubleshooting — failed research and auth errors
- Choose an API — when to search, research, or read records you already have