Skip to main content

Base URL

Authentication

The customer endpoints below use the x-api-key header:

Endpoints Overview

Jobs

Bulk

Metadata

Batch Operations

User

Response Format

All responses are JSON. Successful responses have a 2xx status code.

Success Response

Error Response

Status Codes

Rate Limits

The API allows 1,000 requests per second per authenticated client. For direct access, all API keys in the same organization share one budget across API instances. Using another key in that organization, another connection or another IP address does not increase the allowance. A legacy key without an organization has its own budget. Marketplace requests are counted for the authenticated provider account, so tenants remain separate even when their integration uses a shared key. The API enforces the limit after authentication. A one-second window starts with the first admitted request; rejected requests do not extend it. If you reach the ceiling, the API responds with 429, Retry-After: 1, and a JSON error:
For multiple downloads, use POST /jobs/bulk with up to 100 jobs in one HTTP request. Wait for Retry-After before retrying a rejected request. Bulk requires a direct API key and shared encoding options. If the API cannot check the shared request allowance, it returns 503. Storage allowances, account quotas and server capacity checks are separate from the HTTP request ceiling. Their errors have their own explanation; grouping requests does not remove those limits. Poll job status every 2–5 seconds as a starting point and back off on throttling.

OpenAPI Spec

The raw OpenAPI specification is publicly available at:
Use it to generate client SDKs or import the API into tools like Postman or Insomnia. The full human-readable documentation lives at docs.tornadoapi.io (the /docs path on the API host redirects there).