Batch Extract Files

Submit up to **1,000 files** for extraction in a single request. Each file is processed as an independent extract run using the same extractor and configuration. Unlike the single [Extract File (Async)](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/extract/create-extract-run) endpoint, this batch endpoint accepts an `inputs` array and immediately returns a `BatchRun` object containing a batch `id` and a `PENDING` status. The individual runs are then queued and processed asynchronously. **Monitoring results:** - **Webhooks (recommended):** Subscribe to `batch_processor_run.processed` and `batch_processor_run.failed` events. The webhook payload indicates the batch has finished β€” fetch individual run results using `GET /extract_runs?batchId={id}`. - **Polling:** Call `GET /batch_runs/{id}` to check the overall batch status, and use `GET /extract_runs` filtered by `batchId` to retrieve individual run results. **Notes:** - A processor reference (`extractor.id`) is required β€” inline `config` is not supported for batch requests. - `inputs` must contain between 1 and 1,000 items. - All inputs in a batch use the same extractor version and override config.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

x-extend-api-version"2026-02-09"Optional
API version to use for the request. If you're using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a `400 Bad Request` or be set to a previous legacy version. See [API Versioning](https://docs.extend.ai/2026-02-09/developers/api-versioning) for more details.

Request

This endpoint expects an object.
extractorobjectRequired
Reference to the extractor to run against every input in this batch.
inputslist of objectsRequired
An array of inputs to process. Each item produces one extract run. Must contain between 1 and 1,000 items.
priorityintegerOptional1-100Defaults to 50
An optional value used to determine the relative order of runs when rate limiting is in effect. Lower values will be prioritized before higher values.

Response

Successfully queued batch extract run
objectenum

The type of object. Always "batch_run".

Allowed values:
idstring

The unique identifier for this batch run.

Example: "bpr_Xj8mK2pL9nR4vT7qY5wZ"

statusenum

The status of a batch run:

  • "PENDING" - The batch has been created and is waiting to be processed
  • "PROCESSING" - The batch is currently being processed
  • "PROCESSED" - All runs in the batch have completed successfully
  • "FAILED" - The batch failed to process
  • "CANCELLED" - The batch was cancelled
Allowed values:
runCountinteger
The number of individual runs in this batch.
createdAtstringformat: "date-time"

The time (in UTC) at which the object was created. Will follow the RFC 3339 format.

Example: "2024-03-21T16:45:00Z"

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error