Skip to main content
Glama
Scrapingdog MCP Server

Scrapingdog MCP Server

by Darshan972

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.

Related MCP server: mcp-services

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

Path

What it is

src/endpoints.ts

The 35 endpoints, declared. Adding an API means appending one object here — no handler code.

src/server.ts

Builds the MCP server and derives each tool's schema from that registry

src/client.ts

The HTTP client for api.scrapingdog.com

src/auth.ts

API-key verification and caching

src/http.ts

The hosted entry point (Streamable HTTP)

src/index.ts

A stdio entry point, for local development only

deploy/nginx/

The mcp.scrapingdog.com vhost

ecosystem.config.cjs

pm2 app definition

scripts/smoke.mjs

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

Available Tools

35 tools
amazon_offersAmazon Offers APIA

Fetch all buying offers and sellers for an Amazon product by ASIN.

Inputs: asin (required), domain, country.

amazon_productAmazon Product APIA

Scrape a single Amazon product page (price, specs, ratings) by ASIN.

Inputs: asin (required), domain, country, postal_code.

amazon_reviewsAmazon Reviews APIA

Scrape customer reviews, ratings and reviewer details for an Amazon product by ASIN.

Inputs: asin (required), page, domain, country.

chatgptChatGPT Scraper APIB

Send a prompt to ChatGPT and get the response as structured JSON, at scale.

Inputs: prompt (required), html.

google_ai_modeGoogle AI Mode APIC

Retrieve Google's AI Mode conversational answer for a query.

Inputs: query (required), html, safe, country, +2 more.

google_ai_overviewGoogle AI Overview APIA

Fetch the Google AI Overview block for a search. Pass the AI-overview URL returned in a google_search response (that URL expires ~2 minutes after it is issued).

Inputs: url (required).

google_financeGoogle Finance APIB

Fetch live stock quotes and market data from Google Finance.

Inputs: query (required), html, language.

google_hotelsGoogle Hotels APIB

Get hotel and vacation-rental prices, ratings and availability from Google Hotels.

Inputs: query (required), check_in_date (required), check_out_date (required), html, +15 more.

google_imagesGoogle Images APIB

Get Google Images search results with sources and thumbnails.

Inputs: query (required), tbs, html, safe, +4 more.

google_immersive_productGoogle Immersive Product APIB

Retrieve detailed product info from Google's immersive product popup via a page token.

Inputs: page_token (required), sori, stores, country, +1 more.

google_jobsGoogle Jobs APIC

Scrape job listings aggregated across Google Jobs.

Inputs: query (required), chips, ltype, domain, +3 more.

google_lensGoogle Lens APIA

Reverse-image search via Google Lens for visual matches and products.

Inputs: url (required), query, country, product, +3 more.

google_mapsGoogle Maps APIC

Scrape local business listings and place details from Google Maps.

Inputs: query (required), ll, data, page, +5 more.

google_newsGoogle News APIB

Scrape Google News headlines, sources and timestamps.

Inputs: so, query, country, language, +3 more.

google_patentsGoogle Patents APIC

Search patent records and metadata via Google Patents.

Inputs: query (required), num, page, sort, +9 more.

google_scholarGoogle Scholar APIB

Search academic papers, authors and citation counts via Google Scholar.

Inputs: page, cites, query, as_sdt, +4 more.

google_shoppingGoogle Shopping APIB

Scrape product listings and prices from Google Shopping.

Inputs: query (required), tbs, html, page, +4 more.

google_shortsGoogle Shorts APIC

Retrieve Google short videos with sources, thumbnails and dates.

Inputs: query (required), lr, tbs, html, +6 more.

linkedin_profileLinkedIn Profile / Company APIA

Scrape a public LinkedIn person or company profile by its public identifier (the slug in the profile URL).

Inputs: type (required), linkId (required), premium.

screenshotScreenshot APIB

Capture a screenshot (PNG/JPG/WEBP) of any web page. Returns the image.

Inputs: url (required), width, format, height, +3 more.

web_scrapeWeb Scraping APIA

General-purpose web scraper. Fetches any URL through Scrapingdog's rotating proxies with optional JavaScript rendering, premium proxies, geo-targeting, and AI-based extraction. Returns the page HTML (or extracted data).

Inputs: url (required), wait, country, dynamic, +5 more.

x_profileX (Twitter) Profile APIA

Scrape a public X (Twitter) profile's metadata (bio, followers, counts, etc.).

Inputs: profileId (required).

youtube_channelYouTube Channel APIC

Get a YouTube channel's details and videos.

Inputs: channel_id (required), country, language.

youtube_commentsYouTube Comments APIB

Get comments for a YouTube video.

Inputs: v (required), country, language.

youtube_transcriptsYouTube Transcripts APIA

Get the transcript (with timestamps) for a YouTube video.

Inputs: v (required), country, language.

youtube_videoYouTube Video APIA

Get details and metadata for a single YouTube video.

Inputs: v (required), country, language.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 35 tools

    Disambiguation4/5

    Most tools are clearly distinct by source and data type (e.g., google_search vs google_maps), but some close pairs like google_ai_overview and google_ai_mode, or universal_search and google_search, require careful reading. Overall, descriptions resolve most ambiguity.

    Naming Consistency4/5

    Tool names consistently use lowercase snake_case with a source prefix (google_, amazon_, youtube_), making them predictable. A few general tools like web_scrape, universal_search, screenshot, and chatgpt break the prefix pattern but are still clearly named.

    Tool Count2/5

    With 35 tools, the set exceeds the recommended range for a coherent server. While each tool targets a specific scraping scenario, the large number makes the surface feel heavy and harder to navigate.

    Completeness5/5

    The server covers an impressively broad range of scraping needs: multiple search engines, Amazon product/review/offer data, YouTube details/transcripts/comments, and a general-purpose scraper. No obvious dead ends or critical missing operations for the stated domain.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Web scraping MCP server for Al agents. 6 tools: extract clean text/markdown from any URL, structured scraping with CSS selectors, full-page screenshots via Playwright, link extraction with regex filtering, metadata extraction (OG tags, Twitter cards), and Google search. Free tier: 50 requests/IP/day.
      8
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Multi-tool MCP server for AI agents with 29 tools across web scraping, SEO analysis, screenshot and PDF generation, domain intelligence, content extraction, multi-chain EVM blockchain queries, and security toolkit. Free tier available with no auth required.
      50 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A comprehensive MCP server providing 15 web tools including search, scraping, screenshots, SEO audits, and DNS/SSL checks through a single installation. It delivers clean, LLM-optimized outputs so AI agents can focus on reasoning rather than parsing raw HTML.
      15
      17 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.
      42
      MIT