Odel
Scrapingdog

Scrapingdog

Local
@darshan972TypeScriptMITUpdated 1mo ago

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

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_KEYyesYour 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