Connectors · AI
Bright Data MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Bright Data and the rest of your systems. It gives your agent 134 Bright Data actions (88 reads, 35 writes and 11 that wait for a confirmation) and holds the Bright Data credential itself, so the agent never does. It paces Bright Data's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "bright_data.datasets.list", intent: "check which Bright Data account is connected"}# Retrieve a list of available datasets · read · 1 upstream call- 134actionsin one signed file
- 88readlook, never change
- 35writecreate and update
- 11wait for a yesdestructive, confirmed first
Set up
Connect Bright Data in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Bright Data.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyBright Data API key: in the control panel open Account settings > API keys (https://brightdata.com/cp/setting/users)…
account { op: "connections.requirements", service: "bright_data" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "bright_data.datasets.list" }# retrieve a list of available datasets · read · 1 upstream callcheck { action: "bright_data.zone_ips.add", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Bright Data at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_key- Limits we pace to
- 600 calls a minute, per connection
- API covered
- Bright Data REST API (docs fetched 2026-10-23)
api.brightdata.com - Built from
- Bright Data's documentation, read 23 October 2026docs.brightdata.comdocs.brightdata.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 15 of 88 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 1, so ask can line Bright Data up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Bright Data.
134 actions in 34 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 88readlook, never change
- 35writecreate and update
- 11destructivewait for a confirmation
Scrapers prebuilt
2323 read · 0 write · 0 destructive
Collect Products by URL · Collect Reviews by URL · Collect Sellers Info by URL · Search by Prompt
Zones
139 read · 3 write · 1 destructive
Add a new zone · Return all zones · Return all active zones · zones.list recent ips
Scraper studio jobs
114 read · 6 write · 1 destructive
List Scraper Studio jobs · Rerun a Scraper Studio job · Trigger a synchronous real-time run of a Scraper Studio collector · Start an asynchronous batch collection for a published Scraper Studio collector
Scrape snapshots
105 read · 4 write · 1 destructive
Deliver the snapshot content to the specified storage · Get a list of triggered collections, the list contains only snapshots created for a specific dataset · When requesting a delivery in batches (see available delivery APIs) use this endpoint to check how many parts were crea… · Rerun previously created snapshot
Zone ips
84 read · 3 write · 1 destructive
Add Static IPs for Datacenter and ISP · Get Zone Static (Datacenter/ISP) IPs · Get list of all proxies in the provided zone, which are pending replacement · Get the available Data center/ISP IPs per Zone
Scraper studio AI
72 read · 4 write · 1 destructive
Enable Auto Self-Healing · Trigger AI Flow · Trigger Self-Healing · Get AI Job Progress
Account
43 read · 1 write · 0 destructive
Get your account balance information: available balance, free credits, prepayment and pending usage costs · Get the bandwidth stats for all your Zones · Get account status · account.update status
Dataset snapshots
43 read · 1 write · 0 destructive
Deliver the dataset snapshot · Get dataset snapshot delivery parts · Get dataset snapshot content · Get dataset snapshot metadata
26 more areas · 54 actions
- Datasets 4
- Web unlocker 4
- Dataset view delivery settings 3
- Scraper studio scrapers 3
- Serp 3
- Web archive dumps 3
- Web archive searches 3
- Zone allowlist 3
- Zone denylist 3
- Zone passwords 3
- Browser sessions 2
- Business search 2
- Delivery options 2
- Scrapes 2
- Zone domain permissions 2
- Zone vips 2
- Cities 1
- Costs 1
- Countries 1
- Dataset views 1
- Media data jobs 1
- Network status 1
- Pricing plans 1
- Scrape deliveries 1
- Scrapers 1
- Static cities 1
Top actions
The Bright Data API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 1 of Bright Data's 1 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
bright_data.datasets.listRetrieve a list of available datasets | Retrieve a list of available datasets. | read | analytics.dataset.list28 connectors |
bright_data.zones.listReturn all zones | Return all zones. | read | this connector |
bright_data.cities.listGet a list of cities from a Country | Get a list of cities from a Country. | read | this connector |
bright_data.scrapes.runScrape data and return it directly in the response | Scrape data and return it directly in the response. | read | this connector |
bright_data.serp.requestRun an SERP request | Run a SERP request. | read | this connector |
bright_data.zone_ips.addAdd Static IPs for Datacenter and ISP | Add Static IPs for Datacenter and ISP. | write | this connector |
bright_data.zones.createAdd a new zone | Add a new zone. | write | this connector |
bright_data.scrapers.listGet every scraper available to your account, with the full input schema, output field list and sample payloads for each… | Get every scraper available to your account, with the full input schema, output field list and sample payloads for each…. | read | this connector |
bright_data.zone_ips.listGet Zone Static (Datacenter/ISP) IPs | Get Zone Static (Datacenter/ISP) IPs. | read | this connector |
bright_data.countries.listList all available countries per zone type | List all available countries per zone type. | read | this connector |
bright_data.datasets.filterCreate a dataset snapshot based on a provided filter | Create a dataset snapshot based on a provided filter. | write | this connector |
bright_data.zones.deletezones.delete | zones.delete. | destructive | this connector |
Try it
Prompts to paste into Claude.
Each one names the Bright Data actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Retrieve a list of available datasets in Bright Data and tell me what stands out.
calls
bright_data.datasets.list - Writewrite
Add Static IPs for Datacenter and ISP in Bright Data. Show me exactly what you will send before you save it.
calls
bright_data.zone_ips.add
Governance for Bright Data
Destructive actions wait for a yes.
11 Bright Data actions are destructive. These are all of them:
- zones.delete
bright_data.zones.delete - zone ips.remove
bright_data.zone_ips.remove - zone vips.remove
bright_data.zone_vips.remove - zone denylist.remove
bright_data.zone_denylist.remove - zone allowlist.remove
bright_data.zone_allowlist.remove - Remove Zone Password
bright_data.zone_passwords.remove - Delete a Scraper Studio scraper
bright_data.scraper_studio_scrapers.delete - zone domain permissions.remove
bright_data.zone_domain_permissions.remove - Cancel the running collection
bright_data.scrape_snapshots.cancel - Cancel a Scraper Studio job
bright_data.scraper_studio_jobs.cancel - Cancel Self-Healing Job
bright_data.scraper_studio_ai.cancel_self_healing
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
zones.delete?
intent: the user asked me to zones.delete
account { op: "keys.create", name: "bright-data-agent", allowed_actions: ["bright_data.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "bright_data.zones.delete", approver: "[email protected]" }, { match: "bright_data.zone_ips.remove", approver: "[email protected]" }, { match: "bright_data.zone_vips.remove", approver: "[email protected]" } ]}Cost
What Bright Data costs on actionlake.
Every Bright Data action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Bright Data refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 134 Bright Data actions
- 134actions pageeach page of a long list is one call
- 15reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Bright Data action.
134 actions by area: the id your agent calls, what it does, and its effect.
Scrapers prebuilt23
bright_data.scrapers_prebuilt.amazon_productsCollect Products by URLreadbright_data.scrapers_prebuilt.amazon_reviewsCollect Reviews by URLreadbright_data.scrapers_prebuilt.amazon_sellers_infoCollect Sellers Info by URLreadbright_data.scrapers_prebuilt.chatgpt_searchSearch by Promptreadbright_data.scrapers_prebuilt.facebook_commentsCollect Facebook comments by URLreadbright_data.scrapers_prebuilt.facebook_pages_postsCollect Page Posts by URLreadbright_data.scrapers_prebuilt.facebook_postsCollect Facebook posts by URLreadbright_data.scrapers_prebuilt.facebook_posts_by_groupCollect Posts by Group URLreadbright_data.scrapers_prebuilt.facebook_reelsCollect Reels by Profile URLreadbright_data.scrapers_prebuilt.fetch_apiFetch API: collect a web page by URLreadbright_data.scrapers_prebuilt.instagram_commentsCollect Instagram comments by URLreadbright_data.scrapers_prebuilt.instagram_postsCollect Instagram posts by URLreadbright_data.scrapers_prebuilt.instagram_profilesCollect Instagram profiles by URLreadbright_data.scrapers_prebuilt.instagram_reelsCollect Reels by URLreadbright_data.scrapers_prebuilt.linkedin_companiesCollect LinkedIn Companies by URLreadbright_data.scrapers_prebuilt.linkedin_jobsCollect LinkedIn Jobs by URLreadbright_data.scrapers_prebuilt.linkedin_postsCollect LinkedIn Posts by URLreadbright_data.scrapers_prebuilt.linkedin_profilesCollect LinkedIn Profiles by URLreadbright_data.scrapers_prebuilt.reddit_postsCollect Reddit posts by URLreadbright_data.scrapers_prebuilt.tiktok_commentsCollect TikTok comments by URLreadbright_data.scrapers_prebuilt.tiktok_postsCollect TikTok posts by URLreadbright_data.scrapers_prebuilt.tiktok_profilesCollect TikTok profiles by URLreadbright_data.scrapers_prebuilt.youtube_videosCollect Videos by URLread
Zones13
bright_data.zones.count_available_ipszones.count available ipsreadbright_data.zones.createAdd a new zonewritebright_data.zones.deletezones.deletedestructivebright_data.zones.getGet Zone statusreadbright_data.zones.get_bandwidthGet the bandwidth stats for a Zonereadbright_data.zones.get_costReturns billed cost, bandwidth, and usage stats for a Zone over a date rangereadbright_data.zones.get_permissionsGet Zone permissionsreadbright_data.zones.get_statusGet Zone statusreadbright_data.zones.listReturn all zonesreadbright_data.zones.list_activeReturn all active zonesreadbright_data.zones.list_recent_ipszones.list recent ipsreadbright_data.zones.set_auto_failoverSwitch automatic failover ON/OFF in a Static zonewritebright_data.zones.set_disabledzones.set disabledwrite
Scraper studio jobs11
bright_data.scraper_studio_jobs.cancelCancel a Scraper Studio jobdestructivebright_data.scraper_studio_jobs.getGet job data by job IDreadbright_data.scraper_studio_jobs.get_batch_resultRetrieve the results of an asynchronous Scraper Studio batch collectionreadbright_data.scraper_studio_jobs.get_realtime_resultReceive data from real-time work scraperreadbright_data.scraper_studio_jobs.listList Scraper Studio jobsreadbright_data.scraper_studio_jobs.pausePause a Scraper Studio jobwritebright_data.scraper_studio_jobs.rerunRerun a Scraper Studio jobwritebright_data.scraper_studio_jobs.resumeResume a Scraper Studio jobwritebright_data.scraper_studio_jobs.run_realtimeTrigger a synchronous real-time run of a Scraper Studio collectorwritebright_data.scraper_studio_jobs.trigger_batchStart an asynchronous batch collection for a published Scraper Studio collectorwritebright_data.scraper_studio_jobs.trigger_realtimeTrigger an asynchronous real-time run of a Scraper Studio collectorwrite
Scrape snapshots10
bright_data.scrape_snapshots.cancelCancel the running collectiondestructivebright_data.scrape_snapshots.deliverDeliver the snapshot content to the specified storagewritebright_data.scrape_snapshots.downloadDownload the snapshot contentreadbright_data.scrape_snapshots.get_logRetrieve the logs for a specific dataset snapshotreadbright_data.scrape_snapshots.get_progressThe Monitor Progress API is designed to track the current status of a data collection job, also known as a snapshot, in…readbright_data.scrape_snapshots.listGet a list of triggered collections, the list contains only snapshots created for a specific datasetreadbright_data.scrape_snapshots.list_partsWhen requesting a delivery in batches (see available delivery APIs) use this endpoint to check how many parts were crea…readbright_data.scrape_snapshots.pausePause the running collectionwritebright_data.scrape_snapshots.rerunRerun previously created snapshotwritebright_data.scrape_snapshots.resumeResume a paused collectionwrite
Zone ips8
bright_data.zone_ips.addAdd Static IPs for Datacenter and ISPwritebright_data.zone_ips.listGet Zone Static (Datacenter/ISP) IPsreadbright_data.zone_ips.list_pending_replacementGet list of all proxies in the provided zone, which are pending replacementreadbright_data.zone_ips.list_routesGet the available Data center/ISP IPs per Zonereadbright_data.zone_ips.list_unavailableGet live status of Static (Datacenter/ISP) Zone and IPs with connectivity problemreadbright_data.zone_ips.migrateMigrate Static IPs between zones (Datacenter/ISP)writebright_data.zone_ips.refreshzone ips.refreshwritebright_data.zone_ips.removezone ips.removedestructive
Scraper studio AI7
bright_data.scraper_studio_ai.cancel_self_healingCancel Self-Healing Jobdestructivebright_data.scraper_studio_ai.enable_auto_self_healingEnable Auto Self-Healingwritebright_data.scraper_studio_ai.get_progressGet AI Job Progressreadbright_data.scraper_studio_ai.get_self_healing_progressGet Self-Healing Job Progressreadbright_data.scraper_studio_ai.resume_self_healingResume Self-Healing Jobwritebright_data.scraper_studio_ai.triggerTrigger AI Flowwritebright_data.scraper_studio_ai.trigger_self_healingTrigger Self-Healingwrite
Account4
bright_data.account.get_balanceGet your account balance information: available balance, free credits, prepayment and pending usage costsreadbright_data.account.get_bandwidthGet the bandwidth stats for all your Zonesreadbright_data.account.get_statusGet account statusreadbright_data.account.update_statusaccount.update statuswrite
Dataset snapshots4
bright_data.dataset_snapshots.deliverDeliver the dataset snapshotwritebright_data.dataset_snapshots.downloadGet dataset snapshot contentreadbright_data.dataset_snapshots.getGet dataset snapshot metadatareadbright_data.dataset_snapshots.list_partsGet dataset snapshot delivery partsread
Datasets4
bright_data.datasets.filterCreate a dataset snapshot based on a provided filterwritebright_data.datasets.get_metadataGet dataset metadatareadbright_data.datasets.listRetrieve a list of available datasetsreadbright_data.datasets.searchSearch a datasetread
Web unlocker4
bright_data.web_unlocker.get_async_resultweb unlocker.get async resultreadbright_data.web_unlocker.get_success_rateGet success rate statistics per domainreadbright_data.web_unlocker.requestUnlock a URLreadbright_data.web_unlocker.request_asyncweb unlocker.request asyncwrite
Dataset view delivery settings3
bright_data.dataset_view_delivery_settings.bulk_updateUpdates delivery configurations for multiple dataset views in a single requestwritebright_data.dataset_view_delivery_settings.getRetrieves the current delivery configuration for a specific dataset viewreadbright_data.dataset_view_delivery_settings.updateUpdates the delivery configuration for a specific dataset viewwrite
Scraper studio scrapers3
bright_data.scraper_studio_scrapers.createCreate Scraper Templatewritebright_data.scraper_studio_scrapers.deleteDelete a Scraper Studio scraperdestructivebright_data.scraper_studio_scrapers.listList Scraper Studio scrapersread
Serp3
bright_data.serp.get_async_resultserp.get async resultreadbright_data.serp.requestRun an SERP requestreadbright_data.serp.request_asyncserp.request asyncwrite
Web archive dumps3
bright_data.web_archive_dumps.createDeliver a snapshot to Amazon S3, Azure Blob Storage or a Webhookwritebright_data.web_archive_dumps.getGet data snapshot (dump) statusreadbright_data.web_archive_dumps.listGet all data snapshot statusesread
Web archive searches3
bright_data.web_archive_searches.createRun a searchwritebright_data.web_archive_searches.getGet search statusreadbright_data.web_archive_searches.listGet all search statusesread
Zone allowlist3
bright_data.zone_allowlist.addAdd IP to zone's allowlistwritebright_data.zone_allowlist.listGet a list of allowlisted IPs for a specific Zonereadbright_data.zone_allowlist.removezone allowlist.removedestructive
Zone denylist3
bright_data.zone_denylist.addAdd IP to zone's denylistwritebright_data.zone_denylist.listGet a list of denylisted IPs for a specific Zonereadbright_data.zone_denylist.removezone denylist.removedestructive
Zone passwords3
bright_data.zone_passwords.addAdd Zone Passwordwritebright_data.zone_passwords.listGet Zone passwordsreadbright_data.zone_passwords.removeRemove Zone Passworddestructive
Browser sessions2
bright_data.browser_sessions.getGet single browser sessionreadbright_data.browser_sessions.listList browser sessionsread
Business search2
bright_data.business_search.companiesSearch companiesreadbright_data.business_search.peopleSearch peopleread
Delivery options2
bright_data.delivery_options.get_schemaReturns the exact fields required for a specific delivery destination type (for example `s3`, `sftp`, `gcs`, `webhook`)readbright_data.delivery_options.listReturns the options available for configuring delivery settings on a dataset view, including supported destination type…read
Scrapes2
bright_data.scrapes.runScrape data and return it directly in the responsereadbright_data.scrapes.triggerTrigger a web scraping collection based on provided inputswrite
Zone domain permissions2
bright_data.zone_domain_permissions.addAdd domain to Zone allowlist or denylistwritebright_data.zone_domain_permissions.removezone domain permissions.removedestructive
Zone vips2
bright_data.zone_vips.listGet all available residential dedicated IPs per Zonereadbright_data.zone_vips.removezone vips.removedestructive
Cities1
bright_data.cities.listGet a list of cities from a Countryread
Costs1
bright_data.costs.export_jsonExport account cost data broken down by dimension (products, zones, datasets, Web Scraper APIs, and more) as JSONread
Countries1
bright_data.countries.listList all available countries per zone typeread
Dataset views1
bright_data.dataset_views.listRetrieves the customer's dataset viewsread
Media data jobs1
bright_data.media_data_jobs.list_errorsGet errors for a Media Data API jobread
Network status1
bright_data.network_status.getnetwork status.getread
Pricing plans1
bright_data.pricing_plans.listGet your account's current pricing plan and the plans available to it, with per-product prices for each planread
Scrape deliveries1
bright_data.scrape_deliveries.getThe call returns the delivery statusread
Scrapers1
bright_data.scrapers.listGet every scraper available to your account, with the full input schema, output field list and sample payloads for each…read
Static cities1
bright_data.static_cities.listGet list of available cities of static network per countryread
Questions
The Bright Data MCP server, answered.
Is there a Bright Data MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 134 Bright Data actions across scrapers prebuilt, zones, scraper studio jobs and scrape snapshots, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Bright Data.
What do I need to connect Bright Data?
Bright Data API key: in the control panel open Account settings > API keys (https://brightdata.com/cp/setting/users)…. The free call account { op: "connections.requirements", service: "bright_data" } lists exactly what to paste.
Can an AI agent delete or change things in Bright Data?
Only if its key allows it, and only with an explicit confirmation. 11 Bright Data actions are destructive, including zones.delete, zone ips.remove and zone vips.remove. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Bright Data API limit?
actionlake paces every call to the limits in the Bright Data service file: 600 calls a minute per connection. Repeated reads are answered from cache (15 Bright Data actions can be), which never reaches Bright Data.
What does a Bright Data action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (134 Bright Data actions page). Cache hits, searches, dry runs and calls Bright Data refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Bright Data API does it cover?
The Bright Data REST API (docs fetched 2026-10-23) at api.brightdata.com. It is built from Bright Data's documentation as read on 23 October 2026. 134 actions in 34 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Bright Data data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Bright Data credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Bright Data today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.