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 整合