Skip to main content
Rate limits and credits apply at the organization level. All API keys and users under your Seamless org share the same quotas.

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: read X-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.
Need higher rate limits? If you need higher custom rate limits, contact us for pricing details. Contact sales →

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-Credits header.
  • 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 the code field tells you which applies: See Error codes for the full status code reference.