Skip to main content
POST
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.

Response

The collection_id identifies this collection run. Use it as the id value when calling GET /dca/dataset to retrieve the results.
See the Quickstart for how the IDs relate to one another.

Send a notification when a collection finishes

Use the notify query parameter to send a webhook or email notification when a batch collection finishes. The parameter accepts a JSON object passed as a URL query parameter, so the value must be URL-encoded. When notify is used without deliver, the notification is sent when the collection job completes. The following cURL example triggers a batch collection and sends a webhook notification when the job completes. The --url-query option, available since curl 7.87.0, URL-encodes the JSON value for you:
The response is the standard collection_id response shown above. When the collection job completes, Bright Data sends the notification to the configured endpoint. The notify object has the following fields:

Override delivery settings for one request

Use the deliver query parameter to override the scraper’s default delivery settings for a specific request. This delivers the collection result to a destination different from the one configured under Delivery preferences in the control panel, without changing the scraper configuration. Like notify, the parameter accepts a JSON object passed as a URL-encoded query parameter. The following example triggers a batch collection, delivers the result to Amazon S3 and sends a webhook notification after delivery completes:
The deliver object supports the same destination types as Delivery preferences, including s3, gcs, azure, sftp, webhook and email.

How notify and deliver interact

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

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:

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"

notify
string

Notification configuration for this request as a URL-encoded JSON object. Used alone, the notification is sent when the collection job completes. Used together with deliver, the notification is sent after delivery completes.

Example:

"{\"type\":\"webhook\",\"endpoint\":\"https://example.com/webhook\"}"

deliver
string

Request-level delivery configuration as a URL-encoded JSON object. Overrides the scraper's default Delivery preferences for this collection only.

Example:

"{\"type\":\"s3\",\"bucket\":\"YOUR_BUCKET\",\"credentials\":{\"aws-access-key\":\"YOUR_AWS_ACCESS_KEY\",\"aws-secret-key\":\"YOUR_AWS_SECRET_KEY\"},\"region\":\"YOUR_REGION\",\"directory\":\"brightdata/YOUR_DIRECTORY\",\"filename\":{\"template\":\"results_{[datetime]}\",\"extension\":\"json\"},\"delivery_type\":\"deliver_results\"}"

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.