Start a batch scrape
brightdata.web.scrape.job.startStart an asynchronous scraping job over a batch of URLs and get a snapshot id back
- Preço
- $0.0015/resultPelo preço de tabela
- Taxa de sucesso
- —Ainda não há dados da taxa de sucessoAinda não há dados da taxa de sucesso
- Latência p50
- ——
- Última verificação
- 28 de jul. de 2026Verificado e funcionando
POSThttps://toolswitch.dev/v1/tools/brightdata.web.scrape.job.start?dataset_id=gd_l1vikfch901nx3by4Beta- Usa a cota da plataforma
- Resposta síncrona
- Lê dados públicos
Parâmetros
returns {snapshot_id: "s_…"} immediately; nothing is billed until records are delivered. Always set limit_per_input on a discovery run — a discover_new job with no cap decides for itself how many records to produce, and each one is billable
| Parâmetro | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| Parâmetros de consulta | ||||
type | string | Opcional | set to discover_new to run a discovery crawl instead of scraping the given URLs | discover_new |
format | string | Opcional | json | ndjson | jsonl | csv | |
notify | booleano | Opcional | fire a webhook when the job finishes | |
endpoint | string | Opcional | webhook URL used when notify is set | |
dataset_id | string | Obrigatório | which managed scraper to run | gd_l1vikfch901nx3by4 |
auth_header | string | Opcional | Authorization header value Bright Data should send to your webhook | |
discover_by | string | Opcional | with type=discover_new: keyword | best_sellers_url | category_url | location | |
include_errors | booleano | Opcional | include a per-input error report in the snapshot | |
limit_per_input | inteiro | Opcional | cap records produced per input row — the main guard on discovery spend | 10 |
custom_output_fields | string | Opcional | pipe-separated field list | |
uncompressed_webhook | booleano | Opcional | ||
limit_multiple_results | inteiro | Opcional | cap total records across the whole job | |
| Corpo (JSON) | ||||
input | matriz | Obrigatório | one object per target, usually {url: …}. The body is posted as a BARE JSON array of these — `input` is a label for the array here, not a wrapper field to send | [{"url":"https://www.instagram.com/instagram"}] |
- Parâmetros de consulta
typestringOpcionalset to discover_new to run a discovery crawl instead of scraping the given URLs
Exemplo:
discover_newformatstringOpcionaljson | ndjson | jsonl | csv
notifybooleanoOpcionalfire a webhook when the job finishes
endpointstringOpcionalwebhook URL used when notify is set
dataset_idstringObrigatóriowhich managed scraper to run
Exemplo:
gd_l1vikfch901nx3by4auth_headerstringOpcionalAuthorization header value Bright Data should send to your webhook
discover_bystringOpcionalwith type=discover_new: keyword | best_sellers_url | category_url | location
include_errorsbooleanoOpcionalinclude a per-input error report in the snapshot
limit_per_inputinteiroOpcionalcap records produced per input row — the main guard on discovery spend
Exemplo:
10custom_output_fieldsstringOpcionalpipe-separated field list
uncompressed_webhookbooleanoOpcionallimit_multiple_resultsinteiroOpcionalcap total records across the whole job
- Corpo (JSON)
inputmatrizObrigatórioone object per target, usually {url: …}. The body is posted as a BARE JSON array of these — `input` is a label for the array here, not a wrapper field to send
Exemplo:
[{"url":"https://www.instagram.com/instagram"}]
Resposta de exemplo
{
"snapshot_id": "sd_ms4lyair2704eraq24"
}Exemplos de código
Substitua $TOOLSWITCH_KEY pela chave criada no console.
curl -X POST 'https://toolswitch.dev/v1/tools/brightdata.web.scrape.job.start?dataset_id=gd_l1vikfch901nx3by4' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '[{"url":"https://www.instagram.com/instagram"}]'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/brightdata.web.scrape.job.start?dataset_id=gd_l1vikfch901nx3by4",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("[{\"url\":\"https://www.instagram.com/instagram\"}]"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/brightdata.web.scrape.job.start?dataset_id=gd_l1vikfch901nx3by4", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("[{\"url\":\"https://www.instagram.com/instagram\"}]")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());Esta API de gateway está em Beta; a URL e a autenticação podem mudar. Os parâmetros do exemplo são dados de amostra. As chamadas são cobradas a $0.0015/result, incluindo a taxa de serviço.