mcpField
S
Scrapingdog

Scrapingdog

Local
scrapingdog.comBrowser Automation0Updated 3d ago

About Scrapingdog

Scrapingdog is a hosted MCP server for AI assistants that need live web and search data. It exposes 35 tools backed by Scrapingdog APIs, with API-key authentication and no installation required for clients.

Key features

  1. 0135 tools for live web data
  2. 02Google search, Maps, News and Shopping
  3. 03Amazon, LinkedIn, YouTube, X, Walmart and eBay
  4. 04Screenshots and general-purpose scraping
  5. 05Stateless requests with per-request API keys

Use cases

  1. 01Retrieve current Google search results
  2. 02Collect product and marketplace data
  3. 03Fetch social platform information
  4. 04Capture screenshots or scrape web pages

MCP support

Provides a hosted MCP endpoint at https://mcp.scrapingdog.com/mcp. MCP clients can call Scrapingdog API-backed tools using a bearer API key.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"darshan972-scrapingdog": {
"command": "npx",
"args": [
"-y",
"scrapingdog-mcp"
],
"env": {
"SCRAPINGDOG_API_KEY": "<SCRAPINGDOG_API_KEY>",
"SCRAPINGDOG_API_BASE": "<SCRAPINGDOG_API_BASE>",
"SCRAPINGDOG_TIMEOUT_MS": "<SCRAPINGDOG_TIMEOUT_MS>"
}
}
}
}
Run commandnpx -y scrapingdog-mcp
Environment variables to set
SCRAPINGDOG_API_KEYSecretYour Scrapingdog API key (from https://www.scrapingdog.com/ dashboard).
SCRAPINGDOG_API_BASEOverride the Scrapingdog API base URL.
SCRAPINGDOG_TIMEOUT_MSPer-request timeout in milliseconds.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmscrapingdog-mcp0.1.1

Tools

35

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
urlstringYesThe absolute URL of the page to scrape.
waitnumberNoMilliseconds to wait after page load before capturing (only with dynamic=true).
countrystringNoTwo-letter ISO country code for the proxy geo-location (requires premium). (API default: us)
dynamicbooleanNoSet true to render JavaScript with a headless browser. Costs more credits. (API default: false)
premiumbooleanNoSet true to use premium (residential) proxies for hard-to-scrape sites. (API default: false)
ai_querystringNoNatural-language instruction to extract specific data from the page via AI.
markdownbooleanNoReturn the page content converted to clean markdown instead of raw HTML. (API default: false)
session_numbernumberNoReuse the same proxy IP across requests by passing a stable integer.
ai_extract_rulesstringNoJSON string of field->instruction rules for structured AI extraction.

Details

From the project 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

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

{
  "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

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

npm ci
npm run build
npm run smoke          # stubs the API: no key needed, no credits spent

npm run dev            # the HTTP server on http://127.0.0.1:8731/mcp
SCRAPINGDOG_API_KEY=... npm run dev:stdio   # stdio, for poking at one tool

Inspect it interactively:

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:

git clone https://github.com/Darshan972/Scrapingdog-mcp.git ~/Scrapingdog-mcp
cd ~/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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.