Bright Data MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRIGHTDATA_API_KEY | Yes | Bearer token for all REST calls. | |
| BRIGHTDATA_SERP_ZONE | No | SERP API zone name. Default: serp_api1. | serp_api1 |
| BRIGHTDATA_DATASET_ID | No | Default dataset id (gd_...), required for crawl / web scraper tools. | |
| BRIGHTDATA_API_BASE_URL | No | Override base URL. Default: https://api.brightdata.com. | https://api.brightdata.com |
| BRIGHTDATA_BROWSER_AUTH | No | USER:PASS of the Browser API zone, required for browser_scrape tool. | |
| BRIGHTDATA_BROWSER_HOST | No | CDP host:port. Default: brd.superproxy.io:9222. | brd.superproxy.io:9222 |
| BRIGHTDATA_UNLOCKER_ZONE | No | Web Unlocker zone name. Default: web_unlocker1. | web_unlocker1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| smart_scrapeA | PREFERRED scraping tool. Fetches a page as cheaply as possible: it first tries a FREE direct HTTP request, and only falls back to the PAID Bright Data Web Unlocker if it detects an anti-bot wall (Cloudflare, Akamai, Imperva/Incapsula, PerimeterX, DataDome, a CAPTCHA, or a 403/429/503). An in-memory skip-list remembers hard domains so repeat calls skip the doomed free attempt. Most sites cost $0. The result reports which tier was used and whether credit was spent. Use this instead of unlocker_scrape for read-only fetches; reserve browser_scrape for real JS interaction. |
| smart_scrape_skiplistA | Show the in-memory list of domains currently being sent straight to Bright Data (because the free tier was blocked recently). Useful for debugging cost. |
| smart_scrape_batchA | Fetch an array of URLs in parallel using the same free-first routing as smart_scrape. Returns an array of {url, success, text, tier, paid} objects. Use this instead of calling smart_scrape in a loop — it's significantly faster. |
| smart_crawlA | Start at a URL, follow links up to a depth/page limit, and return content from each page. Stays on the same hostname by default. Use url_filter to restrict which paths are visited. |
| smart_diffA | Fetch a URL and compare it to the previously cached version. Returns whether the page changed, when it was last seen, and both versions so you can inspect what's different. First call always stores a baseline; subsequent calls detect changes. |
| smart_extractB | Fetch a page and extract structured data: JSON-LD schema.org objects, Open Graph tags, Twitter card meta, standard meta description/keywords, and page title. Returns clean JSON. Useful for getting product info, article metadata, or any schema.org markup without parsing HTML. |
| parse_feedA | Fetch and parse an RSS 2.0 feed, Atom 1.0 feed, or XML sitemap. Auto-detects the format from content-type and content. Returns structured JSON with items/entries or sitemap URLs. Free direct fetch — no Bright Data credit unless the feed is behind a wall. |
| check_robotsA | Fetch and parse the site's robots.txt, then check whether the given URL path is permitted for the wildcard (*) user-agent. Returns the verdict and the matching rule. robots.txt is cached for 24 hours. |
| replay_harA | Replays an HTTP Archive (.har) file exported from browser DevTools. Automatically detects dynamic values (CSRF tokens, nonces, hidden form fields, JSON token fields) in responses and substitutes fresh values into subsequent requests — so login flows, form submissions, and signed API calls work correctly even though the recorded values are stale. Static assets (images, CSS, JS) are skipped by default. Use 'substitutions' for values that never appear in responses (credentials, API keys). Use 'dry_run' to preview what would be sent. |
| unlocker_scrapeA | Always spends Bright Data credit. For read-only fetches prefer smart_scrape — it tries a free direct request first and only falls back here when the site actively blocks it. Use unlocker_scrape directly only when you need screenshot output, want to force Bright Data unconditionally, or smart_scrape has already confirmed the site is hard-blocked. |
| unlocker_scrape_asyncA | Start an asynchronous Web Unlocker request for slow/heavy pages. Returns a response_id you later pass to unlocker_get_async_result. |
| unlocker_get_async_resultA | Retrieve the result of an async unlock job. If still processing, returns a PENDING status - poll again shortly. |
| unlocker_success_rateA | Return Web Unlocker success-rate statistics (past 7 days) for a domain. Use a wildcard like 'example.*' to get all TLDs. |
| serp_searchA | Run a web search. For DuckDuckGo queries, tries a FREE direct fetch first and only falls back to the paid Bright Data SERP API if blocked. For Google, Bing, and Yandex, always uses the paid SERP API (no free public API exists). Returns structured JSON (parse=true) or raw HTML/Markdown (parse=false). |
| web_scraper_triggerA | Trigger a Bright Data dataset (Web Scraper / Crawl API) collection over one or more URLs. Returns a snapshot_id to poll with web_scraper_get_results. Requires a dataset_id (gd_...) - either passed here or via BRIGHTDATA_DATASET_ID. |
| web_scraper_get_resultsA | Check progress and, when ready, download the data for a snapshot_id returned by web_scraper_trigger. If the job is still running, returns its status. |
| browser_scrapeA | Drive a real, remote cloud browser (Puppeteer over CDP) for JavaScript-heavy sites and multi-step flows. Supports automatic CAPTCHA solving, ad blocking, device emulation, sticky sessions, clicks/typing/scrolling, and returns rendered HTML, inner text, and/or a full-page screenshot. No local browser is required - everything runs on Bright Data's infrastructure. Requires BRIGHTDATA_BROWSER_AUTH to be set. |
| web_data_amazon_productA | Structured Amazon product data (title, price, ratings, images, specs). Requires a product URL containing /dp/. |
| web_data_amazon_product_reviewsB | Structured Amazon review data for a product. Requires a product URL containing /dp/. |
| web_data_amazon_product_searchB | Structured Amazon search results for a keyword. Returns first page. |
| web_data_walmart_productC | Structured Walmart product data. Requires a product URL containing /ip/. |
| web_data_walmart_sellerC | Structured Walmart seller profile data. |
| web_data_ebay_productB | Structured eBay listing data (price, condition, seller, bids). |
| web_data_linkedin_job_listingsC | Structured LinkedIn job listing data. |
| web_data_instagram_profilesB | Structured Instagram profile data (bio, followers, following, post count). |
| web_data_instagram_postsB | Structured Instagram post data (caption, likes, comments, media). |
| web_data_instagram_reelsD | Structured Instagram reel data. |
| web_data_instagram_commentsC | Structured Instagram comments for a post. |
| web_data_facebook_postsC | Structured Facebook post data. |
| web_data_facebook_marketplaceD | Structured Facebook Marketplace listing data. |
| web_data_tiktok_profilesB | Structured TikTok profile data (bio, followers, following, video count). |
| web_data_tiktok_postsB | Structured TikTok video data (views, likes, shares, comments). |
| web_data_tiktok_commentsC | Structured TikTok comment data for a video. |
| web_data_youtube_profilesB | Structured YouTube channel data (subscribers, description, videos). |
| web_data_youtube_postsB | Structured YouTube video data (views, likes, description, tags). |
| web_data_youtube_commentsC | Structured YouTube comment data for a video. |
| web_data_x_postsC | Structured X/Twitter post data (text, likes, retweets, replies). |
| web_data_reddit_postsB | Structured Reddit post data (title, body, upvotes, awards, subreddit). |
| web_data_reddit_commentsB | Structured Reddit comment thread for a post. |
| web_data_linkedin_person_profileB | Structured LinkedIn person profile data (headline, experience, education, skills). |
| web_data_linkedin_company_profileB | Structured LinkedIn company profile data (industry, size, description, specialties). |
| web_data_linkedin_postsC | Structured LinkedIn post/article data. |
| web_data_glassdoor_companyB | Structured Glassdoor company profile (rating, CEO approval, culture scores). |
| web_data_glassdoor_reviewsC | Structured Glassdoor employee reviews for a company. |
| web_data_zoominfo_company_profileB | Structured ZoomInfo company data (employees, revenue, technologies, contacts). |
| web_data_crunchbase_companyA | Structured Crunchbase company data (funding rounds, investors, founded, HQ). |
| web_data_zillow_properties_listingC | Structured Zillow property data (price, beds, baths, sqft, listing details). |
| web_data_github_repository_fileB | Structured GitHub repository or file data (stars, forks, contributors, file content). |
| web_data_reuter_newsB | Structured Reuters news article data (headline, body, author, published date). |
| web_data_google_play_storeB | Structured Google Play app data (rating, downloads, reviews, description). |
| web_data_apple_app_storeB | Structured Apple App Store app data (rating, reviews, price, description). |
| web_data_booking_hotel_listingsA | Structured Booking.com hotel data (price, rating, amenities, location). |
| web_data_chatgpt_ai_insightsB | Query ChatGPT and get structured AI-generated insights about a brand or topic. |
| web_data_grok_ai_insightsA | Query Grok and get structured AI-generated insights about a brand or topic. |
| web_data_perplexity_ai_insightsB | Query Perplexity and get structured AI-generated insights about a brand or topic. |
| web_data_npm_packageA | Structured npm package data (latest version, README, dependencies, weekly downloads). |
| web_data_pypi_packageC | Structured PyPI package data (latest version, README, dependencies, metadata). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AndrewEstopinan/browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server