Guide

Web Scraping MCP Servers Compared (2026): Bright Data, Firecrawl, Apify, Tavily and Browserbase

Which web scraping MCP server should my AI agent use, and how do I set it up?

For pages that block bots, Bright Data's MCP server is the only one of the five whose docs say it handles anti-bot measures, CAPTCHAs and proxy rotation on every request, and it has the largest free tier (5,000 requests a month). Firecrawl is best for turning pages into clean Markdown or JSON. Apify runs ready-made scrapers from its store. Tavily is built for search. Browserbase drives a cloud browser step by step. All five have a hosted endpoint and an npx package.

Coding agent settings change often

Get one email a week when a setting, flag or permission rule changes, checked against the vendor docs.

Try it

  • Bright Data: 5,000 free MCP requests a month, with anti-bot and CAPTCHA handling
  • Firecrawl: clean Markdown and JSON from any page, 1,000 free credits a month

Partner links: AgentAtlas may earn a commission. It does not change what we recommend.

Quick comparison

  • Bright Data: anti-bot, CAPTCHA solving and proxy rotation stated in its MCP docs; search, Markdown scraping, 13 browser tools and structured web_data_* extractors. Free: 5,000 requests/month, no card. Paid: pay as you go from $1.50 per 1,000 requests.
  • Firecrawl: scrape to Markdown or schema JSON, crawl, map, search, a research agent, and firecrawl_interact for browser actions. Free: 1,000 credits/month. Paid: Hobby, $19/month for 5,000 credits.
  • Apify: the agent searches the Apify Store and runs ready-made scrapers (Actors) with search-actors and call-actor, plus a RAG web browser. Free: $5 of usage/month. Paid: Starter, $19/month.
  • Tavily: web search and page extraction built for agents (tavily-search, tavily-extract), plus map and crawl. Free: 1,000 credits/month. Paid: $30 for 4,000 credits, or $0.008 per credit pay as you go.
  • Browserbase: a cloud browser the agent drives with navigate, act, observe and extract. Free: 1 browser hour and 3 concurrent sessions, without CAPTCHA solving or proxies. Paid: Developer plan from $20.
  • Prices and free tiers were checked on each vendor's pricing or docs page on 2026-10-20 and change often.

Bright Data MCP

Bright Data's MCP server routes every request through its Web Unlocker, which its docs say handles anti-bot detection, CAPTCHAs and proxy rotation automatically. Use it when a site blocks plain fetches. The hosted endpoint takes your API token in the URL; the local server reads API_TOKEN (the GitHub README's name; one docs page says API_KEY).

Claude Code, hosted endpoint

claude mcp add --transport http brightdata "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"

Any agent, local (mcpServers JSON)

{
  "mcpServers": {
    "brightdata": {
      "command": "npx",
      "args": ["@brightdata/mcp"],
      "env": { "API_TOKEN": "YOUR_API_TOKEN" }
    }
  }
}
  • Main tools: search_engine, scrape_as_markdown, scrape_batch, discover, scraping_browser_* (browser control) and web_data_* (structured data, such as product or profile pages).
  • Optional env vars: WEB_UNLOCKER_ZONE, BROWSER_ZONE, RATE_LIMIT, GROUPS and TOOLS to limit which tools load.

Firecrawl MCP

Firecrawl's server turns pages into Markdown or into JSON that follows a schema you give it, and can crawl or map a whole site. Its docs say to send the API key as a Bearer header, never in the URL, or to use the OAuth endpoint.

Local (mcpServers JSON)

{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": { "FIRECRAWL_API_KEY": "fc-YOUR_KEY" }
    }
  }
}
  • Hosted: https://mcp.firecrawl.dev/v2/mcp with Authorization: Bearer, or https://mcp.firecrawl.dev/v2/mcp-oauth to sign in.
  • Main tools: firecrawl_scrape, firecrawl_search, firecrawl_map, firecrawl_crawl, firecrawl_interact, firecrawl_agent.
  • Self-hosted Firecrawl: set FIRECRAWL_API_URL.

Apify MCP

Apify's server lets the agent find a ready-made scraper for a site (Google Maps, Instagram, Amazon and thousands more in the Apify Store) and run it. The hosted endpoint supports OAuth sign-in, which is the simplest setup.

Claude Code, hosted endpoint with OAuth

claude mcp add --transport http apify https://mcp.apify.com
  • Local: npx -y @apify/actors-mcp-server with APIFY_TOKEN.
  • Main tools: search-actors, fetch-actor-details, call-actor, apify/rag-web-browser, search-apify-docs.

Tavily and Browserbase

  • Tavily: hosted at https://mcp.tavily.com/mcp/ (API key as tavilyApiKey, a Bearer header, or OAuth); local npx -y tavily-mcp@latest with TAVILY_API_KEY. Pick it when the agent mostly needs search results, not full pages.
  • Browserbase: hosted at https://mcp.browserbase.com/mcp with browserbaseApiKey; local npx @browserbasehq/mcp with BROWSERBASE_API_KEY. Pick it for multi-step flows such as logging in and clicking through pages. CAPTCHA solving and proxies are paid-plan features.

Which one to pick

  • Sites that block bots, or structured data from big sites: Bright Data.
  • Clean Markdown or JSON from docs and blogs, or a whole-site crawl: Firecrawl.
  • A scraper someone already built for a specific site: Apify.
  • Search answers with sources: Tavily.
  • Clicking through a site like a person: Browserbase.
  • Keep API keys out of committed files: use environment variables or the OAuth endpoints where the vendor offers them.

Get coding agent settings changes by email

When a setting, flag or permission rule in this guide changes, it goes in the weekly AgentAtlas update, checked against the vendor docs. One email a week.

Sources

More guides

Other guides

How to allow Cursor to run all commands: Run Everything, allowlist and sandboxHow to allow Claude Code to run all commands: permission modes, allow rules and skip permissionsClaude Code permissions: allow, ask and deny rules, rule syntax and allowed toolsCodex CLI: approval and sandbox modesGemini CLI: YOLO mode, auto_edit and allowing specific shell commandsCursor Privacy Mode: telemetry, training and data retentionClaude Code telemetry and data retention: what is sent and how to turn it offGemini CLI: turn off usage statistics and telemetryCLAUDE.md: where it goes, how it loads, and how it works with AGENTS.mdClaude Code hooks: all events, exit codes, PreToolUse allow/deny JSON and examplesClaude Code subagents: create one, limit its tools, and call itAdd MCP servers to Cursor with mcp.json: Keep files out of Cursor with .cursorignore: Configure Codex with config.toml: Configure Gemini CLI with settings.json: Add MCP servers to Claude Code (claude mcp add, .mcp.json, scopes): Claude Code custom slash commands and skills (SKILL.md): GitHub Copilot custom instructions: Adding MCP servers to GitHub Copilot: Claude Code settings.json: file locations, precedence, and key settingsClaude Code plugins and marketplaces: install, create, and shareGemini CLI extensions and custom commands: Configuring OpenCode with opencode.json: Cline Rules: workspace, global, and conditional rulesKiro steering files: .kiro/steering, inclusion modes, and AGENTS.mdZed agent: instruction files, MCP servers, tool permissions, and ACP agentsCursor CLI: install, headless mode, permissions and CIAider: CONVENTIONS.md, .aider.conf.yml and API keysJunie guidelines, MCP and the Action Allowlist: Amp AGENTS.md, settings.json and MCP: Configure Goose extensions, hints, recipes and permissions: Customize OpenHands with skills, AGENTS.md, setup.sh and MCP: Configure Factory Droid CLI: AGENTS.md, settings.json, autonomy, custom droids and MCPConfigure Qwen Code: settings.json, providers, QWEN.md, MCP and approval modesCursor hooks: hooks.json, beforeShellExecution, afterFileEdit and exit codesCursor sandbox: sandbox.json, network allowlist and run modesCursor settings: settings.json, Cursor Settings and the ~/.cursor config filesCursor browser agent: @browser, browser automation and approval modesCursor subagents: .cursor/agents, frontmatter, built-in Explore and BrowserCursor telemetry and OpenTelemetry export (Privacy Mode, OTLP, Analytics API): Cursor rules setup: project, user and Team Rules, .mdc frontmatter, globs and AGENTS.mdClaude Code headless mode: claude -p, --output-format json, --bare and CI flagsClaude Code statusline: custom status bar in settings.json with context %, cost and git branchClaude Code /model: switch models, aliasesClaude Code /cost and /usage: check token spend, usage limits and reduce costsClaude Code VS Code extension: install, shortcuts, settings and /ideCodex AGENTS.md: global, project and override instruction files explainedCodex MCP servers: codex mcp add and [mcp_servers] in config.tomlCodex sandbox modes: read-only, workspace-write, danger-full-access and network accesscodex exec: run Codex non-interactively in scripts and CI with JSON outputCodex skills: create SKILL.md, skill folder locations and $skill invocationGEMINI.md in Gemini CLI: context file locations, imports and /memoryGemini CLI MCP servers: gemini mcp add and mcpServers in settings.jsonGemini CLI custom slash commands: TOML files, {{args}}, !{shell} and @{file}Gemini CLI headless mode: gemini -p, JSON output and exit codes for scripts and CIGemini CLI sandbox: enable Docker, Podman, macOS Seatbelt or gVisorcopilot-setup-steps.yml: set up the GitHub Copilot cloudGitHub Copilot CLI permissions: --allow-tool, --deny-tool, --allow-all-tools and trusted directoriesGitHub Copilot custom agents: .github/agents/*.agent.md profiles, tools and frontmatterGitHub Copilot code review settings: automatic PR reviews, rulesets, effort level and approvalsOpenCode MCP Server Setup: Local and Remote Servers in opencode.jsonOpenCode Permissions: Allow, Ask or Deny Bash, Edit and WebfetchOpenCode Custom Agents and Subagents: Markdown Files, Modes and @ MentionsCline MCP Setup: cline_mcp_settings.json for Local and Remote ServersCline Auto Approve and YOLO Mode: Run Commands and Edits Without PromptsCline Skills: SKILL.md Location, Format and Slash Command UseAmp MCP Setup: amp mcp add, amp.mcpServers and Workspace ApprovalAmp AGENTS.md: File Locations, @ Mentions and Glob-Scoped GuidanceAmp Skills: SKILL.md Folders, amp skill add and Search OrderKiro MCP Setup: .kiro/settings/mcp.json, autoApprove and OAuthKiro Hooks: .kiro/hooks JSON, PreToolUse, PostFileSave and StopKiro Permissions: permissions.yaml Allow, Ask and Deny RulesFactory Droid MCP Setup: droid mcp add, mcp.json Locations and /mcpFactory Droid Hooks: hooks.json, PreToolUse Matchers and Exit CodesFactory Droid Custom Droids (Subagents): .factory/droids Markdown FilesJunie MCP Setup: .junie/mcp/mcp.json for CLI and /mcp CommandJunie Brave Mode and Action Allowlist: Auto-Approve Commands in Junie CLIJunie Custom Slash Commands: .junie/commands Markdown Files and Argumentsgoose .goosehints and AGENTS.md: Global and Project Instructionsgoose Permission Modes: GOOSE_MODE auto, approve, smart_approve and chatgoose Recipes: recipe.yaml Format, Parameters and goose run --recipeZed Agent Tool Permissions: Auto-Approve Terminal Commands with tool_permissionsUse Claude, Codex and Gemini CLI in Zed: External Agents and agent_serversZed with Ollama, LM Studio and llama.cpp: Local Model Setup and Context LengthMCP 2026-07-28 Migration Guide: Stateless Protocol, No Sessions, server/discover, MRTR, and SDK v2 UpgradeSubagents and Custom Agents Compared: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub CopilotAllow all commands in any AI coding agent: Cursor, Claude Code, Codex, Gemini CLI, Copilot CLI and 7 moreSettings file locations for every AI coding agent: Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Qwen Code, Amp and Factory DroidRules and instruction files in every AI coding agent: .cursor/rules, CLAUDE.md, AGENTS.md, GEMINI.md, Copilot instructions and moreGemini CLI hooks: settings.json, BeforeTool, AfterTool, exit codes and /hooksGitHub Copilot hooks: .github/hooks/*.json for Copilot CLI and the cloud agentHooks in every AI coding agent: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Kiro and Factory DroidAgent Skills (SKILL.md) in every AI coding agent: Claude Code, Codex, Cline, Amp and OpenHandsHow to deploy a remote MCP server (Streamable HTTP): Cloudflare Workers, Vercel, Railway and moreHeadless mode in every AI coding agent: claude -p, codex exec, gemini -p, Cursor agent -p and copilot -p for scripts and CIClaude Code sandbox: /sandbox, sandbox.enabled, allowedDomains, excludedCommands and strict modeSandbox modes in every AI coding agent: Claude Code, Cursor, Codex and Gemini CLI comparedCustom slash commands in every AI coding agent: file locations, arguments and examplesMigrate from Gemini CLI to Antigravity CLI (2026): Config, MCP, Skills, FlagsRun GitHub Copilot CLI with copilot -p in scripts and CI (2026): Agent Loops 2026: Ralph Loop, /loop, /goal and Headless Loops for AI Coding AgentsCursor skills and custom slash commands: .cursor/skills SKILL.md, .cursor/commands and /migrate-to-skillsCodex hooks: hooks.json, PreToolUse allow/deny, exit code 2 and config.toml [hooks]

Reviewed Oct 20, 2026. Settings change often; the linked vendor docs are the source of truth.