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.
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
E-commerce
Social / professional
Other search engines
AI / LLM & tools
Known issues
All 35 endpoints were validated against the live API and return data, with one exception:
amazon_reviews— the/amazon/reviewsroute is correct, but the live endpoint currently respondsHTTP 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 withverify: trueinsrc/endpoints.tsuntil 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