API reference/Submit a job
POST

/v1

Queue an extraction for one video, or up to 200, against one schema.

Request

One call submits anything from a single video to two hundred. videos is always a list, so growing from one to many changes the length of an array rather than the endpoint you call.

Field
Type
Required
Description
videosstring[]yesOne to 200 entries, each a full URL or a bare video ID. Over 200 is refused with batch_too_large and nothing is queued.
schema.columnsarrayyesEach entry needs name and description. The same schema runs against every video in the call.
schema.multiplebooleannoDefaults to false. True returns an array of records per video.
schema_idstringnoA saved schema, instead of an inline one. Optionally with schema_version; the latest is used otherwise.
webhook_urlstringnoHTTPS endpoint called once the job settles, so you need not poll.

Send an Idempotency-Key header to make a retry of this call safe.

Response

201 · created
{
"job_id": "8f2c1e40-91a3-4b7e",
"videos": 3
}

Extraction runs on a queue, so this answers with an id rather than with rows. Read the job to collect them, or register a webhook_url and be told when there is something to collect.

Errors

400 for a malformed body or unusable schema, and for more than 200 videos — batch_too_large, with the message 200 video limit per batch exceeded. 401 for a bad key, 402 when the workspace is out of credits, 409 for an Idempotency-Key reused with a different body.

NOTE
A video with no captions is not an error here. The call succeeds, and that video fails later with no_captions — costing nothing, while the rest of the job carries on.
Was this page useful?Tell us what was missing