com.scrapeunblocker/scrapeunblocker-mcp-remote
REMOTE · MCP.SCRAPEUNBLOCKER.COM
Fetch any page's HTML or AI-parsed JSON, Google results, or 100+ site plugins via ScrapeUnblocker
Available components
Last scanned (6 hours ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Search and Retrieval
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability59
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7945 tokens (~331/item across 24 items; 24 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 24 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- Server version: 0.13.4 → 0.13.5 functional
- Server version: 0.13.3 → 0.13.4 functional
- 3 Nov 26 0
- Tool “google_search” rewrote its description, which is the text the model reads security
- Server version: 0.13.2 → 0.13.3 functional
- Server version: 0.13.1 → 0.13.2 functional
- 2 Nov 26 −1
- Tool “google_search” rewrote its description, which is the text the model reads security
- Server version: 0.12.1 → 0.13.1 functional
- “youtube_transcript” reworded the description of “format” cosmetic
- 30 Oct 26 0
- Tool “amazon_product” rewrote its description, which is the text the model reads security
- Tool “amazon_reviews” rewrote its description, which is the text the model reads security
- Server version: 0.12.0 → 0.12.1 functional
- Server version: 0.11.0 → 0.12.0 functional
- “maps_place_details” reworded the description of “url” cosmetic
- “youtube_transcript” reworded the description of “format” cosmetic
- 29 Oct 26 0
- Server version: 0.10.0 → 0.11.0 functional
- Server version: 0.9.1 → 0.10.0 functional
- 25 Oct 26 0
- Server version: 0.9.0 → 0.9.1 functional
- 23 Oct 26 0
- Tool “google_shopping” rewrote its description, which is the text the model reads security
- Server version: 0.7.0 → 0.9.0 functional
- “youtube_transcript” reworded the description of “format” cosmetic
- 20 Oct 26 0
- New tool “browse_page”, which the server declares destructive security
- Tool “fetch_html” rewrote its description, which is the text the model reads security
- Tool “list_elements” rewrote its description, which is the text the model reads security
- Server version: 0.5.0 → 0.7.0 functional
- New tool “fetch_markdown” functional
- New tool “search_and_read” functional
- “fetch_html” dropped the optional parameter “steps” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.scrapeunblocker.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.scrapeunblocker.com | CN=YR1,O=Let's Encrypt,C=US | 18 Sept 2026 | 17 Dec 2026 | RSA 2048 | SHA256-RSA | 579f9f11f13c60804f9b555d07f060af349 |
| SANs: mcp.scrapeunblocker.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.scrapeunblocker.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| scrapeunblocker.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.scrapeunblocker.com/.well-known/oauth-protected-resource", error="missing token", scope="mcp:use"
Bearer resource_metadata="https://mcp.scrapeunblocker.com/.well-known/oauth-protected-resource", error="missing token", scope="mcp:use" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Protected resource metadata
| Document | https://mcp.scrapeunblocker.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.scrapeunblocker.com/mcp |
| Authorisation server | https://login.scrapeunblocker.com/ |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.scrapeunblocker.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.scrapeunblocker.com/mcp | HTTPS enforced | 308 | https://mcp.scrapeunblocker.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
amazon_product Scrape an Amazon product page ~447
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.
| Name | Type | Req | Description |
|---|---|---|---|
| asin | string | – | Amazon product id (10-char ASIN, e.g. 'B0BSHF7WHW'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a full `url`. |
| marketplace | string | – | Regional Amazon site the ASIN belongs to. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, am… |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so the price comes back in the expected currency. |
| url | string | – | Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0BSHF7WHW'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given. |
No output schema declared.
No examples provided.
amazon_reviews Scrape the reviews on an Amazon product page ~609
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.
| Name | Type | Req | Description |
|---|---|---|---|
| asin | string | – | Amazon product id (10-char ASIN, e.g. 'B07PXGQC1Q'; books use their ISBN-10). Give either `asin` (with `marketplace`) or a product `url`. |
| marketplace | string | – | Regional Amazon site the ASIN belongs to. Reviews are read from that store. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.b… |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country. The reviews come from the marketplace itself, so any proxy country returns the same review… |
| url | string | – | Full Amazon product url, e.g. 'https://www.amazon.de/dp/B0D1XD1ZV3'. The ASIN and marketplace are read from it, so `asin`/`marketplace` are not needed when a url is given. |
No output schema declared.
No examples provided.
amazon_search Scrape Amazon search listings ~463
Searches any regional Amazon marketplace for `keyword` and returns the result cards as JSON: `asin`, `title`, `price` + `currency`, `listPrice`, `rating`, `reviewCount`, a clean product `url`, `image`, and the `sponsored` / `prime` flags. Filter with `min_price` / `max_price`, order with `sort` (featured, price_asc, price_desc, avg_review, newest), and page with `page`. Fetch each result's full detail (all fields above plus features and images) through `POST /marketplace/amazon-product`. Some cards show no price on the search page (Amazon defers it, or the item has buying options); those return `price: null` and are kept in the list rather than dropped. `proxy_country` defaults to the marketplace's home country so prices are in the expected currency. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | Search phrase, e.g. 'wireless headphones' or a brand + model. |
| marketplace | string | – | Regional Amazon site to search. Prices and currency differ per marketplace. One of: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.se, amazon.pl, amazon.com.b… |
| max_price | number | – | Highest price to include, in the marketplace's currency. |
| min_price | number | – | Lowest price to include, in the marketplace's currency. |
| page | integer | – | 1-based page number. Default: 1. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the marketplace's home country so prices come back in the expected currency. |
| sort | string | – | Result order: featured, price_asc, price_desc, avg_review, newest. Default 'featured'. Default: featured. |
No output schema declared.
No examples provided.
booking_hotels Scrape Booking.com hotels ~311
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | integer | – | Number of adults. |
| checkin | string | – | Check-in YYYY-MM-DD (needed for prices). |
| checkout | string | – | Check-out YYYY-MM-DD. |
| children | integer | – | Number of children. |
| currency | string | – | Price currency: USD, EUR, GBP, AUD, CAD, CHF, JPY, CNY, INR, BRL, MXN, PLN, SEK, NOK, DKK, AED, SGD, ZAR, TRY, RUB. Default: USD. |
| location | string | yes | City or place to search, e.g. 'Austin' or 'Paris'. |
| max_results | integer | – | How many properties to collect across pages. Default: 25. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). |
| rooms | integer | – | Number of rooms. |
No output schema declared.
No examples provided.
browse_page Interact with a page, then capture it ~276
Load a web page in a real browser through the ScrapeUnblocker API (https://docs.scrapeunblocker.com), run ordered browser actions on it (click, type into a search box, choose an option, press a key, scroll, wait), then return the resulting HTML. Discover selectors with list_elements first. Steps act on the website and are NOT idempotent - they run once per call and are not retried; never use them to buy, post, delete or change anything unless the user asked for exactly that. A failed step returns which step failed plus the page HTML at that point. Billed as one request.
| Name | Type | Req | Description |
|---|---|---|---|
| proxy_country | string | – | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | – | Extra seconds to wait after load. |
| steps | array | yes | Ordered browser actions to run after the page loads (wait_for, wait_for_text, wait, click, type [human-like], select, press_key, scroll), then the HTML is captured. |
| url | string | yes | The absolute URL to open (http/https). |
| wait_method | string | – | Optional render-wait before the steps: 'css' selector or 'js' expression. |
| wait_value | string | – | The selector/expression paired with wait_method. |
No output schema declared.
No examples provided.
ebay_search Scrape eBay search listings ~647
Searches any regional eBay marketplace for `keyword` and returns the listings as JSON: `title`, `price` + `currency`, `condition` (with a normalised `conditionCode`), `seller` (username, feedback percentage and score), `shippingCost`, `sold`, `watchers`, `bids`, `image` and a clean item `url`. Filter with `condition`, `listing_type`, `min_price`/`max_price`, `free_shipping`, `seller` or `category`, sort with `sort`, and page with `page`/`page_size` (60, 120 or 240 per page). Set `marketplace` to search a specific site - prices, currency and availability differ between ebay.com, ebay.de, ebay.co.uk and the rest. When eBay finds no exact match it still serves a full page of its own loosely-related suggestions. That case is reported honestly: `exactMatches` is `false` and a `notice` explains it, so those listings are never mistaken for real matches. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | eBay category id to search inside, e.g. '131090' for vehicle parts and accessories. |
| condition | string | – | Item condition filter: new, open_box, refurbished, used, for_parts. Omit for every condition. |
| free_shipping | boolean | – | Only listings eBay marks as free delivery. Default: false. |
| keyword | string | yes | Search phrase, e.g. 'iphone 13' or a part number like '1K0953519A'. |
| listing_type | string | – | Listing format: all, buy_it_now, auction. Default 'all'. Default: all. |
| marketplace | string | – | Regional eBay site to search. Prices, currency and availability differ per marketplace. One of: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.nl, ebay.pl, ebay.at, ebay.ch, ebay.be,… |
| max_price | number | – | Highest price to include, in the marketplace's currency. |
| min_price | number | – | Lowest price to include, in the marketplace's currency. |
| page | integer | – | 1-based page number. Default: 1. |
| page_size | integer | – | Listings per page - eBay's own page sizes: 60, 120, 240. Default: 60. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the marketplace. |
| seller | string | – | Restrict the search to one seller's username. |
| sort | string | – | Ordering: best_match, newly_listed, ending_soon, price_asc, price_desc. Default 'best_match'. Default: best_match. |
No output schema declared.
No examples provided.
fetch_html Fetch page HTML ~202
Fetch the fully rendered HTML of any web page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com), bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape). Use when a normal fetch is blocked (403/429, captcha) or the page needs a real browser. Returns raw HTML. To read or summarise a page, fetch_markdown is much smaller. To click, type or scroll before capture, use browse_page.
| Name | Type | Req | Description |
|---|---|---|---|
| proxy_country | string | – | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | – | Extra seconds to wait after load. |
| url | string | yes | The absolute URL to fetch (http/https). |
| wait_method | string | – | Optional render-wait: 'css' selector or 'js' expression. |
| wait_value | string | – | The selector/expression paired with wait_method. |
No output schema declared.
No examples provided.
fetch_markdown Fetch page as Markdown ~245
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.
| Name | Type | Req | Description |
|---|---|---|---|
| main_content_only | boolean | – | Drop navigation, page header, footer and sidebars (default true). False keeps the whole page. |
| proxy_country | string | – | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | – | Extra seconds to wait after load. |
| url | string | yes | The absolute URL to read (http/https). |
| wait_method | string | – | Optional render-wait: 'css' selector or 'js' expression. |
| wait_value | string | – | The selector/expression paired with wait_method. |
No output schema declared.
No examples provided.
fetch_parsed Fetch AI-parsed page data ~109
Fetch a web page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return AI-parsed structured JSON instead of raw HTML (product details, article content, listings). If the page holds no structured data, the result says so and returns the rendered HTML instead (billed like fetch_html).
| Name | Type | Req | Description |
|---|---|---|---|
| proxy_country | string | – | Optional ISO country code, e.g. 'US'. |
| url | string | yes | The absolute URL to fetch and parse. |
No output schema declared.
No examples provided.
google_images Scrape Google Images results ~597
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.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | string | – | Only images Google found on or after this date (YYYY-MM-DD). Works alone or with `date_to`; cannot be combined with `time_range`. |
| date_to | string | – | Only images Google found on or before this date (YYYY-MM-DD). Works alone or with `date_from`; cannot be combined with `time_range`. |
| gl | string | – | Optional Google market override (ISO-2, e.g. 'us', 'de'). Leave empty and the market follows `proxy_country` ('us' when neither is set). The market, not the proxy country, is what decides which image… |
| max_results | integer | – | Optional cap on the number of results returned (default: all results of the fetched pages). |
| pages | integer | – | How many Google Images result pages to fetch (1-5, ~100 results each; Google stops at ~400-500 per query). Each page fetched is billed as one request. Default: 1. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Image results are market-specific. |
| q | string | yes | Image search term, e.g. 'eiffel tower'. |
| time_range | string | – | Only images Google found within this recent period: `hour`, `day`, `week`, `month` or `year` (Google Images' Tools > Time filter). Use it to get just the new results on repeated scans. Cannot be comb… |
No output schema declared.
No examples provided.
google_local Scrape Google Local business listings ~274
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.
| Name | Type | Req | Description |
|---|---|---|---|
| gl | string | – | Google country of search, ISO-2 lowercase, e.g. 'us', 'de'. |
| hl | string | – | Google UI language, e.g. 'en', 'de', 'fr'. Default: en. |
| keyword | string | yes | Search phrase, e.g. 'coffee shops in chicago' or 'plumbers near SW1A'. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'GB'). Local results are location-sensitive, so pick the country you want results for. |
No output schema declared.
No examples provided.
google_search Google search results ~136
Run a Google search through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return the results page as JSON: organic results with their real URLs, favicons, sitelinks and star ratings, ads, the AI Overview, People also ask, related searches with their links, the knowledge panel, top stories, videos, local and shopping results.
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | The search query. |
| pages_to_check | integer | – | How many result pages to collect (default 1). |
| proxy_country | string | – | Optional ISO country code to search from, e.g. 'US'. |
No output schema declared.
No examples provided.
google_shopping Scrape Google Shopping product listings ~335
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.
| Name | Type | Req | Description |
|---|---|---|---|
| gl | string | – | Market of search, ISO-2, e.g. 'us', 'de'. Sets prices/merchants. Default: us. |
| max_price | integer | – | Maximum price filter (whole units, gl currency). |
| max_results | integer | – | How many products to return (v1: first page). Default: 60. |
| min_price | integer | – | Minimum price filter (whole units, gl currency). |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Prices/merchants are market-specific. |
| q | string | yes | Product search term, e.g. 'wireless headphones'. |
No output schema declared.
No examples provided.
indeed_jobs Scrape Indeed job listings ~438
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Indeed country site: us, uk, ca, au, in, ie, de, fr, nl, es, it, at, ch, be, pl, se, sg, za, nz, mx. Default: us. |
| days | integer | – | Max posting age in days: 1, 3, 7, 14. |
| job_type | string | – | Job type: fulltime, parttime, contract, internship, temporary. |
| location | string | – | Where, e.g. 'Austin, TX' or 'London'. |
| max_results | integer | – | How many jobs to collect across pages. Default: 30. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to the country's site. |
| query | string | yes | What to search, e.g. 'software engineer' or 'nurse'. |
| radius | integer | – | Search radius in miles/km around the location. |
| remote | boolean | – | Only remote jobs. Default: false. |
| sort | string | – | Ordering: relevance, date. Default: relevance. |
| start | integer | – | 0-based result offset to start from. Default: 0. |
No output schema declared.
No examples provided.
list_elements List interactive page elements ~185
Fetch a page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return its interactive elements (buttons, inputs, selects, links, forms), each with a ready-to-use selector, as JSON {url, count, elements:[...]} instead of raw HTML. Use it to discover what to target, then drive the page with the `steps` param of browse_page.
| Name | Type | Req | Description |
|---|---|---|---|
| proxy_country | string | – | Optional ISO country code to route through, e.g. 'US'. |
| sleep_seconds | number | – | Extra seconds to wait after load before inspecting. |
| url | string | yes | The absolute URL to load and inspect (http/https). |
| wait_method | string | – | Optional render-wait: 'css' selector or 'js' expression. |
| wait_value | string | – | The selector/expression paired with wait_method. |
No output schema declared.
No examples provided.
list_plugins List site plugins ~202
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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Only plugins in this category. |
| name | string | – | A plugin name, for its full parameter docs. |
| search | string | – | Only plugins whose name or description mentions this, e.g. 'zillow' or 'reviews'. |
No output schema declared.
No examples provided.
maps_place_details Scrape Google Maps place details ~422
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.
| Name | Type | Req | Description |
|---|---|---|---|
| feature_id | string | – | A Maps feature id '0xHEX:0xHEX', e.g. '0x47e66e2964e34e2d:0x8ddca9ee380ef7e0'. Fastest - no resolve step. |
| gl | string | – | Google country, ISO-2 lowercase, e.g. 'us'. Default: us. |
| hl | string | – | Google UI language, e.g. 'en', 'de', 'fr'. Default: en. |
| place_id | string | – | A Google place_id, e.g. 'ChIJN1t_tDeuEmsRUsoyG83frY4'. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US - an EU country hits Google's consent wall. Default: us. |
| raw | boolean | – | Include the decoded place core array under `raw`. Default: false. |
| url | string | – | A Google Maps place URL: a /maps/place/... URL, a maps.app.goo.gl share link or a maps?cid= link. The place is read out of it. |
No output schema declared.
No examples provided.
run_plugin Run a site plugin ~156
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 | Type | Req | Description |
|---|---|---|---|
| name | string | yes | The plugin to run, as list_plugins names it. |
| params | object | – | The plugin's parameters, e.g. {"query": "coffee maker", "max_results": 20}. |
No output schema declared.
No examples provided.
search_and_read Search Google and read the top results ~162
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.
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | The search query. |
| proxy_country | string | – | Optional ISO country code to search from and read the pages through, e.g. 'US'. |
| results | integer | – | How many top results to read (default 3, max 5). |
No output schema declared.
No examples provided.
trustpilot_reviews Scrape Trustpilot company reviews ~509
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.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | The reviewed company's domain, e.g. 'www.nike.com' or 'nike.com'. A full site URL or a pasted Trustpilot review URL is also accepted. |
| date | string | – | Only reviews from a recent window: last30days, last3months, last6months, last12months. Omit for all time. |
| language | string | – | Review language ISO-2 code (e.g. 'en', 'de') or 'all'. Default 'all'. Default: all. |
| page | integer | – | 1-based page to start from (20 reviews/page). Default: 1. |
| pages | integer | – | How many consecutive pages to fetch from `page` onward (20 reviews each). Stops early at the last page. Default: 1. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to a country chosen for the site. |
| replies | boolean | – | Only reviews the company has replied to. Default: false. |
| search | string | – | Keyword to search within the company's reviews. |
| sort | string | – | Ordering: recency, relevancy. Default 'recency' (newest first). Default: recency. |
| stars | – | – | Only reviews with these star ratings (1, 2, 3, 4, 5). Repeatable, e.g. stars=4&stars=5. |
| verified | boolean | – | Only verified reviews (Trustpilot's verified badge). Default: false. |
No output schema declared.
No examples provided.
walmart_search Scrape Walmart product search ~267
Searches Walmart for `query` and returns the products as JSON: `name`, `price` and `wasPrice`, `rating`, `reviewCount`, `brand`, `seller`, `availability`, `image` and a product `url`. Sort with `sort`, filter with `min_price`/`max_price`, and collect up to `max_results` across pages. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Type | Req | Description |
|---|---|---|---|
| max_price | integer | – | Highest price to include (USD). |
| max_results | integer | – | How many products to collect across pages. Default: 40. |
| min_price | integer | – | Lowest price to include (USD). |
| page | integer | – | 1-based page to start from (~40 per page). Default: 1. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
| query | string | yes | What to search, e.g. 'laptop' or 'coffee maker'. |
| sort | string | – | Ordering: best_match, price_low, price_high, best_seller, rating_high, new. Default: best_match. |
No output schema declared.
No examples provided.
youtube_search Search YouTube ~256
Searches YouTube for `query` and returns the results as JSON. For each video: `videoId`, `title`, `url`, `channel` (name/id/url), `publishedText`, `viewCount` (+ text), `lengthSeconds` (+ text), `thumbnails`, `descriptionSnippet`, `badges`, `verified` and `isLive`. Filter with `type` (video / channel / playlist / all) and `sort` (relevance / date / views / rating), and collect up to `max_results` across pages. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | How many results to collect across pages (~20 per page). Default: 20. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
| query | string | yes | Search terms. |
| sort | string | – | Ordering: relevance, rating, date, views. Default: relevance. |
| type | string | – | Result type: video, channel, playlist, movie, all. Default: video. |
No output schema declared.
No examples provided.
youtube_transcript Get a YouTube video transcript ~260
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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output shape: segments, text. 'segments' returns timestamps; 'text' returns only the joined plaintext. Default: segments. |
| lang | string | – | Preferred caption language code, e.g. 'en'. Omit for the default/first track. A prefix like 'en' matches 'en-US'. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE') for the watch page. Defaults to US. |
| video | string | yes | Video id (dQw4w9WgXcQ) or any YouTube video URL. |
No output schema declared.
No examples provided.
zillow_search Scrape Zillow real-estate listings ~437
Searches Zillow for `location` (a city/state or ZIP) and returns the listings as JSON: `price`, `beds`, `baths`, `area`, `address`, `homeType`, `zestimate`, `rentZestimate`, `daysOnZillow`, coordinates, broker and a clean `url`. Filter with `status` (for_sale / for_rent / sold), `min_price`/`max_price`, `beds`, `baths` and `home_type`, sort with `sort`, and collect up to `max_results` across pages. Rental results can include apartment buildings (`isBuilding: true`): they have no `zpid` and carry `lotId`, `buildingName`, a rent range (`price` to `maxPrice`), `units` and `availableUnits` instead. Returns JSON. Billed like an API request; listing plugins bill one unit per result page they fetch, so keep max_results modest.
| Name | Type | Req | Description |
|---|---|---|---|
| baths | integer | – | Minimum bathrooms. |
| beds | integer | – | Minimum bedrooms. |
| home_type | string | – | Property type filter: houses, condos, townhomes, multi_family, apartments, manufactured, lots_land. Omit for all. |
| location | string | yes | City/state or ZIP to search, e.g. 'Austin, TX' or '78704'. |
| max_price | integer | – | Maximum price (or monthly rent). |
| max_results | integer | – | How many listings to collect across pages (~41 per page). Default: 41. |
| min_price | integer | – | Minimum price (or monthly rent). |
| page | integer | – | 1-based results page to start from. Default: 1. |
| proxy_country | string | – | Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Defaults to US. |
| sort | string | – | Ordering: newest, price_asc, price_desc, relevant, beds, sqft, lot. Default: newest. |
| status | string | – | Listing status: for_sale, for_rent, sold. Default: for_sale. |
No output schema declared.
No examples provided.
How do I install the com.scrapeunblocker/scrapeunblocker-mcp-remote server?
com.scrapeunblocker/scrapeunblocker-mcp-remote is a hosted endpoint at https://mcp.scrapeunblocker.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.scrapeunblocker.com
claude mcp add --transport http com-scrapeunblocker-scrapeunblocker-mcp-remote 'https://mcp.scrapeunblocker.com/mcp'
What is the com.scrapeunblocker/scrapeunblocker-mcp-remote server?
com.scrapeunblocker/scrapeunblocker-mcp-remote is listed in the public MCP registry as com.scrapeunblocker/scrapeunblocker-mcp-remote. Fetch any page's HTML or AI-parsed JSON, Google results, or 100+ site plugins via ScrapeUnblocker. This page covers its hosted endpoint (https://mcp.scrapeunblocker.com/mcp).
Is the com.scrapeunblocker/scrapeunblocker-mcp-remote server safe to use?
com.scrapeunblocker/scrapeunblocker-mcp-remote scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.scrapeunblocker/scrapeunblocker-mcp-remote server expose?
com.scrapeunblocker/scrapeunblocker-mcp-remote exposes 24 tools: fetch_html, browse_page, fetch_parsed, google_search, list_elements, and 19 more. Their descriptions and schemas cost roughly 7,945 tokens of context every time the server is loaded.
Does the com.scrapeunblocker/scrapeunblocker-mcp-remote server require authentication?
Yes. com.scrapeunblocker/scrapeunblocker-mcp-remote asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the com.scrapeunblocker/scrapeunblocker-mcp-remote server still maintained?
com.scrapeunblocker/scrapeunblocker-mcp-remote is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.