Skip to main content

Base URL

Authentication

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

Job billing

Jobs are metered by data volume. Depending on your account, a full-source 720p billing floor can apply to clips, audio extraction and lower-resolution downloads. See Billing & Metering for the calculation, exemptions and worked examples.

Endpoints Overview

Jobs

Bulk

Metadata

Batch Operations

User

Response Format

The customer endpoints described here return JSON. Framework-level rejections and operational routes can use other response formats. Successful requests use a 2xx status code.

Success Response

Error Response

Status Codes

Rate Limits

The default allowance is 1,000 requests per second per authenticated client. Deployment and per-key configuration can override this value; read limit_requests_per_second in the rejection response. 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 (example with the default limit):
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).