Skip to main content

Limits and Performance

Design integrations around bounded requests. A request that retrieves only the needed records and fields is easier to retry and less likely to time out.

Data API limits

ControlCurrent behavior
Read limitRequired; between 1 and 10,000 records
Read skipOptional; defaults to 0
Insert request size1 to 1,000 records per POST /api/v1/data/{provider}/{dataset}/ request
Request timeoutKeep individual requests comfortably below the platform timeout by paging results

The values documented here are verified against the current data-api request validation. Use the maintained Data API Reference for request parameters and examples.

Performance checklist

  • Filter by asset_id, company_id, time, or another indexed field.
  • Select only fields the consumer uses.
  • Request a small limit while developing.
  • Sort on fields supported by dataset indexes.
  • Page through large exports and checkpoint progress.
  • Set a client-side timeout.
  • Retry transient failures with exponential backoff and jitter.
  • Do not retry authentication, authorization, or validation errors without changing the request.

Error handling

StatusAction
400 Bad RequestCorrect malformed JSON or unsupported parameters.
401 UnauthorizedCheck the Authorization header, API key status, and Bearer expiry.
403 ForbiddenRequest access or choose a resource available to the key.
404 Not FoundVerify the endpoint, provider, dataset, and asset identifiers.
422 Unprocessable EntityCorrect a missing or out-of-range parameter.
429 Too Many RequestsBack off before retrying.
5xxRetry a bounded number of times; preserve diagnostics if failures continue.

Always log the endpoint, response status, elapsed time, and non-sensitive error details. Never log API keys, Bearer tokens, refresh tokens, or passwords.