Scrapeunblocker Mcp

com.scrapeunblocker由 scrapeunblocker.com 發布v0.12.6更新於 Nov 7, 2026

Fetch any web page's HTML or AI-parsed JSON, or run 100+ site plugins, via ScrapeUnblocker.

發布方自己的服務:Scrapeunblocker Mcp Remote

概覽

AI 產生的概覽

ScrapeUnblocker MCP 讓助理抓取被封鎖或需渲染的網頁(HTML、Markdown 或解析後的 JSON)、搜尋 Google,並執行 100 多個網站擷取外掛。

可以做什麼
  • 擷取網頁,回傳渲染後的 HTML、乾淨的 Markdown 或 AI 解析的結構化 JSON,可繞過反機器人保護
  • 搜尋 Google 並一次讀取前幾筆結果,另含 Google 購物、在地商家、圖片與地圖地點詳情
  • 執行互動式瀏覽器步驟(點擊、輸入、選擇、捲動、等待),並列出頁面元素及可直接使用的選擇器
  • 執行現成的網站外掛取得結構化 JSON,Amazon、Walmart、eBay、Zillow、Indeed、Trustpilot、Booking.com、YouTube 等另有獨立工具
  • 搜尋 YouTube 並取得影片字幕
適用情境
適合助理需要一般擷取拿不到的即時網頁內容時:回傳 403/429 或驗證碼的頁面、需互動後才出現的內容,或從已知網站取得商品、房源、評論、職缺與住宿等結構化資料。
執行需求
以 stdio 在本機執行,通常透過 npx 啟動,需要 Node.js。需要 ScrapeUnblocker 帳號與 API 金鑰,透過環境變數 SCRAPEUNBLOCKER_KEY 提供。需要連線至 ScrapeUnblocker API 的網路,用量按請求計費。
安裝前請注意
API 金鑰是付費憑證;每次擷取、搜尋與外掛執行都按 API 請求計費,search_and_read 按一次搜尋加每頁一次請求計費。browse_page 並非唯讀:其步驟會作用於真實網站且不可重複執行。頁面內容與網址會傳送給 ScrapeUnblocker。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Scrapeunblocker Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ScrapeUnblocker MCP server

A Model Context Protocol server that lets Claude (and any other MCP client) fetch any web page's HTML - or run one of 100+ ready-made site plugins that return structured JSON - through the ScrapeUnblocker scraping API, bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape).

You bring your own API key. Nothing is shared or proxied through us.

Tools

ToolWhat it does
fetch_htmlFetch the fully rendered HTML of a URL.
browse_pageRun interactive browser steps on a page (click, type, select, scroll, wait), then return the resulting HTML. Not read-only: it acts on the website.
list_elementsList a page's notable elements with a ready-to-use selector for each (selector discovery).
fetch_parsedFetch a page and return AI-parsed structured JSON.
google_searchRun a Google search and return the results page as JSON: organic results with real URLs, favicons, sitelinks and ratings, ads, AI Overview, People also ask, related searches with links, knowledge panel, news, videos, local and shopping results.
fetch_markdownFetch a page and return it as clean Markdown: the main content with absolute links, without scripts, styles, navigation or footer. Usually 2-25% the size of the HTML, so it is the cheap way for a model to read a page.
search_and_readSearch Google and read the top results in one call: Google's AI Overview (when there is one), the first 1-5 result pages as Markdown, and the other results as title, URL and snippet. Billed as one search plus one request per page read.
list_pluginsList the ready-made site plugins (100+: Amazon, Walmart, Zillow, Booking.com, Indeed, Google Trends, YouTube, App Store, Ahrefs, ...) with their parameters. Free - it calls nothing.
run_pluginRun one site plugin and return its structured JSON.
amazon_search, amazon_product, amazon_reviews, walmart_search, ebay_search, google_shopping, google_local, maps_place_details, google_images, youtube_search, youtube_transcript, zillow_search, indeed_jobs, trustpilot_reviews, booking_hotelsThe most-used site plugins as tools of their own, each with its parameters in the tool schema - one call, no list_plugins lookup. Same JSON as run_plugin.

Site plugins (structured JSON for known sites)

For many popular sites there is a plugin that returns the data already parsed - a Target search, a Zillow listing search, an app's App Store reviews, Google Trends for a few keywords. The model calls list_plugins (optionally with search: "zillow" or a category) to find the plugin and its parameters, then run_plugin with name and params (the most-used plugins, listed in the table above, can also be called directly as their own tools):

json
{ "name": "target_search", "params": { "query": "coffee maker", "max_results": 20 } }

Every plugin and parameter is documented on the plugin pages. Each run is billed like an API request.

Browser steps (interact, then capture)

Some pages only reveal what you need after you interact with them - accept a cookie banner, click a tab, type into a search box and submit, or scroll to trigger lazy loading. Pass a steps array to browse_page and those actions run in a real browser, in order, after the page loads; the resulting HTML is then returned.

Available actions:

ActionFields
wait_forselector, selector_type? (css/xPath/className/tagName), timeout_ms?
wait_for_textvalue, timeout_ms?
waitvalue (ms)
clickselector, selector_type?, timeout_ms?
typeselector, selector_type?, value, clear?, timeout_ms? (typed human-like)
selectselector, selector_type?, value, timeout_ms?
press_keyvalue (Enter, Tab, Escape, Backspace, Delete, Space, Arrow*, Home, End, PageUp, PageDown)
scrollvalue ("bottom" or a pixel offset)

Steps are not idempotent - they run once per call - and they act on the website, so browse_page is the one tool not marked read-only. If a step fails, browse_page returns which step failed, why, and the page HTML at that moment so you can fix the selector and retry.

List elements (discover selectors first)

list_elements loads a page and returns a JSON list of its notable elements (links, inputs, buttons, selects, ...), each with a ready-to-use selector plus tag, text and useful attributes (name, id, type, placeholder, aria_label, href, ...):

json
{ "url": "https://example.com", "count": 42, "elements": [ { "tag": "input", "selector": "#search", "type": "text", "placeholder": "Search", "aria_label": "Search" } ] }

The natural workflow is discover, then act: call list_elements to find the selectors you need, then pass matching steps to browse_page to click/type/ select and capture the resulting HTML.

Get an API key

Sign up and grab your key at app.scrapeunblocker.com. The server reads it from the SCRAPEUNBLOCKER_KEY environment variable.

Install

Claude Code

The easiest route is the official plugin, which installs this server for you, prompts for your API key (stored in your OS keychain rather than an environment variable), and adds a /scrape-url command plus reference skills:

/plugin marketplace add ScrapeUnblocker/claude-code-plugin/plugin install scrapeunblocker@scrapeunblocker

See ScrapeUnblocker/claude-code-plugin.

To add the bare server instead:

bash
claude mcp add scrapeunblocker \  --env SCRAPEUNBLOCKER_KEY=your_api_key_here \  -- npx -y scrapeunblocker-mcp

Claude Desktop

Add this to your claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "scrapeunblocker": {      "command": "npx",      "args": ["-y", "scrapeunblocker-mcp"],      "env": {        "SCRAPEUNBLOCKER_KEY": "your_api_key_here"      }    }  }}

Restart Claude Desktop and the ScrapeUnblocker tools appear.

Any other MCP client

Run the server over stdio:

bash
SCRAPEUNBLOCKER_KEY=your_api_key_here npx -y scrapeunblocker-mcp

Example prompts

  • "Fetch the HTML of https://www.example-shop.com/product/123 and list the price."
  • "This page keeps blocking me: . Use fetch_html to get it."
  • "List the elements on , then use browse_page to type 'laptop' into the search box, press Enter, wait for the results, and give me the HTML."
  • "Search Google for 'best running shoes 2026' and give me the top 5 links."
  • "Read https://en.wikipedia.org/wiki/Web_scraping as Markdown and summarise it in five bullets."
  • "Search the web for the current population of Vilnius and cite the pages you read."
  • "Find coffee makers on Target under $50 and compare them with Walmart's."
  • "Show Google Trends for 'coffee' vs 'tea' in the US over the last year."
  • "What are the newest App Store reviews of WhatsApp saying?"

Development

bash
npm installnpm run build      # bundles to dist/ with tsupnpm run typechecknpm test           # builds, then runs the tools against a local stand-in APISCRAPEUNBLOCKER_KEY=... node dist/index.js   # run the server

License

MIT

來源:README.md,提交 f3926f4

工具

24

fetch_html

Fetch page HTML

Fetch the fully rendered HTML of any web page through ScrapeUnblocker, bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape). Use this when a normal fetch is blocked (403/429, captcha, 'access denied') or when the page needs a real browser to render. Returns the raw HTML as text. To read or summarise a page, fetch_markdown is much smaller. To click, type or scroll before capturing, use browse_page.

輸入參數url必填wait_valuewait_methodproxy_countrysleep_secondsmethod_timeout_seconds

browse_page

Interact with a page, then capture it

Load a web page in a real browser through ScrapeUnblocker, run an ordered list of browser actions on it (accept a cookie banner, click a tab, type into a search box, choose an option, press a key, scroll to trigger lazy loading, wait), then return the resulting HTML. Workflow: first call the `list_elements` tool to discover the real selectors on the page, then build `steps` against them. Steps act on the website and are NOT idempotent - they run once per call; never use them to buy, post, delete or change anything unless the user asked for exactly that. If a step fails, this tool returns which step failed, why, and the page HTML at that moment so you can fix the selector and retry. Billed as one request.

輸入參數url必填steps必填wait_valuewait_methodproxy_countrysleep_secondsmethod_timeout_seconds

list_elements

List page elements (selector discovery)

Load a page through ScrapeUnblocker and return a JSON list of its notable elements (links, inputs, buttons, selects, etc.) with a ready-to-use `selector` for each, plus tag, text and useful attributes (name, id, type, placeholder, aria_label, href, ...). Read-only and does not interact with the page. This is the discovery half of interactive scraping: call `list_elements` to find the selectors you need, then pass matching `steps` to `browse_page` to click/type/select and capture the resulting HTML.

輸入參數url必填proxy_country

fetch_parsed

Fetch AI-parsed page data

Fetch a web page through ScrapeUnblocker and return AI-parsed structured JSON instead of raw HTML (e.g. product details, article content). Best for extracting fields from product, listing or article pages without writing your own HTML parsing. If the page holds no structured data, the result says so and returns the rendered HTML instead (billed like fetch_html).

輸入參數url必填rules_hintproxy_country

fetch_markdown

Fetch page as Markdown

Fetch a web page in a real browser through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return it as clean Markdown: the main content with absolute links, without scripts, styles, navigation or footer. Use it to read, quote or summarise a page; it is usually 2-25% the size of the HTML. Works on JavaScript-rendered pages and on pages that refuse ordinary fetches (403/429, captcha). Use fetch_html instead when you need the markup, selectors or browser steps. Billed as one request.

輸入參數url必填wait_valuewait_methodproxy_countrysleep_secondsmain_content_only

search_and_read

Search Google and read the top results

Search Google through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and read the top results in one call: returns Google's AI Overview when there is one, each of the first `results` pages (default 3, max 5) as Markdown, and the other organic results as title, URL and snippet. Use it to answer a question from the live web. Billed as one request for the search plus one per page read.

輸入參數keyword必填resultsproxy_country

list_plugins

List site plugins

List ScrapeUnblocker's ready-made site plugins: scrapers for specific sites that return clean structured JSON (Amazon, Walmart, Target, eBay, Zillow, Redfin, Booking.com, Airbnb, Indeed, Glassdoor, Google Trends / Shopping / Maps, YouTube, Spotify, App Store, Google Play, Trustpilot, Yelp, Ahrefs, Semrush and 100+ more). Check here before scraping a known site with fetch_html - a plugin returns the data already parsed. Without arguments it lists every plugin with its parameters (* = required); `category` or `search` narrow the list; `name` returns one plugin's full parameter docs. Free - it calls nothing.

輸入參數namesearchcategory

run_plugin

Run a site plugin

Run one ScrapeUnblocker site plugin and return its JSON - e.g. a Target or Walmart search, a Zillow listing search, Google Trends for some keywords, an app's App Store reviews. Find the plugin and its parameters with list_plugins first. `params` uses the parameter names list_plugins shows (snake_case); a list value is fine where a parameter takes several. Each run is billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數name必填params

amazon_product

Scrape an Amazon product page

Fetches a single Amazon product and returns it as JSON: `title`, `brand`, `price` + `currency`, `listPrice` and `savingsPercent`, `availability` (+ a boolean `inStock`), `rating`, `reviewCount`, `seller`, `features` (bullet points), `categories` (breadcrumb) and `images`. Identify the product with either `asin` (plus `marketplace`) or a full product `url`. Amazon prices each page in the currency of the delivery location it infers from the visitor's IP address, so `proxy_country` defaults to the marketplace's home country (amazon.com -> US) and the call is routed through proxies in that country. The country of the proxy that served the request is reported as `exitCountry`. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數urlasinmarketplaceproxy_country

amazon_reviews

Scrape the reviews on an Amazon product page

Returns the review data an Amazon product page shows to a signed-out visitor, as JSON: the overall `rating`, total `reviewCount` (global ratings), the 5..1-star `histogram` (percent per star), the AI `customersSay` summary (overall text plus per-aspect `sentiment`, `mentions`, `positive`, `negative`, `summary` and the quoted review `excerpts` Amazon shows for the aspect) and the top `reviews` (each with `id`, `url`, `author`, `rating`, `title`, `body`, `date`, `country`, `fromOtherCountry`, `verified`, `helpfulVotes`, `variant` and `images`). Identify the product with `asin` (plus `marketplace`) or a product `url`. Scope: Amazon only shows its full review list to signed-in customers, so this endpoint returns the public slice on the product page - typically 5 to 13 top reviews, local ones first and then reviews from other countries - not a complete review export. When Amazon hides the top reviews behind a sign-in prompt (common on amazon.com), `reviewsGated` is `true` and `reviews` is empty; the rating, histogram and customers-say data, including its review excerpts, are still returned. Every field is always present and is `null` when the page does not show it. `proxy_country` defaults to the marketplace's home country; the country of the proxy that served the request is reported as `exitCountry`. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數urlasinmarketplaceproxy_country

google_shopping

Scrape Google Shopping product listings

Runs the Google Shopping vertical (`udm=28`) for `q` and returns the product cards as JSON: `title`, `price`, `currency`, `currencyCode`, `originalPrice`, `discount`, `merchant`, `rating`, `reviewCount` and Google's own ids for the product (`productId`, `catalogId`, `offerId` - stable across searches, for tracking one product). Set `proxy_country`/`gl` to target a market (prices/merchants are region-specific) and `min_price`/`max_price` to filter. One render returns the first page of products (v1). Note: Google Shopping exposes no per-product URL, so `url` is omitted and `image` is best-effort. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數q必填glmax_pricemin_pricemax_resultsproxy_country

google_local

Scrape Google Local business listings

Runs a Google Local (`tbm=lcl`) search for `keyword` and returns up to ~20 businesses as JSON: `name`, `rating`, `reviews`, `price`, `category`, `address`, `phone`, `website`, `hours`, and a top `review_snippet`. `phone` and `website` are null when Google does not render them for that result - service businesses (plumbers, contractors) almost always carry both. Local results are location-sensitive - set `proxy_country` (and optionally `gl`/`hl`) to target a market. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數glhlkeyword必填proxy_country

maps_place_details

Scrape Google Maps place details

Returns the full data for one Google Maps place as JSON: `name`, `address` (+ `addressLines`), `phone`, `website`, `rating`, `categories`, `latitude`/`longitude`, `plusCode`, `hours` + `openNow`, `description`, `photo`, `cid`, `featureId`, `googleMapsUrl` and `relatedPlaces`. Identify the place with `place_id` (ChIJ...), a Maps `url`, or a raw `feature_id` (0xHEX:0xHEX). Location-neutral - the feature id resolves the place directly; `proxy_country` defaults to a US proxy to clear Google's consent wall. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數glhlrawurlplace_idfeature_idproxy_country

google_images

Scrape Google Images results

Runs the Google Images vertical (`udm=2`) for `q` and returns the image results as JSON. Every result carries `imageUrl` (the full-resolution origin image, not a Google thumbnail; for an image found inside a document such as a PDF, which has no URL of its own, it is Google's thumbnail and `sourcePageUrl` is the document), `sourceDomain` and `googleImagesUrl` (the Google Images viewer link, i.e. the `/imgres?...` URL a browser copies from the result tile), plus `sourcePageUrl`, `title`, `sourceName`, `thumbnailUrl`, `width`, `height` and `fileSize` where available. Set `proxy_country` to target a market: the Google market (`gl`) follows it automatically, and `gl` is only an optional override. `pages` fetches up to 5 result pages of ~100 each; every page fetched is billed as one request. `time_range` (past hour/day/week/month/year) or `date_from`/`date_to` limit the results to images Google found in that period, so a repeated scan returns only what is new. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數q必填glpagesdate_todate_fromtime_rangemax_resultsproxy_country

youtube_transcript

Get a YouTube video transcript

Returns a YouTube video's captions as JSON: timestamped `segments` (`start`, `dur`, `text`) and a joined `text`, plus `availableLanguages`, the picked `language`, `isAutoGenerated`, and the video's `title`, `author` and `lengthSeconds`. Pass a video id or any YouTube video URL; choose a caption language with `lang`. Ideal for LLM/RAG pipelines, subtitles and content analysis. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數langvideo必填formatproxy_country

indeed_jobs

Scrape Indeed job listings

Searches Indeed for `query` in `location` and returns the job listings as JSON: `title`, `company`, `location`, `salary` (with parsed `min`/`max`), `jobTypes`, `companyRating`, a `snippet`, `datePosted` (YYYY-MM-DD), `sponsored` (Indeed's paid placement) and a clean job `url`. Filter with `country`, `job_type`, `days` (posting age), `remote`, sort with `sort` (`date` returns the collected jobs newest first, sponsored ones included), and collect up to `max_results` across pages. Indeed sits behind Cloudflare + PerimeterX - handled for you. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數dayssortquery必填startradiusremotecountryjob_typelocationmax_resultsproxy_country

trustpilot_reviews

Scrape Trustpilot company reviews

Returns a company's Trustpilot profile and reviews as JSON. `company` is the reviewed domain (e.g. `www.nike.com`). The response has a `company` summary (`trustScore`, `totalReviews`, `ratingDistribution` 1-5, `categories`, `contact`) and a `reviews` array - each with `rating`, `title`, `text`, `verified`, `author` (name, country, review count), `reply` (the company's response) and dates. Page with `page`/`pages` (20 reviews per page), and filter with `stars`, `sort` (recency/relevancy), `language`, `date`, `search`, `verified` or `replies`. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數datepagesortpagesstarssearchcompany必填replieslanguageverifiedproxy_country

booking_hotels

Scrape Booking.com hotels

Searches Booking.com for `location` and returns the properties as JSON: `name`, `price` (with `checkin`/`checkout`), `reviewScore`, `address`, coordinates, `image` and a hotel `url`. Set `adults`, `children`, `rooms` and `currency`, and collect up to `max_results` across pages. Prices only appear when check-in/check-out dates are given. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.

輸入參數roomsadultscheckincheckoutchildrencurrencylocation必填max_resultsproxy_country

版本歷史

18
  1. v0.12.6最新Nov 5, 2026
  2. v0.12.5Nov 4, 2026
  3. v0.12.3Nov 4, 2026
  4. v0.12.2Nov 3, 2026
  5. v0.12.1Nov 3, 2026
  6. v0.11.1Oct 30, 2026
  7. v0.11.0Oct 30, 2026
  8. v0.10.0Oct 29, 2026
  9. v0.8.1Oct 25, 2026
  10. v0.8.0Oct 23, 2026
  11. v0.6.0Oct 20, 2026
  12. v0.4.0Oct 16, 2026
  13. v0.3.4Oct 15, 2026
  14. v0.3.3Oct 14, 2026
  15. v0.3.2Oct 13, 2026
  16. v0.2.2Sep 30, 2026
  17. v0.2.1Sep 30, 2026
  18. v0.2.0Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Scrapeunblocker 整合