Back to Directory/Media & Images

Scrapingdog

Scrapingdog web-scraping & SERP APIs: web scrape, Google, Amazon, LinkedIn, YouTube, and more.

Media & ImagesTypeScriptv0.1.1

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.

VariableRequiredDefaultDescription
SCRAPINGDOG_API_KEYyes—Your Scrapingdog API key.
SCRAPINGDOG_API_BASEnohttps://api.scrapingdog.comOverride the API base URL.
SCRAPINGDOG_TIMEOUT_MSno90000Per-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

ToolScrapingdog endpointKey required args
web_scrape/scrapeurl

Google family

ToolScrapingdog endpointKey required args
google_search/googlequery
google_maps/google_mapsquery
google_news/google_news/v2— (query or a *_token)
google_trends/google_trendsquery
google_shopping/google_shoppingquery
google_scholar/google_scholarquery (or cites)
google_jobs/google_jobsquery
google_finance/google_financequery
google_lens/google_lensurl
google_ai_mode/google/ai_modequery
google_ai_overview/google/ai_overviewurl
google_shorts/google_shortsquery
google_hotels/google_hotelsquery, check_in_date, check_out_date
google_patents/google_patentsquery
google_immersive_product/google_immersive_productpage_token
google_images/google_imagesquery

E-commerce

ToolScrapingdog endpointKey required args
amazon_search/amazon/searchquery, domain, page, country
amazon_product/amazon/productasin
amazon_reviews ⚠️/amazon/reviewsasin
amazon_offers/amazon/offersasin
walmart_search/walmart/searchurl
ebay_search/ebay/searchurl

Social / professional

ToolScrapingdog endpointKey required args
linkedin_profile/linkedintype, linkId
x_profile/x/profileprofileId
youtube_search/youtubesearch_query
youtube_transcripts/youtube/transcriptsv
youtube_video/youtube/videov
youtube_channel/youtube/channelchannel_id
youtube_comments/youtube/commentsv

Other search engines

ToolScrapingdog endpointKey required args
bing_search/bing/searchquery
baidu_search/baidu/searchquery
universal_search/searchquery

AI / LLM & tools

ToolScrapingdog endpointKey required args
chatgpt/chatgptprompt
screenshot/screenshoturl (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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y scrapingdog-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-darshan972-scrapingdog-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "scrapingdog-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

scrapingdog-mcpnpm

Compatible MCP Clients

Scrapingdog works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More