List Scraper Studio scrapers
curl --request GET \
--url https://api.brightdata.com/dca/collectors_list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brightdata.com/dca/collectors_list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brightdata.com/dca/collectors_list', 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/dca/collectors_list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/dca/collectors_list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.brightdata.com/dca/collectors_list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/dca/collectors_list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"total": 5,
"offset": 0,
"limit": 50,
"data": [
{
"id": "c_example1234567890",
"name": "example.com",
"active": false,
"deliver": {
"type": "api_pull"
},
"output_schema": null
},
{
"id": "c_example0987654321",
"name": "example.com",
"active": true,
"last_run": "2026-06-22T11:41:56.660Z",
"deliver": {
"type": "api_pull"
},
"output_schema": {
"type": "object",
"fields": {
"product_title": {
"type": "text",
"active": true
},
"brand": {
"type": "text",
"active": true
},
"rating": {
"type": "number",
"active": true
},
"image_urls": {
"type": "array",
"active": true,
"items": {
"type": "url"
}
},
"input": {
"type": "input",
"active": true
},
"warning": {
"type": "warning",
"active": true
},
"error": {
"type": "error",
"active": true
}
}
}
}
]
}Manage scrapers & jobs
List Scraper Studio scrapers
GET /dca/collectors_list returns the Scraper Studio scrapers in your account, with each scraper’s ID, name, active status, delivery config and output schema.
GET
/
dca
/
collectors_list
List Scraper Studio scrapers
curl --request GET \
--url https://api.brightdata.com/dca/collectors_list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brightdata.com/dca/collectors_list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brightdata.com/dca/collectors_list', 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/dca/collectors_list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/dca/collectors_list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.brightdata.com/dca/collectors_list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/dca/collectors_list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"total": 5,
"offset": 0,
"limit": 50,
"data": [
{
"id": "c_example1234567890",
"name": "example.com",
"active": false,
"deliver": {
"type": "api_pull"
},
"output_schema": null
},
{
"id": "c_example0987654321",
"name": "example.com",
"active": true,
"last_run": "2026-06-22T11:41:56.660Z",
"deliver": {
"type": "api_pull"
},
"output_schema": {
"type": "object",
"fields": {
"product_title": {
"type": "text",
"active": true
},
"brand": {
"type": "text",
"active": true
},
"rating": {
"type": "number",
"active": true
},
"image_urls": {
"type": "array",
"active": true,
"items": {
"type": "url"
}
},
"input": {
"type": "input",
"active": true
},
"warning": {
"type": "warning",
"active": true
},
"error": {
"type": "error",
"active": true
}
}
}
}
]
}Use
GET /dca/collectors_list to retrieve the Bright Data Scraper Studio scrapers available in your account. The response includes scraper IDs, names, active status, delivery configuration, last run time and the output schema when available.
Use this endpoint to discover the scraper
id values in your account, then pass an id as the collector parameter when you trigger a scraper.Search scrapers
Use thesearch query parameter to return only scrapers whose name matches a search term, for example ?search=amazon. Omit search to return every scraper in the account.
When to use this endpoint
- Look up the
idof a scraper before triggering a batch or real-time job - Build a picker that lists every scraper in your account
- Audit which scrapers are
activeand which have run before (last_run) - Read the
output_schemato map returned fields before parsing records
Errors
| Status | Cause | Fix |
|---|---|---|
401 Unauthorized | Token missing, malformed or revoked | Re-copy from Account Settings → API Tokens |
5xx | Transient Bright Data API error | Retry with exponential backoff, for example 1s, 2s, 4s |
Related
- List Jobs: list the jobs a scraper has run
- Trigger async batch collection: pass the scraper
idas thecollectorparameter - Job data: job-level metadata for a triggered scraper
- Receive batch data: download the records a scraper produced
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 b5648e1096c6442f60a6c4bbbe73f8d2234d3d8324554bd6a7ec8f3f251f07df
Learn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication
Query Parameters
Filters the scraper list by the provided search term.
Example:
"amazon"
Response
200 - application/json
A paginated list of Scraper Studio scrapers.
Was this page helpful?