Scrapingdog MCP Server
A Model Context Protocol server that exposes the
Scrapingdog web-scraping and SERP APIs as tools any
MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.) can call.
One tool per Scrapingdog product — general web scraping, the full Google family,
Amazon, Walmart, eBay, LinkedIn, X, YouTube, Bing, Baidu, and screenshots.
Requirements
- Node.js ≥ 18
- A Scrapingdog API key — get one on your dashboard.
Install & build
npm install
npm run build
Configuration
The server reads your API key from the SCRAPINGDOG_API_KEY environment
variable. It is never passed as a tool argument, so it stays out of the model's
context, transcripts, and logs.
SCRAPINGDOG_API_KEY | yes | — | Your Scrapingdog API key. |
SCRAPINGDOG_API_BASE | no | https://api.scrapingdog.com | Override the API base URL. |
SCRAPINGDOG_TIMEOUT_MS | no | 90000 | Per-request timeout in milliseconds. |
Claude Desktop
Add to claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"scrapingdog": {
"command": "node",
"args": ["/absolute/path/to/ScrapingdogMCP/dist/index.js"],
"env": {
"SCRAPINGDOG_API_KEY": "your_api_key_here"
}
}
}
}
Claude Code
claude mcp add scrapingdog -e SCRAPINGDOG_API_KEY=your_api_key_here -- node /absolute/path/to/ScrapingdogMCP/dist/index.js
Available tools
35 tools. Each tool's full parameter set (with descriptions and API
defaults) is generated from src/endpoints.ts and surfaced
to the client as the tool's input schema. All paths were validated against the
live API except amazon_reviews (⚠️) — see Known issues.
General
Google family
google_search | /google | query |
google_maps | /google_maps | query |
google_news | /google_news/v2 | — (query or a *_token) |
google_trends | /google_trends | query |
google_shopping | /google_shopping | query |
google_scholar | /google_scholar | query (or cites) |
google_jobs | /google_jobs | query |
google_finance | /google_finance | query |
google_lens | /google_lens | url |
google_ai_mode | /google/ai_mode | query |
google_ai_overview | /google/ai_overview | url |
google_shorts | /google_shorts | query |
google_hotels | /google_hotels | query, check_in_date, check_out_date |
google_patents | /google_patents | query |
google_immersive_product | /google_immersive_product | page_token |
google_images | /google_images | query |
E-commerce
amazon_search | /amazon/search | query, domain, page, country |
amazon_product | /amazon/product | asin |
amazon_reviews ⚠️ | /amazon/reviews | asin |
amazon_offers | /amazon/offers | asin |
walmart_search | /walmart/search | url |
ebay_search | /ebay/search | url |
Social / professional
linkedin_profile | /linkedin | type, linkId |
x_profile | /x/profile | profileId |
youtube_search | /youtube | search_query |
youtube_transcripts | /youtube/transcripts | v |
youtube_video | /youtube/video | v |
youtube_channel | /youtube/channel | channel_id |
youtube_comments | /youtube/comments | v |
Other search engines
bing_search | /bing/search | query |
baidu_search | /baidu/search | query |
universal_search | /search | query |
AI / LLM & tools
chatgpt | /chatgpt | prompt |
screenshot | /screenshot | url (returns an image) |
Known issues
All 35 endpoints were validated against the live API and return data, with one
exception:
amazon_reviews — the /amazon/reviews route is correct, but the live
endpoint currently responds HTTP 400 "Something went wrong" for every input
(any ASIN, with or without extra params). This looks like a Scrapingdog
backend/plan-scope issue rather than a wrapper bug. It stays marked with
verify: true in src/endpoints.ts until it returns data. List flagged
endpoints anytime with:
npm run list:unverified
Adding or adjusting an endpoint
Every endpoint is a single declarative object in
src/endpoints.ts — no handler code to write. To add a
Scrapingdog product (e.g. Google Hotels, Patents, TikTok), append:
{
tool: "google_hotels",
title: "Google Hotels API",
path: "/google_hotels",
description: "…",
params: [
{ name: "query", type: "string", required: true, description: "…" },
],
}
Rebuild with npm run build.
Architecture
src/
types.ts Endpoint / EndpointParam type definitions
endpoints.ts Declarative registry of every Scrapingdog API
client.ts HTTP client: URL building, API-key resolution, error handling
server.ts Compiles each endpoint into an MCP tool + Zod input schema
index.ts stdio entry point
License
MIT