MCP Server

scrapeunblocker-mcp-remote

com.scrapeunblocker/scrapeunblocker-mcp-remote
Developer Tools Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Fetches rendered web pages, extracts structured page data, lists interactive elements, and returns Google search results while bypassing anti-bot protections.

fetch_html
Fetch page HTML
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. Pass `steps` to interact with the page (search, click, paginate) before capture - use the list_elements tool first to discover selectors.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The absolute URL to fetch (http/https).'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['action'], 'properties': {'clear': {'type': 'boolean', 'description': "For 'type': clear the field first."}, 'value': {'type': ['string', 'number'], 'description': "Action payload: text to type/select, text for wait_for_text, a key name for press_key (e.g. 'Enter'), milliseconds for wait, or 'bottom'/pixels for scroll."}, 'action': {'enum': ['wait_for', 'wait_for_text', 'wait', 'click', 'type', 'select', 'press_key', 'scroll'], 'type': 'string', 'description': 'The action to perform.'}, 'selector': {'type': 'string', 'description': 'CSS selector the action targets (required for wait_for/click/type/select).'}, 'timeout_ms': {'type': 'integer', 'description': 'Per-step timeout override in ms.', 'exclusiveMinimum': 0}, 'selector_type': {'enum': ['css', 'xPath', 'className', 'tagName'], 'type': 'string', 'description': "How to interpret `selector` (default 'css')."}}, 'additionalProperties': False}, 'description': 'Ordered browser actions to run in a real browser after the page loads (wait_for, wait_for_text, wait, click, type [human-like], select, press_key, scroll), then return the resulting HTML. NON-IDEMPOTENT: it runs once and is not retried. A failed step returns a 422 naming the offending step plus the page HTML at that point. Discover selectors with list_elements first.'}, 'wait_value': {'type': 'string', 'description': 'The selector/expression paired with wait_method.'}, 'wait_method': {'enum': ['css', 'js'], 'type': 'string', 'description': "Optional render-wait: 'css' selector or 'js' expression."}, 'proxy_country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "Optional ISO country code to route through, e.g. 'US'."}, 'sleep_seconds': {'type': 'number', 'description': 'Extra seconds to wait after load.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
fetch_parsed
Fetch AI-parsed page data
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 (that call is not billed) - use fetch_html for the page itself.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The absolute URL to fetch and parse.'}, 'proxy_country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "Optional ISO country code, e.g. 'US'."}}, 'additionalProperties': False}
google_search
Google search results
Run a Google search through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return organic results as JSON.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keyword'], 'properties': {'keyword': {'type': 'string', 'minLength': 1, 'description': 'The search query.'}, 'proxy_country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "Optional ISO country code to search from, e.g. 'US'."}, 'pages_to_check': {'type': 'integer', 'maximum': 10, 'description': 'How many result pages to collect (default 1).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
list_elements
List interactive page elements
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 fetch_html.
Read only Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The absolute URL to load and inspect (http/https).'}, 'wait_value': {'type': 'string', 'description': 'The selector/expression paired with wait_method.'}, 'wait_method': {'enum': ['css', 'js'], 'type': 'string', 'description': "Optional render-wait: 'css' selector or 'js' expression."}, 'proxy_country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "Optional ISO country code to route through, e.g. 'US'."}, 'sleep_seconds': {'type': 'number', 'description': 'Extra seconds to wait after load before inspecting.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Changed
fetch_parsed
Oct. 1, 2026, 2:54 a.m.
Added
list_elements
Sept. 17, 2026, 12:37 p.m.
Added
google_search
Sept. 17, 2026, 12:37 p.m.
Added
fetch_parsed
Sept. 17, 2026, 12:37 p.m.
Added
fetch_html
Sept. 17, 2026, 12:37 p.m.