curl --request PUT \
--url https://api.brightdata.com/datasets/views/delivery_settings/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"views": [
"v_id1",
"v_id2"
],
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": false,
"deliver": {
"type": "s3",
"bucket": "bucket_name",
"credentials": {
"aws-access-key": "AWS_ACCESS_KEY",
"aws-secret-key": "AWS_SECRET_KEY"
},
"region": "us-east-1"
},
"tar": true,
"compress": true,
"batch_size": 1000
}
'import requests
url = "https://api.brightdata.com/datasets/views/delivery_settings/bulk"
payload = {
"views": ["v_id1", "v_id2"],
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": False,
"deliver": {
"type": "s3",
"bucket": "bucket_name",
"credentials": {
"aws-access-key": "AWS_ACCESS_KEY",
"aws-secret-key": "AWS_SECRET_KEY"
},
"region": "us-east-1"
},
"tar": True,
"compress": True,
"batch_size": 1000
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
views: ['v_id1', 'v_id2'],
filename: {extension: 'json', template: 'bd_{[datetime]}', tz_offset: '+00:00'},
flatten_csv: false,
deliver: {
type: 's3',
bucket: 'bucket_name',
credentials: {'aws-access-key': 'AWS_ACCESS_KEY', 'aws-secret-key': 'AWS_SECRET_KEY'},
region: 'us-east-1'
},
tar: true,
compress: true,
batch_size: 1000
})
};
fetch('https://api.brightdata.com/datasets/views/delivery_settings/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.brightdata.com/datasets/views/delivery_settings/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'views' => [
'v_id1',
'v_id2'
],
'filename' => [
'extension' => 'json',
'template' => 'bd_{[datetime]}',
'tz_offset' => '+00:00'
],
'flatten_csv' => false,
'deliver' => [
'type' => 's3',
'bucket' => 'bucket_name',
'credentials' => [
'aws-access-key' => 'AWS_ACCESS_KEY',
'aws-secret-key' => 'AWS_SECRET_KEY'
],
'region' => 'us-east-1'
],
'tar' => true,
'compress' => true,
'batch_size' => 1000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/datasets/views/delivery_settings/bulk"
payload := strings.NewReader("{\n \"views\": [\n \"v_id1\",\n \"v_id2\"\n ],\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"bucket_name\",\n \"credentials\": {\n \"aws-access-key\": \"AWS_ACCESS_KEY\",\n \"aws-secret-key\": \"AWS_SECRET_KEY\"\n },\n \"region\": \"us-east-1\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.brightdata.com/datasets/views/delivery_settings/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"views\": [\n \"v_id1\",\n \"v_id2\"\n ],\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"bucket_name\",\n \"credentials\": {\n \"aws-access-key\": \"AWS_ACCESS_KEY\",\n \"aws-secret-key\": \"AWS_SECRET_KEY\"\n },\n \"region\": \"us-east-1\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/datasets/views/delivery_settings/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"views\": [\n \"v_id1\",\n \"v_id2\"\n ],\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"bucket_name\",\n \"credentials\": {\n \"aws-access-key\": \"AWS_ACCESS_KEY\",\n \"aws-secret-key\": \"AWS_SECRET_KEY\"\n },\n \"region\": \"us-east-1\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}"
response = http.request(request)
puts response.read_body{
"view_ids": [
"v_id1",
"v_id2"
]
}{
"error": "Invalid delivery settings"
}Bulk update view delivery settings
Apply one delivery configuration to multiple Bright Data dataset views in a single request. Spans 250+ domains in the Bright Data marketplace.
curl --request PUT \
--url https://api.brightdata.com/datasets/views/delivery_settings/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"views": [
"v_id1",
"v_id2"
],
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": false,
"deliver": {
"type": "s3",
"bucket": "bucket_name",
"credentials": {
"aws-access-key": "AWS_ACCESS_KEY",
"aws-secret-key": "AWS_SECRET_KEY"
},
"region": "us-east-1"
},
"tar": true,
"compress": true,
"batch_size": 1000
}
'import requests
url = "https://api.brightdata.com/datasets/views/delivery_settings/bulk"
payload = {
"views": ["v_id1", "v_id2"],
"filename": {
"extension": "json",
"template": "bd_{[datetime]}",
"tz_offset": "+00:00"
},
"flatten_csv": False,
"deliver": {
"type": "s3",
"bucket": "bucket_name",
"credentials": {
"aws-access-key": "AWS_ACCESS_KEY",
"aws-secret-key": "AWS_SECRET_KEY"
},
"region": "us-east-1"
},
"tar": True,
"compress": True,
"batch_size": 1000
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
views: ['v_id1', 'v_id2'],
filename: {extension: 'json', template: 'bd_{[datetime]}', tz_offset: '+00:00'},
flatten_csv: false,
deliver: {
type: 's3',
bucket: 'bucket_name',
credentials: {'aws-access-key': 'AWS_ACCESS_KEY', 'aws-secret-key': 'AWS_SECRET_KEY'},
region: 'us-east-1'
},
tar: true,
compress: true,
batch_size: 1000
})
};
fetch('https://api.brightdata.com/datasets/views/delivery_settings/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.brightdata.com/datasets/views/delivery_settings/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'views' => [
'v_id1',
'v_id2'
],
'filename' => [
'extension' => 'json',
'template' => 'bd_{[datetime]}',
'tz_offset' => '+00:00'
],
'flatten_csv' => false,
'deliver' => [
'type' => 's3',
'bucket' => 'bucket_name',
'credentials' => [
'aws-access-key' => 'AWS_ACCESS_KEY',
'aws-secret-key' => 'AWS_SECRET_KEY'
],
'region' => 'us-east-1'
],
'tar' => true,
'compress' => true,
'batch_size' => 1000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/datasets/views/delivery_settings/bulk"
payload := strings.NewReader("{\n \"views\": [\n \"v_id1\",\n \"v_id2\"\n ],\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"bucket_name\",\n \"credentials\": {\n \"aws-access-key\": \"AWS_ACCESS_KEY\",\n \"aws-secret-key\": \"AWS_SECRET_KEY\"\n },\n \"region\": \"us-east-1\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.brightdata.com/datasets/views/delivery_settings/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"views\": [\n \"v_id1\",\n \"v_id2\"\n ],\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"bucket_name\",\n \"credentials\": {\n \"aws-access-key\": \"AWS_ACCESS_KEY\",\n \"aws-secret-key\": \"AWS_SECRET_KEY\"\n },\n \"region\": \"us-east-1\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/datasets/views/delivery_settings/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"views\": [\n \"v_id1\",\n \"v_id2\"\n ],\n \"filename\": {\n \"extension\": \"json\",\n \"template\": \"bd_{[datetime]}\",\n \"tz_offset\": \"+00:00\"\n },\n \"flatten_csv\": false,\n \"deliver\": {\n \"type\": \"s3\",\n \"bucket\": \"bucket_name\",\n \"credentials\": {\n \"aws-access-key\": \"AWS_ACCESS_KEY\",\n \"aws-secret-key\": \"AWS_SECRET_KEY\"\n },\n \"region\": \"us-east-1\"\n },\n \"tar\": true,\n \"compress\": true,\n \"batch_size\": 1000\n}"
response = http.request(request)
puts response.read_body{
"view_ids": [
"v_id1",
"v_id2"
]
}{
"error": "Invalid delivery settings"
}views array. All listed views receive the same deliver, filename, tar, compress and batch_size values, so use this endpoint when you want several views to deliver to the same destination with identical packaging rules.
deliver object must match the schema returned by Get destination type schema for the destination you select. The response returns view_ids, the full list of views that were updated.Authorizations
Use your Bright Data API Key as a Bearer token in the Authorization header.
How to authenticate:
- Obtain your API Key from the Bright Data account settings at https://brightdata.com/cp/setting/users
- Include the API Key in the Authorization header of your requests
- Format:
Authorization: Bearer YOUR_API_KEY
Example:
Authorization: Bearer YOUR_API_KEY
Learn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication
Body
Delivery configuration for a dataset view. Used by the view delivery settings GET, PUT and bulk PUT endpoints.
The list of view IDs to update.
["v_id1", "v_id2"]
Delivery destination configuration. The type field selects the destination (for example s3, sftp, webhook) and the remaining fields depend on the destination schema returned by /datasets/delivery_settings/{destination_type}/schema.
- Microsoft Azure
- Build
- Email
- Google Cloud
- Google Cloud PubSub
- Amazon S3
- SFTP
- Snowflake
- Webhook
- Aliyun Object Storage Service
Show child attributes
Show child attributes
Configuration for the output file name and format.
Show child attributes
Show child attributes
When true, nested fields are flattened for CSV output.
When true, delivered files are bundled into a TAR archive.
When true, delivered files are gzip compressed.
Maximum records per batch file. Use to split large deliveries into smaller files. Maximum batch size is 5GB.
1000
Response
Views updated
Was this page helpful?