scrapingdog-mcp
Provides Baidu search results via the Scrapingdog API, with support for Chinese-language restriction and pagination.
Provides DuckDuckGo search results via the Scrapingdog API, with options for region, date filtering, and pagination.
Provides Google search results via the Scrapingdog API, including organic results, ads, knowledge graph, and SERP features, with support for JSON or HTML output.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@scrapingdog-mcp Scrape the Hacker News homepage and summarize the top stories."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
scrapingdog-mcp
A Model Context Protocol server that exposes the Scrapingdog scraping APIs as tools for MCP-compatible clients (Claude Desktop, Claude Code, and others).
Communicates over stdio. Built with TypeScript and the official MCP SDK.
What it does
Nine tools, each wrapping one Scrapingdog endpoint:
Tool | Endpoint | What it returns |
|
| Raw HTML of any URL (JS rendering, premium proxies, geotargeting, sessions, stealth, wait) |
|
| Page screenshot metadata (png/jpg/webp, full-page, viewport, quality) |
|
| Google organic results, ads, knowledge graph, SERP features (JSON or HTML) |
|
| Bing search results (market/geo/pagination/safe-search) |
|
| DuckDuckGo results (region, date filter, pagination token) |
|
| Baidu results (Chinese-language restriction, pagination) |
|
| X (Twitter) profile data (name, handle, follower counts, bio) |
|
| X (Twitter) post (tweet) data |
| (forward proxy) | Connection details + ready-to-paste curl/Python for |
Every tool accepts an optional api_key argument to override the configured key for that call.
Related MCP server: spider-cloud-mcp
Prerequisites
Node.js ≥ 18.17 (tested on 20.x).
A Scrapingdog API key — get one from your Scrapingdog dashboard after signing up.
Install & build
npm install
npm run build # outputs to dist/Provide your API key
The key is resolved in this order (first wins):
The
api_keyargument on an individual tool call.The
SCRAPINGDOG_API_KEYenvironment variable.A
.envfile containingSCRAPINGDOG_API_KEY=...in the working directory,~/.scrapingdog.env, or~/.env.
Option 2 (env var) is recommended — the key never touches disk beyond your MCP client config, and nothing ends up in tool-call logs.
Configure your MCP client
Claude Desktop / Claude Code (claude_desktop_config.json)
{
"mcpServers": {
"scrapingdog": {
"command": "node",
"args": ["/absolute/path/to/scrcpy/dist/index.js"],
"env": {
"SCRAPINGDOG_API_KEY": "your-key-here"
}
}
}
}Install from npm (no clone needed)
Published as @0pen1/scrapingdog-mcp. Run directly with npx (no install):
npx @0pen1/scrapingdog-mcpThe server reads SCRAPINGDOG_API_KEY from the environment. Pick your CLI below for a one-line setup.
Claude Code
claude mcp add scrapingdog --scope user \
--env SCRAPINGDOG_API_KEY=your-key-here \
-- npx -y @0pen1/scrapingdog-mcp--scope user makes it available in all your projects (use local or project to scope it tighter).
OpenAI Codex CLI
codex mcp add scrapingdog \
--env SCRAPINGDOG_API_KEY=your-key-here \
-- npx -y @0pen1/scrapingdog-mcpThis writes to ~/.codex/config.toml. The equivalent TOML block is:
[mcp_servers.scrapingdog]
command = "npx"
args = ["-y", "@0pen1/scrapingdog-mcp"]
[mcp_servers.scrapingdog.env]
SCRAPINGDOG_API_KEY = "your-key-here"Gemini CLI
gemini mcp add scrapingdog \
--env SCRAPINGDOG_API_KEY=your-key-here \
-- npx -y @0pen1/scrapingdog-mcpCursor / Windsurf / Claude Desktop (JSON config)
For clients that use a JSON config file, add this block. Typical locations:
Claude Desktop —
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)Cursor —
~/.cursor/mcp.json(or.cursor/mcp.jsonper-project)Windsurf —
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"scrapingdog": {
"command": "npx",
"args": ["-y", "@0pen1/scrapingdog-mcp"],
"env": { "SCRAPINGDOG_API_KEY": "your-key-here" }
}
}
}Replace
your-key-herewith your Scrapingdog API key from the dashboard. After editing a JSON config, restart the client so it picks up the server.
Run standalone (for testing)
SCRAPINGDOG_API_KEY=your-key node dist/index.jsIt speaks JSON-RPC over stdio, so you can pipe messages to it directly.
Example tool calls
scrape { "url": "https://example.com", "dynamic": true, "country": "us" }
google_search { "query": "best espresso machines 2026", "results": "10", "country": "us" }
bing_search { "query": "site:github.com mcp server", "count": "20" }
duckduckgo_search { "query": "rust async runtime", "df": "m" }
baidu_search { "query": "人工智能", "ct": 2 }
x_profile { "profileId": "elonmusk" }
x_post { "tweetId": "1655608985058267139" }
screenshot { "url": "https://example.com", "fullPage": true, "format": "png" }
datacenter_proxy { "target_url": "https://httpbin.org/ip" }How responses are handled
JSON endpoints (search, social, etc.): the parsed JSON is returned as text so the host can reason about it directly.
/scrape: raw HTML is returned as text./screenshot: the endpoint returns binary image bytes, which can't be carried as text cleanly. The tool reports the content type and byte length, and notes how to fetch the image directly. (If you need true image delivery, extend the handler to base64-encode into animagecontent block.)Non-2xx responses: returned as MCP error results (
isError: true) with the upstream status, content type, and body. Note Scrapingdog reports invalid keys as HTTP 400 with a JSON "Unauthorized request" message — the body makes this clear.
Credit costs (per request)
Scrape: 1 (rotating proxy) → 25 (JS render + premium). Google/Bing/DDG/Baidu search: ~5. Screenshot: 5. Profile/Post scrapers: 5–10. See the pricing/credit table for the full breakdown. Requests time out after 60s upstream.
Project layout
src/
index.ts # entry point — creates McpServer, connects stdio transport
scrapingdog.ts # API key resolution + shared HTTP request helper
result.ts # response → MCP tool-result formatting (ok / error / fromResponse)
tools.ts # the 9 tool definitions (schema + handler) and registrationLicense
MIT
Available Tools
9 toolsbaidu_searchA
Run a Baidu search via Scrapingdog (/baidu/search). Returns parsed results as JSON. Supports Chinese-language restriction (ct), pagination (pn), and result count (rn).
Inputs: query (required), ct, pn, rn, +2 more.
bing_searchA
Run a Bing search via Scrapingdog (/bing/search). Returns parsed Bing results as JSON. Supports market/country targeting, geo coordinates, pagination, and safe-search filters.
Inputs: query (required), cc, lat, lon, +6 more.
datacenter_proxyA
Return Scrapingdog Datacenter Proxy connection details (host, port, username, password) and a ready-to-paste curl/Python example. This is a forward proxy (proxy.scrapingdog.com:8081), not an HTTP API — point your own HTTP client at it. Optionally pass target_url for a ready-to-run curl.
Inputs: api_key, target_url.
duckduckgo_searchA
Run a DuckDuckGo search via Scrapingdog (/duckduckgo/search). Returns parsed results as JSON. Supports region (kl), date filters (df), and pagination via next_page_token (15 per page).
Inputs: query (required), df, kl, html, +2 more.
google_searchA
Run a Google search via Scrapingdog (/google). Returns organic results, ads, knowledge graph, and other SERP features as JSON (or raw HTML with html=true). Supports localization, pagination, advanced filters, and mobile results. Costs 5–10 credits.
Inputs: query (required), tbs, html, page, +10 more.
scrapeA
Scrape any URL via the Scrapingdog Web Scraping API (/scrape). Returns the page's HTML. Supports JS rendering (dynamic), premium residential proxies, geotargeting (country), sessions, stealth/captcha bypass, and a render wait. Costs 1–25 credits depending on options.
Inputs: url (required), wait, image, api_key, +6 more.
screenshotB
Capture a screenshot of a URL via the Scrapingdog Screenshot API (/screenshot). Supports full-page capture, viewport size, wait-until, format (png/jpg/webp), and quality. Costs 5 credits. Note: this tool reports image metadata; binary bytes aren't returned as text.
Inputs: url (required), width, format, height, +4 more.
x_postA
Scrape an X (Twitter) post (tweet) via Scrapingdog (/x/post). Pass the numeric tweet ID from the post URL.
Inputs: tweetId (required), api_key.
x_profileA
Scrape an X (Twitter) profile via Scrapingdog (/x/profile). Returns the profile's name, handle, follower counts, bio, and other public metadata as JSON. Pass a username or user ID.
Inputs: profileId (required), api_key.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: raw HTML scraping, screenshots, four search engines, X profile/post, and proxy details. The search tools are differentiated by the named engine, and the X tools by profile vs post, leaving no ambiguous overlaps.
Tool names use a mix of verb forms and noun compounds, such as scrape, screenshot, google_search, x_profile, and datacenter_proxy. While the snake_case style is consistent, there is no uniform verb_noun pattern, making the naming somewhat mixed.
With 9 tools covering scraping, screenshots, search, social media, and proxy access, the count is well within the ideal 3-15 range and each tool earns its place.
The set covers core Scrapingdog features (scrape, screenshot, search engines, X data, proxy) with only minor gaps such as missing X search or timeline and other less-used Scrapingdog endpoints. Agents can work around these gaps by using the scrape tool.
Maintenance
Related MCP Connectors
All HasData scraping tools in one MCP server: Google, TikTok, Instagram, maps, e-commerce and more.
Web scraping MCP server — scrape, extract structured data, screenshot any site with anti-bot bypass.
Scrapingdog MCP — wraps Scrapingdog (scrapingdog.com), a proxy-based web scraping API with…
One MCP server for 180+ live web-data APIs returning clean JSON from sites that block scrapers.
Related MCP Servers
- AlicenseAqualityDmaintenanceDescription: An MCP server with 15 tools covering web search, scraping, extraction, crawling, and autonomous data gathering via the SearchClaw API. Tagline: "The complete web data pipeline for AI agents — Search, Extract, Crawl in One API."1521 npm1MIT
- AlicenseBqualityCmaintenanceMCP server for the Spider web crawling and scraping API, enabling AI agents to crawl, scrape, search, and extract web data.13289 npm2MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for ScrapingDog API that provides comprehensive web scraping, search engine data extraction, social media scraping, and e-commerce data collection capabilities.MIT
- AlicenseAqualityCmaintenanceMCP server providing tools for web scraping, browser automation, computer vision, audio transcription, and RAG via API.943 PyPIMIT