Scrapingdog

io.github.Darshan972Published by GitHub account Darshan972v0.1.1Updated Oct 24, 2026

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

Overview

AI-generated overview

Exposes Scrapingdog's web-scraping and SERP APIs as 35 MCP tools for scraping pages, search engines, marketplaces, and social platforms.

What you can do
Runs a local stdio MCP server that maps each Scrapingdog API product to one tool, including general web scraping, the Google family (search, maps, news, trends, shopping, scholar, jobs, finance, lens, hotels, patents, images), Amazon, Walmart, eBay, LinkedIn, X, YouTube, Bing, Baidu, a universal search, a ChatGPT endpoint, and a screenshot tool that returns an image. Tool parameters are generated from a declarative endpoint registry and surfaced as input schemas. Results come from Scrapingdog's hosted API.
When to use it
Use it when an assistant needs live web or search-engine data, marketplace or social-media lookups, or page screenshots, and you already have or are willing to buy a Scrapingdog subscription. It suits research, monitoring, and content-gathering workflows rather than local file or code tasks.
Requirements
Node.js 18 or newer and a local install of the npm package scrapingdog-mcp, built and launched as a stdio process. A Scrapingdog API key is required and read from the SCRAPINGDOG_API_KEY environment variable. Optional SCRAPINGDOG_API_BASE and SCRAPINGDOG_TIMEOUT_MS variables override the API base URL and per-request timeout. Network access to the Scrapingdog API is needed.
Before you install
The API key in SCRAPINGDOG_API_KEY is a billable credential; keep it out of shared configs and transcripts. Scrapingdog usage is typically metered or credit-based, so tool calls can consume paid quota. Requests send the target URLs and queries to Scrapingdog's servers, a third party. Scraped content may be subject to site terms and copyright. The amazon_reviews tool is documented as currently returning HTTP 400 for every input.

Installation

In SourceWeft

  1. Open Scrapingdog in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Scrapingdog MCP Server

The Model Context Protocol server for the Scrapingdog APIs, hosted at https://mcp.scrapingdog.com/mcp.

It gives an AI assistant 35 tools for live web data — Google SERPs, Maps, News, Shopping, Lens, Amazon, LinkedIn, YouTube, X, Walmart, eBay, screenshots and a general-purpose scraper — each backed by the corresponding Scrapingdog endpoint.

There is nothing to install. Point your client at the URL and send your own API key.

Connect

Get an API key from the Scrapingdog dashboard, then:

Claude Code

bash
claude mcp add --transport http scrapingdog https://mcp.scrapingdog.com/mcp \  --header "Authorization: Bearer YOUR_API_KEY"

Cursor / Windsurf / any client with an mcp.json

json
{  "mcpServers": {    "scrapingdog": {      "url": "https://mcp.scrapingdog.com/mcp",      "headers": { "Authorization": "Bearer YOUR_API_KEY" }    }  }}

claude.ai — Settings → Connectors → Add custom connector, URL https://mcp.scrapingdog.com/mcp, authentication "API key", paste your key.

Check it by hand

bash
curl -s https://mcp.scrapingdog.com/mcp \  -H "Authorization: Bearer YOUR_API_KEY" \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Calls are billed to the key you send, at the same credit cost as the REST API. A tool's description states what it costs.

How it works

MCP client ──Authorization: Bearer <key>──> mcp.scrapingdog.com ──api_key=<key>──> api.scrapingdog.com

The server is stateless: every request builds its own MCP server and transport from the key on that request and tears them down with the response. One process serves many customers without a session map, so a key never outlives the request it came on and cannot leak into another caller's session. npm run smoke asserts exactly that, among other things.

Keys are verified against Scrapingdog's own /account endpoint (which resolves user keys and team member keys, and costs no credits), cached briefly. If that check is unreachable the request is let through, because the API itself still enforces the key on every tool call — an outage in the verifier must not take the whole MCP surface down. No database credentials are needed anywhere in this service.

Layout

PathWhat it is
src/endpoints.tsThe 35 endpoints, declared. Adding an API means appending one object here — no handler code.
src/server.tsBuilds the MCP server and derives each tool's schema from that registry
src/client.tsThe HTTP client for api.scrapingdog.com
src/auth.tsAPI-key verification and caching
src/http.tsThe hosted entry point (Streamable HTTP)
src/index.tsA stdio entry point, for local development only
deploy/nginx/The mcp.scrapingdog.com vhost
ecosystem.config.cjspm2 app definition
scripts/smoke.mjsPre-deploy checks against a stubbed API

Local development

bash
npm cinpm run buildnpm run smoke          # stubs the API: no key needed, no credits spent
npm run dev            # the HTTP server on http://127.0.0.1:8731/mcpSCRAPINGDOG_API_KEY=... npm run dev:stdio   # stdio, for poking at one tool

Inspect it interactively:

bash
npx @modelcontextprotocol/inspector# transport: Streamable HTTP, url: http://127.0.0.1:8731/mcp,# header: Authorization: Bearer <your key>

Settings live in .env.example.

Deploying

The server runs on its own box, separate from the API servers, so a problem here cannot affect api.scrapingdog.com.

First time, on a bare Ubuntu box:

bash
git clone https://github.com/Darshan972/Scrapingdog-mcp.git ~/Scrapingdog-mcpcd ~/Scrapingdog-mcp && bash deploy/setup-server.sh

That installs Node (from .nvmrc), pm2, nginx and the vhost, builds and starts the app, opens the firewall, and issues the TLS certificate — skipping the certificate with a clear message if DNS doesn't point here yet. It is safe to re-run.

After that, every push to main typechecks, builds, runs the smoke suite and only then rolls out with pm2 reload (.github/workflows/deploy.yml). Needs three repository secrets: MCP_SERVER_HOST, MCP_SERVER_USER, MCP_SSH_PRIVATE_KEY.

The deploy health check requires /healthz to answer 200 and an unauthenticated POST /mcp to answer 401, so a deploy that accidentally opened the gateway fails instead of going green.

The app binds 127.0.0.1 so nginx is the only route in. Don't change that on a public host: the key check lives in this process, so an exposed port is an open proxy to the API.

License

MIT

Source: README.md at commit 42fd5e2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts