/trigger endpoint to scrape more than the recommended 20 URLs in one job, run discovery collections or deliver results to a webhook or cloud storage. The workflow is the same for every Bright Data scraper: trigger, poll, download. Only the dataset_id changes.
Prerequisites
- A Bright Data account with an active API key
- The
dataset_idfor the scraper you want to run, from the table below - Familiarity with the synchronous request flow for your scraper, for example LinkedIn Scraper API endpoints
Which dataset ID do I use?
Every scraper has its owndataset_id. The examples on this page use Instagram profiles discovered by username (gd_l1vikfch901nx3by4). Substitute the ID for the platform you are scraping.
Each scraper exposes several endpoints, for example Amazon has separate IDs for products, reviews and sellers. The full list for each platform is on its introduction page, and every ID is browsable in the scraper library.
For the dataset ID of every pre-built scraper, including sites without an introduction page, read scrapers.json. It lists the dataset ID, name, domain and collection methods of each scraper and refreshes daily. scrapers-full.json adds the input schema and output fields of every collection method. To get the same details through the API, call Get all scrapers with your API key.
Step 1: Trigger the collection
Send aPOST request to the /trigger endpoint with an object body holding your inputs:
200 response with a snapshot_id:
Step 2: Monitor progress
Poll the snapshot status until it showsready, and stop if it shows failed or canceled. This takes 30 seconds to several minutes depending on the number of URLs.
Step 3: Download results
Once the status isready, download the scraped data:
Skip polling with webhooks
If you don’t want to poll for status, add anendpoint parameter to receive results automatically:
Limits and constraints
Input size, running job, download and delivery limits for the Scraper API are listed in one table on Scraper API limits. Thedeadline query parameter sets how long the trigger request waits before returning an error: a duration such as 3m, 15min or 2h, or an ISO timestamp such as 2026-09-30T18:00:00.000Z. Without it the request returns a snapshot_id at once.
How to limit records per input
When running a discovery collection, you can cap the number of results returned per input. In the API, setlimit_per_input in the request body, next to input.
With "limit_per_input": 10, each input returns at most 10 records.
Troubleshooting
Scraper API HTTP errors and record errors are listed with their meaning on Scraper API error codes.Getting a 429 Too Many Requests error?
You receive429 Too Many Requests when you exceed the concurrent job limit, 5,000 active jobs or snapshots. Bright Data blacklists any IP that collects 25 or more 429 responses within 5 minutes, and a blacklisted IP is blocked from every API request until support clears it. So a 429 is a signal to slow down, not to retry at once.
- Stop sending new requests as soon as you receive a 429.
- Wait before retrying: the number of seconds in the
Retry-Afterheader if present, otherwise exponential backoff of 2, 4, 8, 16 and 32 seconds. - Reduce concurrency if 429s keep coming; you are over the limit.
Snapshot status shows ‘failed’?
Check that all input URLs are valid for the scraper you are calling. A LinkedIn URL sent to the Amazondataset_id fails. Review the error details in the snapshot response or in the Logs tab of your Bright Data dashboard.
Results are incomplete or missing some URLs?
Some URLs may fail individually while the overall job succeeds. Check the snapshot response for anyerrors field. Retry failed URLs in a separate request.
FAQ
How many URLs can I send in one async request?
Async requests accept up to 1 GB of input data per job, which is tens of thousands of URLs. Bright Data recommends the synchronous endpoint for 20 URLs or fewer when you want the results in the same response. The 20-URL figure is a best practice, not a hard limit.How are inputs processed across concurrent requests?
All inputs are processed in parallel. Processing capacity is shared equally across all running jobs for a given scraper. Start time does not affect priority either, jobs are not processed in first-in-first-out or last-in-first-out order. A job started an hour ago and a job started a minute ago receive the same share of capacity.Do I need a different dataset ID for each platform?
Yes. Thedataset_id query parameter selects both the platform and the endpoint, for example Amazon products versus Amazon reviews. The table above lists the primary ID per platform, and each platform’s introduction page lists the rest.