AlterLab

Scrape any site, extract structured data, and capture screenshots, with JavaScript rendering, residential proxy rotation, and automatic retries.

Documentation

AlterLab Logo

AlterLab MCP Server

Give Claude, Cursor, and Windsurf the ability to scrape any website, extract structured data, and take screenshots — with automatic anti-bot bypass.

npm version npm downloads license Smithery

Get Started Free →   $1 free balance on signup — up to 5,000 scrapes.


One-Line Install

Claude Code

claude mcp add alterlab -- npx -y alterlab-mcp-server@latest

Then set your API key: export ALTERLAB_API_KEY=sk_live_... or add it to .claude.json (see full setup below).

Cursor

# Add to .cursor/mcp.json — see full config below

Smithery

npx -y @smithery/cli install alterlab-mcp-server --client claude

Why AlterLab Instead of WebFetch or Browser MCP?

Claude's built-in WebFetch tool and open-source browser MCP servers fail on most real-world websites. They cannot bypass Cloudflare, render JavaScript SPAs, or extract structured data.

AlterLab replaces broken fetch tools with one MCP server that actually works:

CapabilityWebFetch / fetch()Browser MCPAlterLab MCP
Anti-bot bypass (Cloudflare, DataDome, Akamai)NoPartialYes — automatic
JavaScript rendering (React, Angular, Vue SPAs)NoYes (slow)Yes — headless Chromium
Structured data extraction (JSON, Schema.org)NoNoYes — built-in profiles
Smart tier escalation (cheapest method first)N/AN/AYes — saves 60-80%
Residential proxy rotation (195+ countries)NoNoYes
Screenshot and PDF captureNoScreenshot onlyYes — both
OCR text extraction from imagesNoNoYes
Cost per requestFree (but fails)Free (but slow)From $0.0002

How Does AlterLab Web Scraping Work?

AlterLab uses a multi-tier scraping architecture. It automatically selects the cheapest method capable of fetching each URL:

  1. Curl ($0.0002/req) — Direct HTTP for static pages, RSS feeds, public APIs
  2. HTTP ($0.0003/req) — TLS fingerprint rotation for moderately protected sites
  3. Stealth ($0.0005/req) — Browser impersonation for Cloudflare/DataDome-protected sites
  4. Light JS ($0.0007/req) — Lightweight JS extraction from server-rendered HTML
  5. Browser ($0.001/req) — Full headless Chromium for JavaScript-heavy SPAs

Auto mode starts at Tier 1 and escalates only when blocked. Most websites resolve at Tiers 1-2, so $1 gets you 1,000 to 5,000 scrapes depending on the sites you target.


Installation

Install in Claude Desktop / Claude Code

Add to your Claude config file (~/.claude.json for Claude Code, or Settings for Claude Desktop):

{
  "mcpServers": {
    "alterlab": {
      "command": "npx",
      "args": ["-y", "alterlab-mcp-server@latest"],
      "env": {
        "ALTERLAB_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Install in Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "alterlab": {
      "command": "npx",
      "args": ["-y", "alterlab-mcp-server@latest"],
      "env": {
        "ALTERLAB_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Install in Windsurf

Add to Windsurf MCP settings (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "alterlab": {
      "command": "npx",
      "args": ["-y", "alterlab-mcp-server@latest"],
      "env": {
        "ALTERLAB_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Install via Smithery

npx -y @smithery/cli install alterlab-mcp-server --client claude

Get Your API Key

  1. Sign up free — $1 free balance on signup
  2. Go to Dashboard → API Keys and copy your key
  3. Paste it into the ALTERLAB_API_KEY field in your MCP config

Tools

alterlab_scrape — Scrape Any Webpage

Scrape a URL and return its content as markdown, text, HTML, or JSON. Automatically handles anti-bot protection with tier escalation. Returns markdown by default — optimized for LLM context windows.

"Scrape https://www.amazon.com/dp/B0BSHF7WHW and summarize the product"
ParameterTypeDefaultDescription
urlstringrequiredURL to scrape
modeauto | html | js | pdf | ocrautoScraping mode
formats(text|json|html|markdown)[]["markdown"]Output formats
render_jsbooleanfalseUse headless browser (+3 credits)
use_proxybooleanfalsePremium proxy (+1 credit)
proxy_countrystringISO country code for geo-targeting (e.g., US, DE)
wait_forstringCSS selector to wait for before extraction
timeoutnumber90Timeout in seconds (1-300)
include_raw_htmlbooleanfalseInclude raw HTML alongside formatted content
session_idstring (UUID)Stored session ID for authenticated scraping
cookiesRecord<string, string>Inline cookies for one-off authenticated requests

alterlab_extract — Extract Structured Data

Extract structured fields from any webpage using pre-built profiles or custom JSON Schema. Returns clean JSON — ready for databases, spreadsheets, or downstream processing.

"Extract the product name, price, and rating from this Amazon page"
ParameterTypeDefaultDescription
urlstringrequiredURL to extract from
extraction_profileenumautoProfile: product, article, job_posting, faq, recipe, event
extraction_schemaobjectCustom JSON Schema for structured output
extraction_promptstringNatural language extraction instructions
render_jsbooleanfalseUse headless browser
use_proxybooleanfalsePremium proxy

Extraction profiles:

  • Product — name, price, currency, rating, reviews, availability, images, description
  • Article — title, author, published date, body text, featured image
  • Job Posting — title, company, location, salary, description, requirements
  • FAQ — question-answer pairs
  • Recipe — ingredients, instructions, prep time, servings
  • Event — name, date, location, description, organizer

alterlab_screenshot — Screenshot Any Page

Take a full-page screenshot of any URL. Returns a PNG image directly in the conversation — no URLs to copy, no files to download.

"Take a screenshot of our landing page at https://alterlab.io"
ParameterTypeDefaultDescription
urlstringrequiredURL to screenshot
wait_forstringCSS selector to wait for before capture
wait_untilenumnetworkidlenetworkidle, domcontentloaded, or load

alterlab_estimate_cost — Estimate Before You Scrape

Check how much a scrape will cost before running it. Returns the predicted tier, cost per request, and confidence level.

"How much would it cost to scrape linkedin.com?"
ParameterTypeDefaultDescription
urlstringrequiredURL to estimate
modeenumautoScraping mode
render_jsbooleanfalseInclude JS rendering cost
use_proxybooleanfalseInclude proxy cost

alterlab_check_balance — Check Your Credits

Check your account balance, total deposited, and total spent. No parameters needed.

"Check my AlterLab balance"

alterlab_list_sessions — List Stored Sessions

List all stored sessions for authenticated scraping. Sessions contain cookies for specific domains, allowing you to scrape content behind login walls.

"List my stored sessions"

alterlab_create_session — Create a Session

Create a new stored session with cookies from a logged-in browser. The session is stored securely and can be reused across multiple scrape requests.

"Create an Amazon session with these cookies: session-id=abc123, session-token=xyz789"
ParameterTypeDefaultDescription
namestringrequiredHuman-readable name (e.g., "My Amazon Account")
domainstringrequiredDomain (e.g., "amazon.com")
cookiesRecord<string, string>requiredCookie key-value pairs
user_agentstringBrowser User-Agent to use with this session

alterlab_validate_session — Validate a Session

Check whether a stored session is still active and its cookies are valid.

"Is my Amazon session still valid?"
ParameterTypeDefaultDescription
session_idstring (UUID)requiredSession ID to validate

alterlab_delete_session — Delete a Session

Permanently delete a stored session and its cookies.

"Delete session abc-123-def"
ParameterTypeDefaultDescription
session_idstring (UUID)requiredSession ID to delete

Authenticated Scraping

AlterLab MCP supports scraping pages that require authentication. This enables AI agents to access user-specific content like order histories, account dashboards, and member-only pricing.

How It Works

  1. Create a session with cookies from a logged-in browser using alterlab_create_session
  2. Scrape authenticated pages by passing the session_id to alterlab_scrape
  3. Manage sessions with list, validate, and delete tools

Example: Check Amazon Prime Pricing

User: "What's my Prime member price for this product?"

Claude: [calls alterlab_list_sessions → finds Amazon session]
Claude: [calls alterlab_scrape with session_id for authenticated pricing]
Claude: "The Prime member price is $24.99 (public price: $34.99)"

Inline Cookies vs Stored Sessions

  • Stored sessions (session_id): Best for repeated access to the same domain. Create once, reuse across requests.
  • Inline cookies (cookies): Best for one-off authenticated requests where you don't need to save the session.

What Can You Do with AlterLab MCP?

Research and Analysis

Ask Claude to scrape and analyze websites in real-time:

  • "Scrape the top 5 results from this Google search and summarize them"
  • "Extract all product prices from this Amazon category page"
  • "Compare the pricing pages of these 3 competitors"

Code Generation with Real Data

Let Cursor or Windsurf fetch live data while building:

  • "Scrape this API documentation page and generate TypeScript types from it"
  • "Extract the color palette from this website and create a Tailwind config"
  • "Screenshot this design and recreate it in React"

Content and SEO

Use Claude to analyze content at scale:

  • "Scrape this blog post and suggest improvements for SEO"
  • "Extract all FAQ entries from this help center and create a structured dataset"
  • "Compare our landing page to the competitor's and identify gaps"

Monitoring and Alerts

Build agentic workflows that watch the web:

  • "Check if this product is back in stock"
  • "Scrape this page daily and alert me when the price drops below $50"
  • "Monitor this job board for new senior engineering positions"

Pricing — Pay-As-You-Go Web Scraping

No subscriptions. No monthly minimums. Add balance and use it whenever you need it.

Base Scraping Costs

TierMethodCost per RequestUse Case
CurlDirect HTTP$0.0002Static pages, RSS feeds, public APIs
HTTPTLS fingerprinting$0.0003Sites with basic bot detection
StealthBrowser impersonation$0.0005Cloudflare, DataDome, PerimeterX protected sites
Light JSJSON extraction$0.0007Server-rendered pages needing structured data
BrowserHeadless Chromium$0.001Full JavaScript SPAs (React, Angular, Vue)

Optional Add-Ons

Add-OnExtra CostDescription
JavaScript Rendering+$0.0006Headless Chromium for dynamic content
Screenshot Capture+$0.0002Full-page PNG screenshot
Premium Proxy+$0.0002Geo-targeted residential proxy (195+ countries)
OCR Text Extraction+$0.001Extract text from images on the page

$1 = 5,000 light scrapes. New accounts get $1 free balance on signup.


Environment Variables

VariableRequiredDefaultDescription
ALTERLAB_API_KEYYesYour API key (get one free)
ALTERLAB_API_URLNohttps://api.alterlab.ioAPI base URL (for self-hosted or development)

Frequently Asked Questions

How do I add web scraping to Claude, Cursor, or Windsurf?

Install the AlterLab MCP server. For Claude Code, run claude mcp add alterlab -- npx -y alterlab-mcp-server@latest and set your ALTERLAB_API_KEY. For Claude Desktop, Cursor, or Windsurf, add the JSON config block to your MCP settings file. Once configured, your AI assistant can scrape any URL, extract structured data, and take screenshots directly in conversation.

Can Claude scrape websites that are behind Cloudflare or anti-bot protection?

Yes. AlterLab automatically handles Cloudflare, DataDome, PerimeterX, Akamai, and other anti-bot systems. It uses a multi-tier approach that starts with the cheapest method and escalates only when blocked. You don't need to configure anything — anti-bot bypass is fully automatic.

What is an MCP server and how does it work with Claude?

MCP (Model Context Protocol) is Anthropic's open standard for connecting AI assistants to external tools and data sources. An MCP server is a small program that exposes tools — like web scraping — that Claude, Cursor, or Windsurf can call during a conversation. The AlterLab MCP server gives your AI assistant 23 tools: scrape, extract, screenshot, crawl, search, map, batch scraping, session management, beta features, and more.

How is AlterLab different from Firecrawl, ScrapingBee, or Apify MCP servers?

AlterLab starts at $0.0002 per request — 5-20x cheaper than most scraping APIs — because it only uses expensive browser rendering when a site actually requires it. Smart tier escalation means you pay for what each site needs, not the maximum. AlterLab also includes built-in structured data extraction with pre-built profiles (product, article, job posting, etc.) at no extra cost.

Can I scrape Amazon, Walmart, and other e-commerce sites from Claude?

Yes. AlterLab handles all major e-commerce anti-bot protection. Use the alterlab_extract tool with extraction_profile: "product" to get structured JSON: product name, price, currency, rating, review count, availability, and images — ready for analysis, comparison, or data pipelines.

Can Cursor scrape documentation and generate code from it?

Yes. With AlterLab MCP installed in Cursor, you can ask it to scrape API documentation, library docs, or any reference page and generate TypeScript types, API clients, or component code from the live content. This is more reliable than relying on the LLM's training data, which may be outdated.

Does AlterLab MCP work with JavaScript-heavy sites (React, Angular, Vue)?

Yes. Use render_js: true or set mode: "js" to enable full headless Chromium rendering. AlterLab renders the complete page including all JavaScript, waits for dynamic content to load, then extracts content from the fully rendered DOM. This works for React, Angular, Vue, Next.js, and any other JavaScript framework.

What output format is best for AI and LLM context windows?

Use markdown (the default). It preserves document structure — headings, tables, lists, links — while being 60-80% smaller than raw HTML. Claude, GPT-4, and other LLMs process markdown significantly better than HTML. AlterLab's markdown output is specifically optimized for LLM context windows.

Is there rate limiting?

Free-tier accounts have rate limits. Adding any balance removes rate limits. The MCP server includes automatic retry with exponential backoff for transient rate limit errors (429).

Can I use this MCP server for large-scale scraping?

Yes. For parallel scraping, use alterlab_batch to scrape up to 100 URLs in a single request — much faster than sequential calls. For crawling entire domains, use alterlab_crawl. You can also build agentic workflows that scrape many URLs sequentially, or use the n8n integration for workflow automation.


Error Handling

The MCP server returns helpful error messages with suggested next actions:

ErrorWhat HappensSuggested Action
401 UnauthorizedInvalid API keyCheck ALTERLAB_API_KEY is set correctly
402 Insufficient CreditsBalance too lowRun alterlab_check_balance, add funds
403 ForbiddenSite blocked the requestTry render_js: true + use_proxy: true
429 Rate LimitedToo many requestsAutomatic retry with backoff
504 Gateway TimeoutScrape took too longIncrease timeout, simplify request

Agentic Workflows — AI Agents That Scrape the Web

AlterLab MCP turns any AI agent into a web-capable agent. Instead of relying on stale training data, your agent can fetch live information from any website during execution.

Use Cases for AI Agents

  • Research agents — scrape multiple sources, cross-reference facts, generate reports with citations
  • Data pipeline agents — extract structured product/pricing/job data on a schedule
  • Competitive intelligence — monitor competitor pages, track pricing changes, detect new features
  • Content generation — scrape real data to ground LLM output in facts, not hallucinations
  • Lead enrichment — scrape company websites to enrich CRM records with live data
  • Compliance monitoring — check regulatory pages, terms of service, and policy updates

Compatible AI Frameworks and Clients

Works with any tool that supports MCP (Model Context Protocol):

  • Claude Desktop / Claude Code — Anthropic's AI assistant
  • Cursor — AI-powered code editor
  • Windsurf — Codeium's AI IDE
  • Cline — VS Code AI assistant
  • GitHub Copilot — via MCP configuration
  • Custom agents — any framework using the MCP SDK (Python, TypeScript, Go)
  • n8n — workflow automation via n8n-nodes-alterlab

Contributing

git clone https://github.com/RapierCraft/alterlab-mcp-server.git
cd alterlab-mcp-server
npm install
npm run build

Support

License

MIT