The Bright Data connector lets your AI agent act in each user's Bright Data account. Each user connects their own Bright Data access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 43 tools.
- Tools
- 43
- What they doRead · write · destructive
- 34 · 9 · 034 read9 write0 destructive
- Users sign in with
- Access token
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Bright Data connection
In AgentKit > Connections, create a Bright Data connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'brightdata'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Bright Data:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'brightdata_get_account_bandwidth',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "brightdata"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Bright Data:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="brightdata_get_account_bandwidth",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Bright Data credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolbrightdata_download_marketplace_snapshotDownload the records of a ready Bright Data Marketplace dataset snapshot.Read-onlyDownload Marketplace Snapshot
Download the records of a ready Bright Data Marketplace dataset snapshot. Returns the records (a JSON array, wrapped as array in JSON output, by default) or the data in the chosen format. Use this after brightdata_get_marketplace_snapshot reports ready. Use brightdata_download_snapshot for scraper job snapshots.
Inputs
snapshot_idstringrequired- Marketplace snapshot ID returned by brightdata_filter_marketplace_dataset (starts with snap_). Example: snap_m2bxug4e2o352v1jv1
batch_sizeinteger- Split a large snapshot into batches of this many records (minimum 1000) and download one per call with part. Example: 1000
formatstring- Data format. json (the tool default) returns a JSON array; the server default jsonl and ndjson return one record per line; csv returns a CSV table.one of
jsonndjsonjsonlcsvdefaultjson partinteger- Which batch to download when batch_size is set, starting at 1. Example: 2
brightdata_download_snapshotDownload the records of a finished Bright Data scraper job (snapshot).Read-onlyDownload Snapshot
Download the records of a finished Bright Data scraper job (snapshot). Returns the collected records (a JSON array, wrapped as array in JSON output, by default) or the data in the chosen format; a not-ready snapshot returns a status message instead. Use this after brightdata_get_snapshot_progress reports ready. Use brightdata_download_marketplace_snapshot for Marketplace dataset snapshots (IDs starting with snap_).
Inputs
snapshot_idstringrequired- Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
batch_sizeinteger- Split a large snapshot into batches of this many records (minimum 1000) and download one batch per call with part. Example: 1000
formatstring- Data format. json (the tool default) returns a JSON array; the server default ndjson and jsonl return one record per line; csv returns a CSV table.one of
jsonndjsonjsonlcsvdefaultjson partinteger- Which batch to download when batch_size is set, starting at 1. Example: 2
brightdata_get_account_bandwidthGet bandwidth statistics for every zone on the Bright Data account over a time range.Read-onlyGet Account Bandwidth
Get bandwidth statistics for every zone on the Bright Data account over a time range. Returns per-zone bandwidth data with sums and last-update timestamps. Use this for an account-wide traffic view. Use brightdata_get_zone_bandwidth for a single zone.
Inputs
fromstring- Start of the range, YYYY-MM-DDTHH:MM:SS. Example: 2026-07-01T00:00:00
tostring- End of the range, YYYY-MM-DDTHH:MM:SS. Example: 2026-07-31T00:00:00
brightdata_get_account_statusCheck whether the Bright Data account is active and can make requests.Read-onlyGet Account Status
Check whether the Bright Data account is active and can make requests. Returns status, customer (account ID), can_make_requests, auth_fail_reason and the caller's ip. Use this to diagnose authentication or account problems. Use brightdata_get_balance for funds.
Inputs
This tool takes no inputs.
brightdata_get_balanceGet the Bright Data account balance.Read-onlyGet Balance
Get the Bright Data account balance. Returns balance, credit, prepayment and pending_costs, all in USD. Use this before large jobs to confirm funds. Use brightdata_get_zone_cost for spend per zone. Requires an API key with Admin or Finance permission.
Inputs
This tool takes no inputs.
brightdata_get_browser_sessionGet the details of one Bright Data Browser API session.Read-onlyGet Browser Session
Get the details of one Bright Data Browser API session. Returns session with session_id, api_name, status, URLs, timing and bandwidth. Use this for one session. Use brightdata_list_browser_sessions to find session IDs.
Inputs
session_idstringrequired- Browser API session ID, from brightdata_list_browser_sessions or the Browser.getSessionId CDP command. Example: 2c3f1a7e9b0d4e6f
brightdata_get_dataset_metadataGet the field definitions of a Bright Data Marketplace dataset.Read-onlyGet Dataset Metadata
Get the field definitions of a Bright Data Marketplace dataset. Returns id and a fields object describing each field's type, description and whether it is active or required. Use this to learn field names before building a filter for brightdata_search_marketplace_dataset or brightdata_filter_marketplace_dataset.
Inputs
dataset_idstringrequired- Marketplace dataset ID (starts with gd_). Find it with brightdata_list_marketplace_datasets. Example: gd_l1viktl72bvl7bjuj0
brightdata_get_marketplace_snapshotGet the status and details of a Bright Data Marketplace dataset snapshot.Read-onlyGet Marketplace Snapshot
Get the status and details of a Bright Data Marketplace dataset snapshot. Returns id, created, status (scheduled, building, ready or failed), dataset_id, dataset_size, file_size, cost and any error. Use this to poll a snapshot from brightdata_filter_marketplace_dataset. Use brightdata_get_snapshot_progress for scraper job snapshots (IDs starting with s_).
Inputs
snapshot_idstringrequired- Marketplace snapshot ID returned by brightdata_filter_marketplace_dataset (starts with snap_). Example: snap_m2bxug4e2o352v1jv1
brightdata_get_serp_resultCollect the results of a background SERP API search.Read-onlyGet SERP Result
Collect the results of a background SERP API search. Returns the search results (parsed JSON with general, organic and other blocks when requested as json) once ready; while running, returns HTTP 202 with a pending message. Use this after brightdata_serp_search_async. Use brightdata_get_unlock_result for background page fetches.
Inputs
response_idstringrequired- Job ID returned by brightdata_serp_search_async. Example: s4t7w3619285042ra9dke1m8qx
zonestring- SERP API zone the job ran in. Example: serp_api1
brightdata_get_snapshot_inputGet the inputs that were used to start a Bright Data scraper job (snapshot).Read-onlyGet Snapshot Input
Get the inputs that were used to start a Bright Data scraper job (snapshot). Returns the inputs as CSV text, one row per input. Use this to see what a job collected. Use brightdata_get_snapshot_log for job statistics.
Inputs
snapshot_idstringrequired- Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
brightdata_get_snapshot_logGet the run log of a Bright Data scraper job (snapshot).Read-onlyGet Snapshot Log
Get the run log of a Bright Data scraper job (snapshot). Returns id, status, dataset_name, scraper_name, dataset_size, inputs_count, file_size, trigger details, duration and success_rate. Use this for job statistics. Use brightdata_get_snapshot_progress for a quick status check.
Inputs
snapshot_idstringrequired- Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
brightdata_get_snapshot_progressCheck the status of a Bright Data scraper job (snapshot).Read-onlyGet Snapshot Progress
Check the status of a Bright Data scraper job (snapshot). Returns snapshot_id, dataset_id and status (starting, running, ready, failed or canceled), with error_message when it failed. Use this to poll a job started by brightdata_trigger_scrape or brightdata_scrape_sync. Use brightdata_get_snapshot_log for record counts, timing and success rate.
Inputs
snapshot_idstringrequired- Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
brightdata_get_studio_batch_resultGet the results of a Scraper Studio batch collection.Read-onlyGet Studio Batch Result
Get the results of a Scraper Studio batch collection. Returns an array of records when ready; while the batch runs, returns HTTP 202 with status building and a retry message. Use this after brightdata_trigger_studio_batch. Use brightdata_get_studio_realtime_result for real-time runs.
Inputs
idstringrequired- Collection ID returned by brightdata_trigger_studio_batch (starts with j_). Example: j_abc123def456
brightdata_get_studio_jobGet the details of one Scraper Studio job.Read-onlyGet Studio Job
Get the details of one Scraper Studio job. Returns id, status, collector, template, inputs, lines, fails, pages, success_rate, timing (created, started, finished, job_time) and trigger. Use this for one job's statistics. Use brightdata_list_studio_jobs to find job IDs.
Inputs
job_idstringrequired- Scraper Studio job ID (starts with j_). Example: j_ma13y9ay1piehrso8r
brightdata_get_studio_realtime_resultGet the result of a real-time Scraper Studio run.Read-onlyGet Studio Realtime Result
Get the result of a real-time Scraper Studio run. Returns the collected records once ready; otherwise HTTP 202 while the run continues. Use this after brightdata_trigger_studio_realtime or a timed-out brightdata_run_studio_realtime. Use brightdata_get_studio_batch_result for batch runs.
Inputs
response_idstringrequired- Run ID returned by brightdata_trigger_studio_realtime or brightdata_run_studio_realtime. Example: d2t1786372370082rjv3f11k9v18
timeoutstring- Long-poll for up to this long (25s to 50s) instead of returning 202 at once. Example: 30s
brightdata_get_unlock_resultCollect the page from a background Web Unlocker fetch.Read-onlyGet Unlock Result
Collect the page from a background Web Unlocker fetch. Returns status_code, headers and body of the fetched page once ready; while the job runs, returns HTTP 202 with a pending message. Use this after brightdata_unlock_url_async. Use brightdata_get_serp_result for background SERP searches.
Inputs
response_idstringrequired- Job ID returned by brightdata_unlock_url_async. Example: s4t7w3619285042ra9dke1m8qx
zonestring- Web Unlocker zone the job ran in. Example: web_unlocker1
brightdata_get_unlocker_success_rateGet Web Unlocker success rates for a domain over a time window (the past 7 days by default).Read-onlyGet Unlocker Success Rate
Get Web Unlocker success rates for a domain over a time window (the past 7 days by default). Returns an object mapping each domain to a success rate between 0 and 1. Use this to check how reliably Web Unlocker reaches a site before fetching it with brightdata_unlock_url.
Inputs
domainstringrequired- Domain to report on, such as example.com, or a wildcard such as example.* for one figure per top-level domain.
from_datetimestring- Start of the window in ISO 8601 UTC, as a date or date-time. Example: 2026-09-20T00:00:00Z
to_datetimestring- End of the window in ISO 8601 UTC, as a date or date-time. Example: 2026-09-24
url_patternstring- Only count requests whose URL contains this text (case-insensitive). Example: /product/
brightdata_get_zoneGet the configuration of one Bright Data zone.Read-onlyGet Zone
Get the configuration of one Bright Data zone. Returns created, plan (product, type, IP and bandwidth settings), ips, permissions and the zone password list. Use this to inspect a zone's plan. Use brightdata_get_zone_cost for its spend and brightdata_list_active_zones to find zone names.
Inputs
zonestringrequired- Zone name to report on, exactly as shown in the control panel or returned by brightdata_list_all_zones. Example: web_unlocker1
brightdata_get_zone_bandwidthGet bandwidth statistics for one Bright Data zone over a time range.Read-onlyGet Zone Bandwidth
Get bandwidth statistics for one Bright Data zone over a time range. Returns per-day bandwidth sums for the zone, keyed by customer and zone type. Use this for traffic of one zone. Use brightdata_get_account_bandwidth for every zone and brightdata_get_zone_cost for spend.
Inputs
zonestringrequired- Zone name to report on, exactly as shown in the control panel or returned by brightdata_list_all_zones. Example: web_unlocker1
fromstring- Start of the range, YYYY-MM-DDTHH:MM:SS. Example: 2026-07-01T00:00:00
tostring- End of the range, YYYY-MM-DDTHH:MM:SS. Example: 2026-07-31T00:00:00
brightdata_get_zone_costGet billed cost and bandwidth for one Bright Data zone over a date range.Read-onlyGet Zone Cost
Get billed cost and bandwidth for one Bright Data zone over a date range. Returns cost and bandwidth figures for the zone, matching the control panel's Usage Overview. Use this for spend per zone. Use brightdata_get_zone_bandwidth for daily traffic and brightdata_get_balance for the account balance.
Inputs
zonestringrequired- Zone name to report on, exactly as shown in the control panel or returned by brightdata_list_all_zones. Example: web_unlocker1
fromstring- Inclusive start date, YYYY-MM-DD. Example: 2026-04-01
tostring- Exclusive end date, YYYY-MM-DD: the day given is not included. For a full month, use the first day of the next month. Example: 2026-05-01
brightdata_list_active_zonesList the active zones on the Bright Data account.Read-onlyList Active Zones
List the active zones on the Bright Data account. Returns an array of zones with name and type (for example unblocker, serp, browser_api, res, dc). Use this to find the zone name that brightdata_unlock_url, brightdata_serp_search and their async variants require. Use brightdata_list_all_zones to include deleted zones.
Inputs
This tool takes no inputs.
brightdata_list_all_zonesList every zone on the Bright Data account, including deleted ones.Read-onlyList All Zones
List every zone on the Bright Data account, including deleted ones. Returns an array of zones with name, type and status (active or deleted). Use this for a full zone inventory. Use brightdata_list_active_zones for zones you can send requests to.
Inputs
This tool takes no inputs.
brightdata_list_browser_sessionsList Bright Data Browser API sessions with filters and paging.Read-onlyList Browser Sessions
List Bright Data Browser API sessions with filters and paging. Returns sessions (session_id, api_name, status, target and end URLs, duration, bandwidth), count, total and pagination. Use this to review remote browser usage. Use brightdata_get_browser_session for one session.
Inputs
api_namestring- Only sessions from this Browser API zone. Example: browser_api1
end_datestring- Only sessions before this date-time (ISO 8601). Example: 2026-07-31T23:59:59Z
end_urlstring- Only sessions that ended on this URL. Example: https://www.example.com/checkout
limitinteger- Sessions to return, up to 100. Server default 50. Example: 20
offsetinteger- Sessions to skip, for paging. Example: 20
orderstring- Sort order. Server default desc.one of
ascdesc sortstring- Sort field. Server default timestamp.one of
timestampdurationbandwidth start_datestring- Only sessions after this date-time (ISO 8601). Example: 2026-07-01T00:00:00Z
statusstring- Filter by session status. Server default all.one of
runningfinishedfailedall target_urlstring- Only sessions whose target URL matches. Example: example.com
brightdata_list_marketplace_datasetsList the ready-made datasets in the Bright Data Dataset Marketplace.Read-onlyList Marketplace Datasets
List the ready-made datasets in the Bright Data Dataset Marketplace. Returns an array of datasets with id, name and size (record count). Use this to find a dataset_id for brightdata_get_dataset_metadata, brightdata_search_marketplace_dataset or brightdata_filter_marketplace_dataset. Use brightdata_list_scrapers for live scrapers.
Inputs
This tool takes no inputs.
brightdata_list_scrapersList the pre-built Bright Data scrapers available to the account, with each scraper's collection methods and input schema.Read-onlyList Scrapers
List the pre-built Bright Data scrapers available to the account, with each scraper's collection methods and input schema. Returns an array of scrapers with id (the dataset_id), name, domain, scraper_type and per-method input and output schemas. Use this to find the dataset_id and input fields for brightdata_scrape_sync or brightdata_trigger_scrape. Use brightdata_list_studio_scrapers for custom Scraper Studio scrapers. Filter by domain or dataset_id: the unfiltered response is several megabytes.
Inputs
dataset_idstring- Return only the scraper with this dataset ID. Example: gd_l1viktl72bvl7bjuj0
domainstring- Return only scrapers for this site domain, exactly as Bright Data lists it. Example: linkedin.com
brightdata_list_snapshotsList the scraper jobs (snapshots) created for one Bright Data pre-built scraper.Read-onlyList Snapshots
List the scraper jobs (snapshots) created for one Bright Data pre-built scraper. Returns an array of snapshots with id, created, status, dataset_id, dataset_size and trigger type. Use this to find earlier jobs for a dataset_id. Use brightdata_get_snapshot_progress to check one known snapshot.
Inputs
dataset_idstringrequired- Scraper dataset ID whose snapshots to list. Example: gd_l1viktl72bvl7bjuj0
from_datestring- Return only snapshots created after this date (YYYY-MM-DD). Example: 2026-01-01
limitinteger- Maximum number of snapshots to return. Server default 1000, maximum 5000. Example: 50
skipinteger- Number of snapshots to skip, for paging. Server default 0. Example: 100
statusstring- Return only snapshots with this status.one of
startingrunningreadyfailedcanceled to_datestring- Return only snapshots created before this date (YYYY-MM-DD). Example: 2026-04-01
trigger_typestring- Filter by how the job was started: API, CP (control panel) or ALL.one of
ALLCPAPI with_totalboolean- Set to true to include the total number of matching snapshots.
brightdata_list_studio_jobsList one Scraper Studio scraper's jobs within a date range.Read-onlyList Studio Jobs
List one Scraper Studio scraper's jobs within a date range. Returns total, offset, limit and data: jobs with id, status, queued, started, finished, inputs, page and line counts and trigger. Use this to review past runs. Use brightdata_get_studio_job for one job's details. Requires a scraper ID from brightdata_list_studio_scrapers.
Inputs
collectorstringrequired- Scraper Studio scraper ID whose jobs to list (starts with c_). Required by Bright Data. Example: c_m9im5n7v82p2y35la
from_datestringrequired- Start date, YYYY-MM-DD. Example: 2026-06-01
to_datestringrequired- End date, YYYY-MM-DD. Example: 2026-07-13
limitinteger- Maximum jobs to return, 0 to 500. Server default 50. Example: 100
offsetinteger- Jobs to skip, for paging. Server default 0. Example: 50
sort_ascinteger- Sort direction: 1 for oldest first, -1 for newest first (server default).one of
1-1
brightdata_list_studio_scrapersList the custom Scraper Studio scrapers on the Bright Data account.Read-onlyList Studio Scrapers
List the custom Scraper Studio scrapers on the Bright Data account. Returns total, offset, limit and data: scrapers with id, name, active, last_run, delivery type and output schema. Use this to find a collector ID for the Scraper Studio tools. Use brightdata_list_scrapers for Bright Data's pre-built scrapers.
Inputs
searchstring- Only return scrapers matching this search term. Example: amazon
brightdata_scrape_syncRun a Bright Data pre-built scraper on a few inputs and wait for the structured records in the same call.Read-onlyScrape Synchronously
Run a Bright Data pre-built scraper on a few inputs and wait for the structured records in the same call. Returns an array of records (wrapped as array in JSON output); if the job runs past about one minute, returns snapshot_id and a message instead. Use this for a handful of URLs or queries on sites with a pre-built scraper (LinkedIn, Amazon, Instagram, TikTok and more). Use brightdata_trigger_scrape for large batches. Get the dataset_id and input fields from brightdata_list_scrapers. On a snapshot_id response, poll brightdata_get_snapshot_progress, then call brightdata_download_snapshot.
Inputs
dataset_idstringrequired- Scraper dataset ID that selects the pre-built scraper to run. Look it up with brightdata_list_scrapers or at https://docs.brightdata.com/scrapers.json; never guess it. Example: gd_l1viktl72bvl7bjuj0 (LinkedIn people profiles).
inputarrayrequired- Array of input objects for the scraper. Each object's fields depend on the scraper and collection method: most collect-by-URL scrapers take a url, while discovery methods take fields such as keyword, location or user_name. Check the scraper's input schema with brightdata_list_scrapers. Example: [{"url": "https://www.linkedin.com/in/satyanadella"}]
custom_output_fieldsstring- Output columns to keep, separated by a pipe (|). Use dot notation for nested fields. Omit to return every field. Example: url|name|about.updated_on
formatstring- Response format. json (the tool default) returns a JSON array the agent can read; the server default ndjson returns one record per line; csv returns a CSV table.one of
jsonndjsoncsvdefaultjson include_errorsboolean- Set to true to include a report of per-input errors (for example dead_page) with the results.
limit_per_inputinteger- Maximum number of records to return for each input. Mostly useful for discovery requests, whose result count is otherwise open-ended. Minimum 1. Example: 10
brightdata_search_companiesSearch Bright Data's Business Search index of company records with a plain-English query or structured field conditions.Read-onlySearch Companies
Search Bright Data's Business Search index of company records with a plain-English query or structured field conditions. Returns req_id, meta (matched count, coverage, offset, limit) and a documents array whose data fields depend on view or fields. Use this to find companies without knowing their URLs; use brightdata_search_people for people, and brightdata_scrape_sync to collect a known profile URL.
Inputs
modestringrequired- How the query is interpreted. instant: fast natural-language search, up to 100 results. smart: natural-language search reranked by relevance, up to 10 results. ludicrous: structured field conditions passed in structured_query, up to 100 results per page.one of
instantsmartludicrous fieldsarray- Exact list of field names to return in each result, instead of a preset view. Unknown field names are rejected with HTTP 400. Example: ["name", "website", "industry", "employees_in_linkedin", "url"]
limitinteger- Maximum number of results in this page. Server default 10; maximum 100 for ludicrous and instant, 10 for smart. Example: 25
offsetinteger- Number of results to skip, for paging. ludicrous accepts up to 1,000; in instant and smart, offset plus limit cannot exceed 100. Example: 10
querystring- Plain-English description of the company to find, up to 200 characters. Required when mode is instant or smart; ignored for ludicrous. Example: US software companies with 50 to 500 employees
sourcestring- Dataset to search within the company category. Omit to use the default source, linkedin_company. Example: linkedin_company
structured_queryobject- Structured search conditions, required when mode is ludicrous. Combine conditions with and, or and not; each condition uses one field operator: equals for exact matches, in for a list of values, range for numeric bounds (>=, <=) and text for keyword matches. See https://docs.brightdata.com/products/business-search/query-syntax for field names. Example: {"and": [{"text": {"industry": "software"}}, {"equals": {"headquarters_country_code": "US"}}]}
viewstring- Which stored fields each result's data object carries: id_only (the default, identifiers only), summary or full. Ignored when fields is set.one of
id_onlysummaryfull
brightdata_search_marketplace_datasetQuery a Bright Data Marketplace dataset in real time and get matching records back in the same call (billed per record returned).Read-onlySearch Marketplace Dataset
Query a Bright Data Marketplace dataset in real time and get matching records back in the same call (billed per record returned). Returns hits (the records), total_hits, took (ms) and, when sort is set, a search_after cursor for the next page. Use this for up to about 1,000 records. Use brightdata_filter_marketplace_dataset for bulk exports or datasets Search does not support. Search currently supports the LinkedIn people profiles (gd_l1viktl72bvl7bjuj0), contact-enriched people (gd_me5ppxjr2ge6icjuh0) and company (gd_l1vikfnt1wgvvqz95w) datasets; others return 404.
Inputs
dataset_idstringrequired- Marketplace dataset ID (starts with gd_). Find it with brightdata_list_marketplace_datasets. Example: gd_l1viktl72bvl7bjuj0
filterobjectrequired- Filter that selects records. A single condition has a field name, an operator and a value; operators are =, !=, >, <, >=, <=, in, not_in, includes, not_includes, array_includes, not_array_includes, plus is_null and is_not_null which take no value. Combine conditions in a group with operator and/or and a filters array, nested up to 3 levels. Get field names from brightdata_get_dataset_metadata. Example: {"operator": "and", "filters": [{"name": "country_code", "operator": "=", "value": "US"}, {"name": "followers", "operator": ">", "value": 1000}]}
search_afterarray- Pagination cursor: pass the search_after array from the previous response to get the next page. Requires sort or sort_fields.
sizeinteger- Number of records to return. Server default 100; best for up to 1,000. Example: 10
sortstring- Ordering: default (needed to get a search_after cursor) or random (for sampling). Ignored when sort_fields is set.one of
defaultrandom sort_fieldsarray- Custom sort as an array of field-to-direction objects. Example: [{"timestamp": "asc"}]
brightdata_search_peopleSearch Bright Data's Business Search index of people (professional profile) records with a plain-English query or structured field conditions.Read-onlySearch People
Search Bright Data's Business Search index of people (professional profile) records with a plain-English query or structured field conditions. Returns req_id, meta (matched count, coverage, offset, limit) and a documents array whose data fields depend on view or fields. Use this to find people without knowing their URLs; use brightdata_search_companies for companies, and brightdata_scrape_sync to collect a known profile URL.
Inputs
modestringrequired- How the query is interpreted. instant: fast natural-language search, up to 100 results. smart: natural-language search reranked by relevance, up to 10 results. ludicrous: structured field conditions passed in structured_query, up to 100 results per page.one of
instantsmartludicrous fieldsarray- Exact list of field names to return in each result, instead of a preset view. Unknown field names are rejected with HTTP 400. Example: ["name", "current_title", "current_company_name", "location", "url"]
limitinteger- Maximum number of results in this page. Server default 10; maximum 100 for ludicrous and instant, 10 for smart. Example: 25
offsetinteger- Number of results to skip, for paging. ludicrous accepts up to 1,000; in instant and smart, offset plus limit cannot exceed 100. Example: 10
querystring- Plain-English description of the people to find, up to 200 characters. Required when mode is instant or smart; ignored for ludicrous. Example: Product managers in the United States with cybersecurity experience
sourcestring- Dataset to search within the people category. Omit to use the default source, linkedin_people. Example: linkedin_people
structured_queryobject- Structured search conditions, required when mode is ludicrous. Combine conditions with and, or and not; each condition uses one field operator: equals for exact matches, in for a list of values, range for numeric bounds (>=, <=) and text for keyword matches. See https://docs.brightdata.com/products/business-search/query-syntax for field names. Example: {"and": [{"text": {"all_text": {"value": "product manager", "mode": "all"}}}, {"equals": {"country_code": "US"}}]}
viewstring- Which stored fields each result's data object carries: id_only (the default, identifiers only), summary or full. Ignored when fields is set.one of
id_onlysummaryfull
brightdata_serp_searchRun a Google, Bing, Yandex or DuckDuckGo search through Bright Data SERP API and get the results page.Read-onlySearch Engine Results
Run a Google, Bing, Yandex or DuckDuckGo search through Bright Data SERP API and get the results page. Returns parsed JSON (general, organic, knowledge and other result blocks) when the search URL contains brd_json=1; otherwise the results page as HTML or markdown. Use this for live search engine results. Use brightdata_unlock_url to fetch a result page, and brightdata_serp_search_async for large batches. Requires a SERP API zone; find its name with brightdata_list_active_zones.
Inputs
formatstringrequired- Response shape. raw returns the results directly (parsed JSON when the URL has brd_json=1). json wraps them as an object with status_code, headers and body.one of
rawjson urlstringrequired- Full search engine URL with the query in it. Add brd_json=1 to get parsed JSON results; add Google parameters such as hl (language), gl (country) and start (offset) as needed. URL-encode the query. Example: https://www.google.com/search?q=best+pizza+in+brooklyn&brd_json=1
zonestringrequired- Name of the SERP API zone to bill the request to, exactly as shown in the Bright Data control panel (Web Access > zones) or returned by brightdata_list_active_zones. Example: serp_api1
countrystring- Two-letter ISO 3166-1 country code to run the search from. Example: us
data_formatstring- Optional transformation of an HTML results page: markdown or screenshot. Leave empty when using brd_json=1.one of
markdownscreenshot
brightdata_unlock_urlFetch any public web page through Bright Data Web Unlocker, which handles CAPTCHAs, blocks and JavaScript rendering.Read-onlyUnlock URL
Fetch any public web page through Bright Data Web Unlocker, which handles CAPTCHAs, blocks and JavaScript rendering. Returns the page as raw HTML, markdown or a screenshot when format is raw; with format json, returns status_code, headers and body. Use this for page content from any site. Use brightdata_serp_search for search engine results and brightdata_scrape_sync for structured records from a supported site. Requires a Web Unlocker zone; find its name with brightdata_list_active_zones.
Inputs
formatstringrequired- Response shape. raw returns the page body directly (HTML, or markdown/PNG when data_format is set). json wraps it as an object with status_code, headers and body.one of
rawjson urlstringrequired- Full URL of the page to fetch, including http:// or https://. Example: https://example.com/products/123
zonestringrequired- Name of the Web Unlocker zone to bill the request to, exactly as shown in the Bright Data control panel (Web Access > zones) or returned by brightdata_list_active_zones. Example: web_unlocker1
countrystring- Two-letter ISO 3166-1 country code to route the request through. Omit to let the zone pick. Example: us
data_formatstring- Optional transformation of the page: markdown converts the HTML to clean markdown (best for LLMs); screenshot returns a PNG of the rendered page. Omit for unchanged HTML.one of
markdownscreenshot methodstring- HTTP method used to request the page. Bright Data documents GET for page fetches; omit to use the server default (GET).
renderboolean- Set to true to force JavaScript rendering in a browser. This can make the request much slower, so use it only for pages that load their content with JavaScript.
brightdata_cancel_snapshotCancel a running Bright Data scraper job (snapshot).WriteCancel Snapshot
Cancel a running Bright Data scraper job (snapshot). Returns OK when the job is canceled. Use this to stop a job started with brightdata_trigger_scrape. Use brightdata_rerun_snapshot to run a finished job again.
- Idempotent
Inputs
snapshot_idstringrequired- Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
brightdata_filter_marketplace_datasetCreate a billable snapshot of the Bright Data Marketplace dataset records that match a filter.WriteFilter Marketplace Dataset
Create a billable snapshot of the Bright Data Marketplace dataset records that match a filter. Returns snapshot_id for the snapshot being built. Use this for bulk exports or datasets that brightdata_search_marketplace_dataset does not cover. Poll brightdata_get_marketplace_snapshot until status is ready, then call brightdata_download_marketplace_snapshot.
Inputs
dataset_idstringrequired- Marketplace dataset ID (starts with gd_). Find it with brightdata_list_marketplace_datasets. Example: gd_l1viktl72bvl7bjuj0
filterobjectrequired- Filter that selects records. A single condition has a field name, an operator and a value; operators are =, !=, >, <, >=, <=, in, not_in, includes, not_includes, array_includes, not_array_includes, plus is_null and is_not_null which take no value. Combine conditions in a group with operator and/or and a filters array, nested up to 3 levels. Get field names from brightdata_get_dataset_metadata. Example: {"operator": "and", "filters": [{"name": "country_code", "operator": "=", "value": "US"}, {"name": "followers", "operator": ">", "value": 1000}]}
records_limitinteger- Maximum number of records to include in the snapshot. Example: 1000
brightdata_rerun_snapshotRun an earlier Bright Data scraper job (snapshot) again with the same inputs.WriteRerun Snapshot
Run an earlier Bright Data scraper job (snapshot) again with the same inputs. Returns snapshot_id for the new job. Use this to refresh data for a previous job. Use brightdata_trigger_scrape to start a job with new inputs.
Inputs
snapshot_idstringrequired- Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
brightdata_run_studio_realtimeRun a Scraper Studio scraper on one input and wait for the result (25 to 50 seconds at most).WriteRun Studio Scraper
Run a Scraper Studio scraper on one input and wait for the result (25 to 50 seconds at most). Returns the collected records; if the scraper is still running at the timeout, returns HTTP 202 with a response_id. Use this for one input you need right away. Use brightdata_trigger_studio_batch for many inputs. On a response_id, collect the result with brightdata_get_studio_realtime_result.
Inputs
collectorstringrequired- Scraper Studio scraper (collector) ID, starting with c_. Find it with brightdata_list_studio_scrapers. Example: c_m9im5n7v82p2y35la
inputobjectrequired- One input object whose fields match the scraper's input schema, for example a url or a keyword. Example: {"url": "https://www.ebay.com/itm/326972541236"}
timeoutstringrequired- How long to wait for the result, between 25s and 50s. Example: 50s
versionstring- Set to dev to run the development version of the scraper instead of the published one.one of
dev
brightdata_serp_search_asyncSubmit a Google search through Bright Data SERP API to run in the background.WriteSearch Engine Results (Async)
Submit a Google search through Bright Data SERP API to run in the background. Returns response_id for the job. Use this for many searches without holding a connection open. Use brightdata_serp_search to get results in the same call. The zone must have Asynchronous requests turned on in its Advanced settings. Collect results with brightdata_get_serp_result.
Inputs
qstringrequired- Search keywords or phrase. Example: best pizza in brooklyn
zonestringrequired- Name of the SERP API zone to bill the request to, exactly as shown in the Bright Data control panel (Web Access > zones) or returned by brightdata_list_active_zones. Asynchronous requests must be enabled on the zone. Example: serp_api1
brd_jsonstring- Response format: json for parsed results, html for the raw results page.one of
jsonhtml countrystring- Two-letter country code to send the request from. Example: us
glstring- Two-letter country code that sets the country of the search. Example: us
hlstring- Two-letter language code for the results page. Example: en
startinteger- Result offset for paging; 10 returns the second page. Example: 10
brightdata_trigger_scrapeStart an asynchronous Bright Data pre-built scraper job (a snapshot) for many inputs, optionally with a discovery phase.WriteTrigger Scrape
Start an asynchronous Bright Data pre-built scraper job (a snapshot) for many inputs, optionally with a discovery phase. Returns snapshot_id for the new job. Use this for large batches or discovery (by keyword, category URL, location and so on). Use brightdata_scrape_sync for a few inputs you need right away. Get the dataset_id and input fields from brightdata_list_scrapers. Then poll brightdata_get_snapshot_progress until status is ready and fetch records with brightdata_download_snapshot.
Inputs
dataset_idstringrequired- Scraper dataset ID that selects the pre-built scraper to run. Look it up with brightdata_list_scrapers or at https://docs.brightdata.com/scrapers.json; never guess it. Example: gd_l1viktl72bvl7bjuj0 (LinkedIn people profiles).
inputarrayrequired- Array of input objects for the scraper. Each object's fields depend on the scraper and collection method: most collect-by-URL scrapers take a url, while discovery methods take fields such as keyword, location or user_name. Check the scraper's input schema with brightdata_list_scrapers. Example: [{"url": "https://www.linkedin.com/in/satyanadella"}]
custom_output_fieldsstring- Output columns to keep, separated by a pipe (|). Use dot notation for nested fields. Omit to return every field. Example: url|name|about.updated_on
discover_bystring- Discovery method, used with type discover_new. Valid values depend on the scraper; common ones are keyword, best_sellers_url, category_url, location, url and user_name. Example: keyword
include_errorsboolean- Set to true to include a report of per-input errors (for example dead_page) with the results.
limit_multiple_resultsinteger- Cap on the total number of records the job collects across all inputs. Minimum 1. Example: 500
limit_per_inputinteger- Maximum number of records to return for each input. Mostly useful for discovery requests, whose result count is otherwise open-ended. Minimum 1. Example: 10
typestring- Set to discover_new to run a discovery collection that finds new records (by keyword, category URL, location and so on) instead of collecting the exact inputs. Pair it with discover_by.one of
discover_new
brightdata_trigger_studio_batchStart a batch collection with a Scraper Studio scraper for one or more inputs.WriteTrigger Studio Batch
Start a batch collection with a Scraper Studio scraper for one or more inputs. Returns collection_id and start_eta. Use this to run a custom scraper over many inputs. Use brightdata_run_studio_realtime for one input returned right away. Fetch results with brightdata_get_studio_batch_result. By default a new batch cancels a running one for the same scraper.
Inputs
collectorstringrequired- Scraper Studio scraper (collector) ID, starting with c_. Find it with brightdata_list_studio_scrapers. Example: c_m9im5n7v82p2y35la
inputsarrayrequired- Array of input objects, each matching the scraper's input schema. For one input, send an array with one object. Example: [{"url": "https://example.com/product/1"}, {"url": "https://example.com/product/2"}]
deadlinestring- Maximum run time, after which Bright Data stops the collection. Use h, m or s, for example 1h, 30m or 45s.
namestring- Human-readable name for this batch. Example: nightly-price-check
versionstring- Set to dev to run the development version of the scraper instead of the published one.one of
dev
brightdata_trigger_studio_realtimeStart a real-time Scraper Studio run on one input without waiting for it.WriteTrigger Studio Scraper (Async)
Start a real-time Scraper Studio run on one input without waiting for it. Returns response_id for the run. Use this to queue single-input runs. Use brightdata_run_studio_realtime to wait for the result in the same call. Collect the result with brightdata_get_studio_realtime_result.
Inputs
collectorstringrequired- Scraper Studio scraper (collector) ID, starting with c_. Find it with brightdata_list_studio_scrapers. Example: c_m9im5n7v82p2y35la
inputobjectrequired- One input object whose fields match the scraper's input schema, for example a url or a keyword. Example: {"url": "https://www.ebay.com/itm/326972541236"}
versionstring- Set to dev to run the development version of the scraper instead of the published one.one of
dev
brightdata_unlock_url_asyncSubmit a Web Unlocker page fetch to run in the background instead of waiting for it.WriteUnlock URL (Async)
Submit a Web Unlocker page fetch to run in the background instead of waiting for it. Returns response_id for the job. Use this for slow pages or many fetches. Use brightdata_unlock_url to get the page in the same call. The zone must have Asynchronous requests turned on in its Advanced settings. Collect the page with brightdata_get_unlock_result.
Inputs
urlstringrequired- Full URL of the page to fetch, including https://. Example: https://example.com/products/123
zonestringrequired- Name of the Web Unlocker zone to bill the request to, exactly as shown in the Bright Data control panel (Web Access > zones) or returned by brightdata_list_active_zones. Asynchronous requests must be enabled on the zone. Example: web_unlocker1
bodystring- Raw request body to send to the target page, for POST requests. Example: q=shoes&page=2
countrystring- Two-letter ISO 3166-1 country code to route the request through. Example: us
headersobject- Extra HTTP headers to send with the page request, as an object of header names to values. Example: {"Accept-Language": "en-US"}
methodstring- HTTP method for the page request, for example GET or POST. Omit for GET.
No tools match.