Frequently asked general questions
What is a Bright Data web scraper?
What is a Bright Data web scraper?
What is Bright Data Scraper Studio?
What is Bright Data Scraper Studio?
What is the difference between Scraper Studio and the Scrapers Library?
What is the difference between Scraper Studio and the Scrapers Library?
Can one scraper collect data from multiple websites?
Can one scraper collect data from multiple websites?
next_stage()) or build one scraper per site.Can Scraper Studio discover URLs, or only scrape URLs I provide?
Can Scraper Studio discover URLs, or only scrape URLs I provide?
- PDP: give a list of product URLs you already have; get one row per URL.
- Discovery: give a category or listing URL; get one row per item on that listing.
- Discovery + PDP: give a category or listing URL; get full per-product detail for every item.
- Search: give a keyword and optional country when you have no URLs at all.
next_stage(), rerun_stage() and load_sitemap(). See What can the AI Agent build? and Functions.Can Scraper Studio scrape mobile apps?
Can Scraper Studio scrape mobile apps?
emulate_device('iPhone X') so the target site serves its mobile web pages. Native iOS or Android app data is out of scope. See Functions.Inputs, outputs, and schemas
What is a scraper input?
What is a scraper input?
What is a scraper output?
What is a scraper output?
Why did I receive more records than inputs?
Why did I receive more records than inputs?
What is a search scraper?
What is a search scraper?
What is a discovery scraper?
What is a discovery scraper?
What do I do if I updated the schema of a managed scraper while Bright Data is still working on it?
What do I do if I updated the schema of a managed scraper while Bright Data is still working on it?
input(output)_schema_incompatible error.To trigger the scraper anyway and ignore the schema mismatch, click Trigger anyway in the UI or add a parameter to your API request:- Output schema incompatible:
override_incompatible_schema=1 - Input schema incompatible:
override_incompatible_input_schema=1
Building and editing scrapers
How do I start building a scraper?
How do I start building a scraper?
- Build with the AI Agent: describe the data you want in plain language. See Scraper Studio AI Agent.
- Build in the IDE: write JavaScript directly. See Develop a scraper with the IDE.
- Request a managed scraper: Bright Data’s data team builds and maintains the scraper for you.
Can I edit the code in the IDE after the AI Agent builds a scraper?
Can I edit the code in the IDE after the AI Agent builds a scraper?
How does the AI Agent build a scraper?
How does the AI Agent build a scraper?
Do I own the scraper code, and can I export it?
Do I own the scraper code, and can I export it?
Does Scraper Studio work on JavaScript-heavy or dynamic pages?
Does Scraper Studio work on JavaScript-heavy or dynamic pages?
Self-Healing
Is Self-Healing automatic, or do I trigger it?
Is Self-Healing automatic, or do I trigger it?
- Control panel: open the scraper in the Bright Data Scraper Studio IDE, describe the fix in plain language and accept the AI-generated diff. See Self-Healing tool.
- Bright Data CLI: run
bdata scraper heal <collector_id>thenbdata scraper approve. Add--auto-approvefor unattended workflows. See Build a scraper with the Bright Data CLI. - Bright Data API: call
POST /dca/collectors/{collector_id}/refactor_template. See Trigger Self-Healing.
Running and triggering scrapers
What are the options for triggering a scraper run?
What are the options for triggering a scraper run?
- By API: regular request, queue request, or replace request
- Manually: from the control panel
- On a schedule: hourly, daily, weekly, or custom
What is a queued API request?
What is a queued API request?
What is the parallel job limit?
What is the parallel job limit?
How do I debug a real-time scraper?
How do I debug a real-time scraper?
Blocking and unblocking
How does Scraper Studio handle blocking and CAPTCHAs?
How does Scraper Studio handle blocking and CAPTCHAs?
solve_captcha() to solve CAPTCHAs, detect_block() and blocked() to detect and report blocks, and country() to route a request through a specific country when a site is geo-restricted. See Functions.Billing and limits
What is a CPM in Scraper Studio billing?
What is a CPM in Scraper Studio billing?
Which operations count as a billable event?
Which operations count as a billable event?
navigate()request()load_more()- Media file download (billed per GB, separate from CPM)
Does Scraper Studio have its own free trial allotment?
Does Scraper Studio have its own free trial allotment?
Snapshots and data retention
How long are snapshots available after a collection?
How long are snapshots available after a collection?
- Batch collections: 16 days
- Real-time collections: 7 days
How to report issues
How do I report an issue with a scraper?
How do I report an issue with a scraper?
- Data (missing fields, missing records, parsing errors): routed to the scraper engineer. Available only for managed scrapers.
- Collection and delivery (incomplete delivery, slow scraper): routed to the support team.
- Other (UI issue, product question): routed to the account manager.
What information should I include in a bug report?
What information should I include in a bug report?
- The issue category (wrong data, missing records, delivery problem, IDE issue, other)
- A description of the exact problem
- The affected job ID
- A screenshot or file that shows the issue, if possible
How do I know Bright Data is working on a managed-scraper request?
How do I know Bright Data is working on a managed-scraper request?