Alterlab

io.alterlab由 alterlab.io 发布官方发布者v1.13.3更新于 Nov 7, 2026

Web scraping MCP server — scrape, extract structured data, screenshot any site with anti-bot bypass.

已验证Streamable HTTP可网页运行网页搜索与抓取浏览器自动化数据与分析

概览

AI 生成的概览

AlterLab 让 AI 助手抓取、爬取并截图网站(可绕过反爬),并从页面中提取结构化 JSON 数据。

可以做什么
  • 抓取单个网址,输出 markdown、文本、HTML 或 JSON,支持分级升级、JS 渲染、代理与浏览器操作
  • 用预设配置或自定义 schema 从已有内容中提取结构化字段
  • 爬取整站、列出站点网址,并执行并行或异步批量抓取
  • 网页搜索、查询搜索结果页、读取缓存新闻,并运行带引用的研究任务
  • 截取整页截图,并管理变更监控与定时抓取计划
  • 查询价格、预估费用、查看余额与用量,并提交反馈或支持工单
适用场景
适合需要实时网页内容、而普通抓取失败的情况:有反爬保护或重度依赖 JavaScript 的页面、商品或文章等结构化数据、为建立索引而整站爬取,以及定时监控页面变化。
运行要求
可作为远程端点使用,也可通过 npm 包在本地以 Node.js 运行。多数工具需要 ALTERLAB_API_KEY,可选 ALTERLAB_API_URL 覆盖 API 地址。抓取需要账户余额,研究任务使用你自己的 LLM 密钥。
安装前请注意
抓取、爬取、批量任务、监控、定时计划和运行工作流都会消耗账户额度,建议先查看余额与费用预估。账户与 API 密钥会代用户创建,需邮件确认。存储的会话会保存登录 Cookie 用于登录后抓取,支持工单会向人工发送邮件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Alterlab,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.alterlab%2Fmcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "alterlab": {
      "type": "http",
      "url": "https://mcp.alterlab.io/mcp"
    }
  }
}

README

[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

bash
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

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

Smithery

bash
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.002/req) — Browser impersonation for Cloudflare/DataDome-protected sites
  4. Light JS ($0.0025/req) — Lightweight JS extraction from server-rendered HTML
  5. Browser ($0.004/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):

json
{  "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:

json
{  "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):

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

Install via Smithery

bash
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
method / body / content_type / headersenum / string / enum / objectGETPOST support (1.5x cost) and custom target headers
formats(text|json|json_v2|html|markdown|rag|content|raw)[]["markdown"]Output formats
extraction_schema / extraction_promptobject / string—LLM extraction (+$0.001)
extraction_profile / extraction_templateenum—auto, product, article, job_posting, faq, recipe, event, ecommerce_homepage, directory_listing (template is a deprecated alias)
extraction_provider / extraction_modelenum / string—BYOK LLM selection
evidence, promote_schema_org, filter_contentboolean—Extraction behaviour
cache, cache_ttl, force_refreshboolean / number / boolean—Response caching (cache_ttl 60-86400)
render_jsboolean | "auto"API defaultHeadless browser (forces Browser tier, $0.004)
use_proxy, proxy_countryboolean, string—Premium proxy (+$0.0002) and geo-targeting
use_own_proxy, use_system_proxy, proxy_integration_idboolean, boolean, string—Bring-your-own-proxy selection
skip_tls_verificationboolean—Omit (recommended) = verify, fall back on invalid certs; true skip, false require valid cert
wait_for, wait_until, wait_conditionstring—Selector / load-event waits
actionsobject[] (max 20)—Browser actions: wait, wait_for, click, fill, press, scroll, infinite_scroll, screenshot, evaluate
screenshot, generate_pdf, ocrboolean—Add-ons (+$0.0002 / +$0.0004 / +$0.001)
scroll_to_load, scroll_count, enable_scrollboolean / 1-10 / boolean—Lazy-load handling
include_iframes, flatten_shadow_dom, block_images, remove_cookie_bannersboolean—Rendering options
section_filterobject—Filter for json_v2 sections
session_id, cookies, session_headersUUID, object, object—Authenticated scraping
sticky_session, sticky_session_ttlstring, 300-7200—Reuse cookies and exit IP across calls (paid plans)
location{country, language}—Geo-targeting
cost_controlsobject—force_tier, max_tier, max_credits, prefer_cost, prefer_speed, fail_fast, time_budget (prefer_cost, prefer_speed, fail_fast also accepted at top level)
embeddingsobject—enabled, model, chunk_size, chunk_overlap (+$0.001/page)
sync_policyauto | wait_until_deadlineautoWait behaviour for long scrapes
timeout, max_response_bytes, include_raw_htmlnumber, number, boolean90, 5 MB, falseLimits and raw output
estimate_firstbooleanfalseRun a free cost estimate first

Not exposed: source (dashboard tracking tag), sync (the tool is always synchronous), webhook_url (use alterlab_batch/alterlab_crawl webhooks). If a scrape outlives the ~85s synchronous window the tool returns a job_id; fetch it with alterlab_get_job.

alterlab_extract — Extract Structured Data

Extract structured fields from HTML, text or markdown content 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
contentstring (max 500,000)requiredHTML, text or markdown you already have (this tool does not fetch a URL)
content_typehtml | text | markdownhtmlType of content
extraction_profile / extraction_templateenum—Profile: auto, product, article, job_posting, faq, recipe, event, ecommerce_homepage, directory_listing
extraction_schemaobject—Custom JSON Schema for structured output
extraction_promptstring—Natural language extraction instructions
extraction_provider / extraction_modelenum / string—BYOK LLM selection
formatsenum[]["json"]Output formats
source_url, evidencestring, boolean—Context URL and provenance
cache, cache_ttlauto | skip | only, numberautoExtraction result cache

To scrape and extract in one step, use alterlab_scrape with extraction_schema.

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_forstring—CSS selector to wait for before capture
wait_untilenumnetworkidlenetworkidle, domcontentloaded, or load
timeoutnumber90Timeout in seconds (1-300)
use_proxy, proxy_countryboolean, string—Premium proxy and geo-targeting
session_id, cookiesUUID, object—Screenshot pages behind a login
location{country, language}—Geo-targeting

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
methodGET | POSTGETPOST costs 1.5x
render_jsboolean | "auto"falseInclude JS rendering cost
use_proxy, use_own_proxybooleanfalseInclude proxy cost / BYOP discount
screenshot, generate_pdf, ocrboolean—Include add-on cost

alterlab_get_job — Fetch an Async Job

Fetch the status and result of a scrape that returned a job_id (a scrape that outlived the synchronous wait window). Parameter: job_id (string, required).

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")
consentbooleanrequiredMust be true: explicit GDPR consent to store the cookies (the API rejects creation otherwise)
cookiesRecord<string,string> | cookie objects[]—Cookies as key-value pairs or {name, value, domain, path, ...} objects
headersRecord<string,string>—Custom headers (e.g. a User-Agent)
expires_at, notesstring—Expiry (ISO 8601) and notes
auto_refresh_enabled, notify_before_expiry, notify_on_failurebooleantrueHealth checks and notifications
organization_id, sharedUUID, boolean—Organization sharing

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.002Cloudflare, DataDome, PerimeterX protected sites
Light JSJSON extraction$0.0025Server-rendered pages needing structured data
BrowserHeadless Chromium$0.004Full JavaScript SPAs (React, Angular, Vue)

Optional Add-Ons

Add-OnExtra CostDescription
JavaScript Renderingforces Browser tierNo separate add-on: render_js bills the Browser tier ($0.004)
PDF Generation+$0.0004PDF of the rendered page
LLM Extraction / Embeddings+$0.001extraction_schema / extraction_prompt, embeddings
POST requestsx1.5method: "POST" costs 1.5x the tier price
Own proxy (BYOP)-20%use_own_proxy discount on the tier price
Search$0.001 / $0.004duckduckgo / google and bing engines
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_KEYYes—Your 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.).

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

bash
git clone https://github.com/RapierCraft/alterlab-mcp-server.gitcd alterlab-mcp-servernpm installnpm run build

Support

License

MIT

来源:README.md,提交 2bd2f49

工具

31

alterlab_scrape

Scrape URL

Fetch one URL and return its content as clean markdown, text, HTML, or JSON. Use when a normal fetch returns 403/429, a bot-protection challenge page, a CAPTCHA, or an empty JavaScript shell. Website challenges and JavaScript-heavy pages are handled automatically by a 5-tier system that starts at the cheapest tier that works and escalates only when needed. Returns markdown by default, ready for LLM context. Supports GET and POST via method, structured extraction via extraction_schema or extraction_prompt, and cost caps via cost_controls. Supports browser actions via actions, plus screenshot and generate_pdf; the response includes action_results, one entry per action with index, type, success, error, result (evaluate) and screenshot_url (screenshot actions). When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数url必填bodymodecachemethodactionscookiesformatstimeoutevidencelocationtemplate另有 28 个

alterlab_extract

Extract Structured Data

Extract structured data (prices, product info, contact details, custom fields) as JSON from HTML, text or markdown you already hold. Use when you have content and need specific fields. Does not fetch a URL: to fetch and extract in one step, use alterlab_scrape with extraction_schema. LLM extraction (extraction_prompt, extraction_schema) requires your own LLM API key (OpenAI, Anthropic, OpenRouter, etc.) added in the dashboard BYOK settings; without one it fails with byok_key_required. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数cachecontent必填formatsevidencecache_ttlsource_urlcontent_typeextraction_modelextraction_promptextraction_schemaextraction_profileextraction_provider另有 1 个

alterlab_screenshot

Capture Screenshot

Capture a full-page PNG screenshot of one URL, an image rather than text content. Use when a normal fetch returns 403/429, a bot-protection challenge page, a CAPTCHA, or an empty JavaScript shell. Works on anti-bot-protected sites, rendered in a real headless browser. Use wait_for to wait for an element and wait_until to control load timing. Pass actions (for example dismiss_consent or evaluate) to prepare the page; the screenshot is captured after they run and action_results is returned. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数url必填actionswait_forwait_until

alterlab_crawl

Crawl Website

Crawl a whole website and return the content of every page, for RAG, indexing or site-wide export. Use when you need many pages from one domain; for one URL use alterlab_scrape, for a URL list only use alterlab_map. Works on JavaScript-heavy and protected sites, with anti-bot handling on every page. Returns a crawl_id immediately; results are available from GET /api/v1/crawl/{crawl_id}. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数url必填formatsheaderssitemaptimeoutwait_formax_depthmax_pagesrender_jsuse_proxywebhook_urlsitemap_path另有 9 个

alterlab_research

Deep Research

Answer a hard question with a cited report or structured JSON by running a budgeted research job: it plans searches, reads many sources, follows leads and attaches a citation to every claim. Use when one search is not enough; for a quick lookup use alterlab_search. Runs on your own LLM key (BYOK); without one it returns byok_key_required and charges nothing. Set effort (lite, standard, deep, exhaustive) and max_cost_microcents to cap spend. The call waits within the tool time budget; if the job is still running it returns the job id and status, and you call again with job_id to fetch it. Returns status, cost, coverage, warnings and the result.

输入参数modelqueryeffortjob_idoutputsourcescriteriaprovidermax_depthmax_sourcesmin_sourcesoutput_schema另有 1 个

alterlab_map

Map Website URLs

List every URL on a site via sitemap parsing and link extraction, without fetching page content. Use before alterlab_crawl or alterlab_batch to choose pages; to read the content itself use alterlab_crawl. Works on JavaScript-heavy and protected sites. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数url必填searchsitemapmax_depthmax_pagessitemap_pathrespect_robotsexclude_patternsinclude_metadatainclude_patternsinclude_subdomains

alterlab_batch_scrape

Scrape Multiple URLs

Scrape 2-20 URLs in parallel and get every result back in one synchronous call, no polling required. Use when a normal fetch returns 403/429, a bot-protection challenge page, a CAPTCHA, or an empty JavaScript shell. Failed URLs report their error; successful ones return content. For 20+ URLs use alterlab_batch. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数urls必填formatstimeoutrender_jsuse_proxymax_concurrent

alterlab_batch

Start Batch Job

Start an asynchronous batch job for a large URL set (up to 100 per call) and poll for results later. Use when a normal fetch returns 403/429, a bot-protection challenge page, a CAPTCHA, or an empty JavaScript shell. Each URL can have its own mode, formats and extraction_schema. Returns a batch_id immediately; results are available from GET /api/v1/batch/{batch_id}. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数urls必填webhook_url

alterlab_estimate_cost

Estimate Scrape Cost

Estimate the credit cost of scraping a URL before you run it. Use when cost matters or before a large job; no credits are charged. Returns the predicted tier, estimated cost and confidence. Full machine-readable price list: GET https://alterlab.io/api/v1/pricing (public, no auth). When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数url必填modeformatsrender_jsuse_proxy

alterlab_pricing

Get Pricing

Get AlterLab's machine-readable price list: per-tier cost, bring-your-own-proxy discount, cache-hit discount, add-ons, search and SERP prices, and the free allowance. Use when deciding whether AlterLab fits a budget, before any account exists. Free and keyless; nothing is scraped or charged. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

无需输入参数。

alterlab_news

Get News Headlines

Search aggregated news headlines from curated public sources: headline, URL, source, published time, author, image, short snippet and category. Use to find what is being reported on a topic. Served from a cache that refreshes about every 15 minutes, so a call never triggers a fetch; free and keyless, no credits are spent. Returns metadata only, not article text: to read an article, call alterlab_scrape on its URL. Cite results as 'News via AlterLab'.

输入参数limitquerysincesourcecategorylanguage

alterlab_keyword_ideas

Get Keyword Ideas

Fan out a seed keyword across autocomplete (seed + a-z + who/what/how/why/best/vs), People Also Ask and related searches, and get deduplicated ideas, each with source, question flag, intent (question, commercial, navigational, informational) and a 0-1 relevance score. volume is always null: there is no search-volume data, and the score is relevance (frequency across sources and positions), not volume. Billed per successful call; set quote_only=true to get the price first without running anything. Results are cached 7 days per seed, country and language and a cache hit costs half the quote.

输入参数seed必填depthcountrysourceslanguagequote_only

alterlab_ai_visibility

AI Visibility Check

Run prompts against AI answer engines through their public, logged-out interfaces and get, per engine and run, the answer text, whether the brand is mentioned and its position, competitors mentioned, cited URLs and domains and a sentiment label, plus per-prompt mention rate, share of voice and citation share with the sample size. Answers vary run to run, so set runs_per_prompt. Billed per successful engine answer only; an engine that needs login returns engine_unavailable_logged_out and is not billed. Use action=quote (or action=check with quote_only=true) to get the price first, and set hard_cap_microcents to refuse any run quoted above it. action=check (default) runs the check; action=status and action=results read a past run by run_id.

输入参数brandactionrun_idcountryenginespromptsquote_onlycompetitorsbrand_domainsruns_per_prompthard_cap_microcents

alterlab_feedback

Send Feedback

Tell AlterLab when something is hard, or what would make it better. Call this when something blocks you, a result is wrong, or a step is confusing, slow or priced unexpectedly, and also to send a suggestion (category `suggestion`, ideas welcome even when nothing is broken). Describe what you tried, what happened and what you expected. Send sanitized setup or API friction automatically; ask the user first before sending suggestions or anything quoting their data or URLs. Do not include secrets, API keys, passwords or customer data; use a job_id or hostname instead of page content. Works without an API key (rate limited per IP); with a key the report also appears as a ticket in your user's AlterLab dashboard (the response carries its ticket_ref) and similar reports are grouped. Returns a cluster_key and a status_url to check progress. For billing, account or data problems that need a human, use `alterlab_support_ticket` instead. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数newurltried必填job_iddry_runsame_ascategory必填expected必填happened必填tool_namesuggestion

alterlab_support_ticket

Open Support Ticket

Open a support ticket in your user's AlterLab account when they need a human: a billing, account or data problem. Do not use it for scrape friction, blocks or ideas; use `alterlab_feedback` for those. Ask the user first: a ticket reaches a human and emails them. Requires an API key. Describe the problem in `body`; do not include secrets, API keys, passwords or customer data. The user gets the usual confirmation email and the ticket appears in their dashboard. Limited to 3 open tickets and 5 per day per key; when over the limit the error points to the open ticket. Returns ticket_id, ticket_ref and status. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数body必填job_idsubject必填tool_namecategory_slugon_behalf_of_user

alterlab_create_account

Create Account

Create an AlterLab account and API key for your user. Use only when no ALTERLAB_API_KEY exists yet; skip it if a key is already configured. Signup is on behalf of your user (agent signup with human approval). Nothing is created until the human approves: they get an email (and you get a verification_url and user_code to show them) describing what the agent can do. After approval you receive a scoped API key labeled with agent_name, with a default daily spend cap, revocable from the dashboard. No extra free credit is granted; the usual welcome rules apply to the human's account. If the human has not approved yet, the result contains the signup_id, verification_url and user_code; poll GET /api/v1/agent/signup/{signup_id} or call this tool again. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数email必填agent_name

alterlab_create_api_key

Create API Key

Create one scoped, spend-capped API key (ALTERLAB_API_KEY) for the SDK and REST API on this machine. Works only when the user ticked "Also create an API key for this machine" on the OAuth approval screen, so no second approval is needed. Skip it if a key is already configured. The key is labeled with your client name, carries the same read/write permissions and daily spend cap as this connection (never billing), and is revocable from the dashboard. The plaintext is returned once: store it in the environment immediately without printing it. A repeat call returns key metadata only. If it fails with a permission error, the box was not ticked: use alterlab_create_account instead. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

无需输入参数。

search_alterlab

Search AlterLab Docs

Use this to look up how to do something with AlterLab (API parameters, SDKs, MCP setup, pricing, error codes, migration from Firecrawl/ScrapingBee/Apify) or to find a guide for scraping a specific site. Searches the docs guides and API reference by default (blog posts only when you pass type=blog); the answer field gives the first actionable step from the best guide with a link. Free: needs no API key and never uses credits. Returns the best matches as title, short snippet, url and markdown_url; pass a url to read_alterlab_page to read the full page as markdown. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数q必填typelimit

read_alterlab_page

Read AlterLab Page

Use this after search_alterlab to read the full text of one AlterLab page as markdown, so you can follow the documented steps instead of guessing. Pass the url of a search result. Only pages on alterlab.io that search_alterlab can return are readable. Free: needs no API key and never uses credits. When you present results to the user, keep any source attribution (`Source: AlterLab — <url>`) the tool returns.

输入参数url必填

alterlab_serp

Search Engine Results

Query a search engine and get structured results: organic listings, ads and related data, from Google, Bing or DuckDuckGo. Use action=search (default) to run a query, or action=history to read earlier SERP queries for your account. Prefer alterlab_search when you also want each result page scraped. Search runs spend credits at the SERP rate.

输入参数citypagequery必填actiondevicecountrylanguagenum_resultssafe_searchsearch_engine

alterlab_job

Job Status

Look up a job by id. action=status (default) returns its status and result once finished; set wait (seconds) to hold the request until the job reaches a terminal status. action=explain returns the ordered per-stage timing breakdown, useful when a job was slow or failed. Job ids come from async scrape, crawl, batch and SERP responses.

输入参数waitactionjob_id必填

alterlab_balance

Balance and Usage

Read account credit data. action=balance (default) returns the current credit balance in microcents (1,000,000 microcents = $1.00) with formatted values. action=usage returns usage statistics. Read-only; call it before an expensive crawl or batch to confirm there are enough credits.

输入参数action

alterlab_monitor

Page Monitors

Manage change monitors. action=create watches a URL on a cron schedule and notifies by webhook when content changes; action=list returns your monitors; action=delete removes one by monitor_id (it stops running and cannot be restored). Each check spends credits like a scrape.

输入参数urlnamelimitaction必填offsetformatstimezonediff_modenotify_onmonitor_idactive_onlywebhook_url另有 2 个

alterlab_schedule

Scrape Schedules

Manage recurring scrape schedules. action=create runs a scrape of one or more URLs on a cron expression; action=list returns your schedules; action=delete removes one by schedule_id (it stops triggering). Every run spends credits like a scrape; minimum intervals depend on your balance tier.

输入参数cronnameurlslimitaction必填offsetformatstimezoneactive_onlyschedule_idwebhook_url

alterlab_workflow_run

Run Workflow

Start an execution of a workflow you saved in the AlterLab dashboard. Optional input_data is passed to the workflow's webhook trigger node. Returns run_id, workflow_id and the initial status. The run spends credits for the steps it executes.

输入参数input_dataworkflow_id必填

alterlab_run_create

Create Run (beta)

Submit a plan of scrape and search steps (beta feature) with a required max_credits budget. Returns the run id, its state and one summed estimate; nothing executes until alterlab_run_approve (or auto_approve when the estimate fits the budget). Use dry_run to validate and estimate without storing a run. The same idempotency_key with the same plan returns the original run. Requires the agent-runs beta to be enabled for the account.

输入参数steps必填dry_runmax_credits必填webhook_urlauto_approveidempotency_key

alterlab_run_approve

Approve Run (beta)

Approve a run that is awaiting approval (beta feature). The budget is reserved in one debit before any step starts; an insufficient balance returns 402 and no step runs. Optionally pass max_credits to lower the budget, or to raise it up to the run estimate. Approving an already approved run is a no-op that returns the current state. Spends credits up to the reserved budget; unused credits are refunded when the run ends.

输入参数run_id必填max_credits

alterlab_run_stream

Stream Run Events (beta)

Read a run's progress events in order (beta feature). Events such as step.started, step.completed, budget.warning and run.succeeded in seq order. The call returns once the run is finished and drained or the server closes the stream. Pass last_event_id from a previous call to receive only newer events. Returns events, last_event_id and truncated.

输入参数run_id必填max_eventslast_event_id

alterlab_run_result

Get Run Result (beta)

Get the current state of a run (beta feature): status, estimate, credits spent and a summary of each step. Poll until the state is terminal (succeeded, partial, failed, cancelled or budget_exhausted).

输入参数run_id必填

alterlab_run_cancel

Cancel Run (beta)

Stop the pending steps of a run (beta feature) and refund the unused part of the reserved budget. Steps already in flight settle first.

输入参数run_id必填

版本历史

10
  1. v1.13.1Nov 7, 2026
  2. v1.12.11Nov 6, 2026
  3. v1.12.10Nov 5, 2026
  4. v1.12.9Nov 4, 2026
  5. v1.12.2Nov 4, 2026
  6. v1.12.0Nov 3, 2026
  7. v1.11.2Nov 3, 2026
  8. v1.10.0Oct 30, 2026
  9. v1.9.0Oct 16, 2026
  10. v1.8.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Alterlab 集成