Skip to main content

Building an AI startup?

You might be eligible for our Startup Program. Get fully funded access to the infrastructure you’re reading about right now (up to $20K value).
All 32 tools are enabled by default. To limit the server to some of them, set &groups= or &tools= in Remote MCP, or GROUPS or TOOLS in Local MCP. The group of each tool is listed in the table below.

Bright Data MCP Tools Reference

How do I get structured data from a site with the Bright Data MCP server?

Use the Scraper API tools to run any of thousands of pre-built scrapers and get structured JSON back. The tools are on by default.
  1. Call search_scrapers with a site or data type, for example “amazon reviews” or “linkedin.com”. It returns each matching scraper’s dataset_id and collection methods.
  2. Call get_scraper_details with the dataset_id and one method. It returns the input fields and a sample_input.
  3. Call run_scraper with an input list shaped like sample_input. A collect_by_url method returns one record per input. A discover_by_* method returns up to limit_per_input records per input (default 10). Every record is billed.
  4. If run_scraper returns status running after 45 seconds, call get_scraper_progress until the run is ready, then call get_scraper_results.
Records with an error field explain inputs that failed, such as a URL of the wrong type. If a run fails, scrape_as_markdown works on the same URL as a fallback.

How do I search datasets by filter with the Bright Data MCP server?

Use list_dataset_fields and search_dataset to find many records that match your criteria, as opposed to run_scraper, which collects fresh records by URL. The search runs directly against the dataset with no snapshot step and returns up to 10 records per call. Under the hood, list_dataset_fields calls the Get dataset metadata endpoint and search_dataset calls the Search dataset endpoint of the Marketplace Dataset API. Three datasets are searchable: The workflow is two calls:
  1. Call list_dataset_fields with a dataset_id. It returns each filterable field’s name, type and description.
  2. Call search_dataset with the same dataset_id and a filter.
A filter is a tree with a maximum nesting depth of three. Each node is either a group, {"operator": "and" | "or", "filters": [...]}, or a leaf, {"name": ..., "operator": ..., "value": ...}. See filter syntax for the full list of leaf operators and their behavior. For example, this filter matches profiles in the United States whose position mentions data engineering:
The response contains hits (the matching records), total_hits and took (search time in milliseconds). To page through more than 10 results, set sort to "default" or a custom sort like [{"timestamp": "asc"}], then pass the response’s search_after cursor into the next call. Set sort to "random" to sample records instead.