Skip to main content
POST
/
dca
/
trigger
curl --request POST \
  --url 'https://api.brightdata.com/dca/trigger?collector=c_abc123&queue_next=1' \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '[{"url": "https://example.com/product/1"}, {"url": "https://example.com/product/2"}]'
{
  "collection_id": "j_abc123def456",
  "start_eta": "2026-05-22T13:26:22.702Z"
}
Use POST /dca/trigger to start an asynchronous batch collection for a published Bright Data Scraper Studio collector. The request body is a JSON array of input objects, and each object must match the collector’s input schema. The endpoint returns a collection_id immediately. Use that ID with the Receive batch data endpoint (GET /dca/dataset) to retrieve the results when the collection is complete. For the full happy-path walkthrough (auth, trigger, poll, parse) in cURL, Python and Node.js, see the Quickstart. This page is the parameter and error reference.

Request

The request body is a JSON array of input objects. Each object must match the input schema defined for the collector in Scraper Studio. A URL-based collector may require a url field, while other collectors may require fields such as keyword, location, country or custom input fields. The body must be a JSON array. For a single input, send an array with one object.
curl --request POST \
  --url 'https://api.brightdata.com/dca/trigger?collector=YOUR_COLLECTOR_ID&queue_next=1' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '[
    { "url": "https://example.com/product/1" },
    { "url": "https://example.com/product/2" }
  ]'

Response

{
  "collection_id": "j_abc123def456",
  "start_eta": "2026-05-22T13:26:22.702Z"
}
The collection_id identifies this collection run. Use it as the id value when calling GET /dca/dataset to retrieve the results.
curl --request GET \
  --url 'https://api.brightdata.com/dca/dataset?id=j_abc123def456' \
  --header 'Authorization: Bearer YOUR_API_KEY'
FieldTypeDescription
collection_idstringID of the collection run. Use this value to retrieve results from GET /dca/dataset.
start_etastringEstimated start time for the collection, in ISO 8601 format.
See the Quickstart for how the IDs relate to one another.

When to use batch collection

Use batch collection (POST /dca/trigger) when:
  • You need to process multiple inputs in one run.
  • You can wait until the collection finishes before receiving results.
  • You want to retrieve results later by collection_id.
  • You are building a dataset or a scheduled collection workflow.
Use real-time collection when you need a result for a single input immediately or within a short request window.

Errors

StatusCauseFix
401 UnauthorizedToken missing, malformed or revokedRe-copy from Account Settings → API Tokens
404 Not FoundCollector ID does not exist or your account does not have accessOpen the collector in Scraper Studio and re-copy the ID
422 Unprocessable EntityThe objects in your request body do not match the collector’s input schemaConfirm field names against the Inputs tab of your collector
5xxTransient Bright Data API errorRetry with exponential backoff, for example 1s, 2s, 4s

Retry behavior

Re-triggering the same inputs creates a new collection with a new collection_id. The endpoint is not idempotent and does not deduplicate inputs across runs. To retry only the failed inputs, use Get errors for a job to identify the failed inputs from the run, then trigger a new collection with only those inputs.

Authorizations

Authorization
string
header
required

Use your Bright Data API Key as a Bearer token in the Authorization header.

How to authenticate:

  1. Obtain your API Key from the Bright Data account settings at https://brightdata.com/cp/setting/users
  2. Include the API Key in the Authorization header of your requests
  3. Format: Authorization: Bearer YOUR_API_KEY

Example:

Authorization: Bearer b5648e1096c6442f60a6c4bbbe73f8d2234d3d8324554bd6a7ec8f3f251f07df

Learn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication

Query Parameters

collector
string
required

Collector ID of the Scraper Studio scraper to run. The ID starts with c_.

Example:

"c_abc123"

version
string

Set to dev to trigger the development version of the scraper

name
string

Human-readable name for the batch collection.

queue_next
integer
default:1

If another collection is already running, queue this collection to run after it.

queue
string

Queue name used to group related collection runs. Runs that share a queue start one after another.

confirm_cancel
integer
default:1

Cancels a running collection for this collector and runs this one instead.

no_downloads
integer
default:1

Disables media file downloads for this collection.

deadline
string

Sets the maximum time the collection can run. When the deadline is reached, Bright Data terminates the collection. Use h for hours, m for minutes or s for seconds, for example 1h, 30m or 45s.

Example:

"1h"

Body

application/json

A JSON array of input objects. Each object must match the input schema defined for the collector. A URL-based collector may require a url field, while other collectors may require fields such as keyword, location or country. For a single input, send an array with one object.

url
string<uri>

Example field for collectors that take a target URL. Replace with the fields your collector expects.

Response

200 - application/json

Returns a collection_id for the new collection run.

collection_id
string

ID of the collection run. Use this value as the id when calling GET /dca/dataset to retrieve results.

start_eta
string

Estimated start time for the collection, in ISO 8601 format.