Skip to main content
POST
/
datasets
/
snapshots
/
{id}
/
deliver
cURL
curl --request POST \
  --url https://api.brightdata.com/datasets/snapshots/{id}/deliver \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "deliver": {
    "type": "azure",
    "filename": {
      "template": "<string>",
      "extension": "json"
    },
    "container": "<string>",
    "credentials": {
      "account": "<string>",
      "key": "aSDinaTvuI8gbWludGxpZnk=",
      "sas_token": "<string>"
    },
    "directory": "<string>"
  },
  "compress": false,
  "batch_size": 123
}
'
{
  "id": "del_abc123xyz"
}
You need a Snapshot ID to use this endpoint. A Snapshot ID (e.g., snap_m2bxug4e2o352v1jv1) is a unique identifier created each time a data collection is triggered or a dataset is filtered.

Where do Snapshot IDs come from?

SourceEndpointWhat it returns
Filter DatasetPOST /datasets/filtersnapshot_id in the response body
Trigger CollectionPOST /datasets/v3/triggersnapshot_id in the response body
Dataset SubscriptionAutomatic delivery scheduleSnapshot IDs are generated per scheduled run
Snapshot ListGET /datasets/v3/snapshotsList of all snapshots with their IDs
If you don’t have a Snapshot ID yet, start by filtering a dataset Filter Dataset or triggering a collection first. The response will include the snapshot_id you need.
You can check snapshot status before delivering:
curl "https://api.brightdata.com/datasets/snapshots/snap_m2bxug4e2o352v1jv1" \
  -H "Authorization: Bearer YOUR_API_KEY"
The snapshot must be in ready status before delivery.
See Get Snapshot Metadata for full documentation.
The id returned in the response is a delivery job ID. Use it to monitor whether your delivery has completed, failed, or been canceled.
GET https://api.brightdata.com/datasets/v3/delivery/{delivery_id}
FieldTypeDescription
idstringThe delivery job ID
statusstringDelivery status: done, canceled, or failed
delivery_filesarrayList of delivered files with filename and delivery timestamp
Poll this endpoint until status is “done”. For large snapshots with batch_size set, delivery_files will contain multiple entries, one per batch file.
See Monitor Delivery for full documentation.
Here’s the complete flow from triggering a collection to receiving your data:
1

Trigger a collection or filter a dataset

This creates a snapshot and returns a snapshot_id.
curl -X POST "https://api.brightdata.com/datasets/v3/trigger?dataset_id=gd_l1viktl72bvl7bjuj0" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"url": "https://example.com/product/123"}]'
2

Wait for the snapshot to be ready

Poll the snapshot metadata endpoint until status is “ready”.
curl "https://api.brightdata.com/datasets/snapshots/snap_m2bxug4e2o352v1jv1" \
  -H "Authorization: Bearer YOUR_API_KEY"
3

Deliver the snapshot

Call this endpoint with the snapshot ID and your delivery configuration.
curl -X POST "https://api.brightdata.com/datasets/snapshots/snap_m2bxug4e2o352v1jv1/deliver" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "deliver": {
        "type": "webhook",
        "filename": {"template": "my-data", "extension": "json"},
        "endpoint": "https://example.com/webhook"
      }
  }'
4

Track the delivery

Use the delivery job ID to monitor progress.
curl "https://api.brightdata.com/datasets/v3/delivery/del_abc123xyz" \
  -H "Authorization: Bearer YOUR_API_KEY"

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

Path Parameters

id
string
required

The Snapshot ID to deliver. This is the unique identifier returned when you trigger a collection, filter a dataset, or run a subscription.

Learn more about Snapshot ID.

Example:

"snap_m2bxug4e2o352v1jv1"

Body

application/json
deliver
Microsoft Azure · object

Deliver configuration

compress
boolean
default:false

Deliver file compressed in gzip format

batch_size
integer

Number of records per file. Use this to split large snapshots into multiple smaller files. Files are split by record count. Recommended for snapshots with more than 1 million records. Note: Maximum batch size is 5GB.

Example:

100000

Response

OK

id
string

The delivery job ID. Use this ID to track the delivery status (see Tracking delivery status).