Skip to main content
Glama

🐢 ScrapingDog MCP Server

The complete Model Context Protocol server for ScrapingDog β€” all 77 API endpoints as AI-ready tools.

Give Claude (or any MCP client) the power to scrape any webpage, search Google, pull Amazon product data, read LinkedIn profiles, fetch YouTube transcripts, track Google Trends, and much more β€” through one API key.

MIT License Node >= 18 MCP

Built by extracting the entire official documentation (~90 pages at scrapingdog.com/documentation) into machine-readable specs, then verifying endpoints against the live API β€” including fixing endpoints the official docs get wrong (see Deviations).


⚑ Quick start

1. Get an API key β€” free 200-credit trial, no credit card: api.scrapingdog.com/register

2. Install (pick your client):

claude mcp add --scope user scrapingdog -e SCRAPINGDOG_API_KEY=YOUR_KEY -- npx -y github:alessandrobenigni/ScrapingDog-MCP

Claude Desktop

Add to claude_desktop_config.json (Settings β†’ Developer β†’ Edit Config):

{
  "mcpServers": {
    "scrapingdog": {
      "command": "npx",
      "args": ["-y", "github:alessandrobenigni/ScrapingDog-MCP"],
      "env": { "SCRAPINGDOG_API_KEY": "YOUR_KEY" }
    }
  }
}

Cursor / Windsurf / any MCP client

Same JSON shape as above in the client's MCP config (.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, …).

From a local clone (fastest startup, easiest to hack on)

git clone https://github.com/alessandrobenigni/ScrapingDog-MCP.git
cd ScrapingDog-MCP
npm install
claude mcp add --scope user scrapingdog -e SCRAPINGDOG_API_KEY=YOUR_KEY -- node "$(pwd)/src/index.js"

3. Use it β€” just ask your AI naturally:

"Search Google for 'best espresso machine 2026' and summarize the top results" "Scrape this product page and extract the price" "Get the transcript of this YouTube video" "What's trending on Google Trends for 'AI agents' in the US this year?" "Pull the LinkedIn company profile for Anthropic" "How many ScrapingDog credits do I have left?" (β†’ account tool)

That's it. No proxy management, no CAPTCHAs, no blocked requests.


Related MCP server: scraperapi-mcp-server

🧰 The 77 tools

Every tool maps 1:1 to a ScrapingDog endpoint, with every documented parameter typed and described. Credit costs are per successful request and are shown in each tool's description.

🌐 Web Scraping

Tool

What it does

Credits

scrape

Scrape any URL β†’ raw HTML. JS rendering (dynamic), premium residential proxies (premium), geotargeting (country), sticky sessions (session_number), Cloudflare/CAPTCHA bypass (stealth_mode), custom header forwarding

1–25

scrape_post

Forward a POST body (forms, POST-only APIs) through the proxy layer

1+

screenshot

Screenshot any page (viewport or full-page, png/jpg/webp) β†’ returned as an actual image

5

πŸ” Google Search & AI

Tool

What it does

Credits

google_search

Full SERP as JSON: organic results, ads, AI Overviews, knowledge graph, local pack, top stories, related questions/searches, inline images/videos/shopping, discussions, immersive products, pagination

5

google_ai_mode

Google's AI Mode answers

10

google_ai_overview

Standalone AI Overview extraction

5

google_autocomplete

Query suggestions

β€”

google_lens

Visual search by image URL

β€”

Tool

What it does

google_maps_search / google_maps_places / google_maps_reviews / google_maps_photos / google_maps_posts

Complete Maps data: place search, place details, paginated reviews, photos, business posts

google_trends / google_trends_autocomplete / google_trends_trending_now

Interest over time, entity lookup, real-time trending topics

google_news_search / google_news_v2

News SERP + the newer topic-token News API

πŸŽ“ Google Scholar & Patents

google_scholar Β· google_scholar_profiles Β· google_scholar_author Β· google_scholar_author_citation Β· google_scholar_cite Β· google_patents Β· google_patent_details

Tip: google_patents returns patent_id as patent/US11734097B1/en; pass just the publication number (US11734097B1) to google_patent_details.

πŸ›οΈ Google Shopping & verticals

google_shopping Β· google_immersive_product Β· google_images Β· google_videos Β· google_shorts Β· google_finance Β· google_jobs Β· google_local Β· google_hotels Β· google_flights Β· google_ads_transparency

Multi-step flows are documented in the tool descriptions β€” e.g. Flights chains departure_token β†’ booking_token; Shopping filters chain via shoprs.

πŸ”Ž Other search engines

bing_search Β· bing_shopping Β· duckduckgo_search Β· baidu_search Β· universal_search (20 credits, engine-agnostic)

πŸ“¦ Amazon

Tool

Credits

amazon_product (by ASIN)

1 (US) / 5 (other countries)

amazon_search

1 (US) / 5 (other) / +25 premium

amazon_reviews Β· amazon_offers Β· amazon_autocomplete

5 / 5 / β€”

πŸ›’ Walmart, eBay, Flipkart, Myntra

walmart_product Β· walmart_search Β· walmart_reviews Β· walmart_autocomplete Β· ebay_search Β· ebay_product Β· flipkart_search Β· flipkart_product Β· myntra_search Β· myntra_product

Walmart/eBay/Flipkart/Myntra tools take the full target-site URL (locale lives in the domain, e.g. ebay.co.uk).

πŸ’Ό LinkedIn, Jobs & Local

Tool

What it does

Credits

linkedin_person_profile

Full person profile by public ID

50–100

linkedin_company_profile

Company/school profile

10

linkedin_post

Post data

5

linkedin_jobs_search / linkedin_job_overview

Job search + job details

5

yelp_scraper / indeed_scraper / zillow_scraper

Local businesses, job listings, real estate

4 / 1 / 2

πŸ“± Social & Video

x_profile Β· x_post Β· tiktok_profile Β· tiktok_post Β· tiktok_ads Β· youtube_search Β· youtube_video Β· youtube_channel Β· youtube_comments Β· youtube_transcripts (only 1 credit!)

πŸ€– AI & Utilities

Tool

What it does

Credits

chatgpt_scraper

Send a prompt to ChatGPT, get the structured conversation back

30

account

Remaining credits, concurrency, plan info β€” costs nothing, check it anytime

0

webhook

Fire-and-forget async scraping: returns a sid immediately, result POSTs to your dashboard-configured webhook

β€”


πŸ—οΈ How it works

specs/*.json  ──►  src/index.js  ──►  77 MCP tools over stdio
(source of truth)   (generic engine)
  • specs/*.json β€” nine category files holding every endpoint: exact URL, method, credit cost, every documented parameter (name/type/required/default/description), quirks, and response structure. Extracted from the full official docs on 2026-07-10.

  • src/index.js β€” a single ~200-line engine. At startup it loads the specs and registers one tool per endpoint. To fix or extend an API, edit a JSON file β€” zero code changes.

  • docs/*.md β€” distilled human-readable API reference per category (param tables, response shapes, gotchas).

  • test/smoke.js β€” end-to-end test: boots the server over stdio as a real MCP client and makes live API calls.

Built-in robustness

Concern

Handling

Your API key

Injected server-side from SCRAPINGDOG_API_KEY β€” never exposed as a tool parameter, never visible to the model

Rate limits / transient errors

Automatic retry (3 attempts, backoff) on 429 / 5xx

Slow scrapes

90s client timeout (ScrapingDog's own limit is 60s)

Giant HTML pages

Capped at 400k chars with a clear truncation notice

Screenshots

Returned as real MCP image content (base64 png/jpg/webp), not text

API errors

Mapped to actionable hints (401 β†’ bad key, 403 β†’ plan doesn't include this API, 410 β†’ target returned nothing, …)


πŸ§ͺ Verify your install

SCRAPINGDOG_API_KEY=YOUR_KEY npm test          # macOS/Linux
$env:SCRAPINGDOG_API_KEY="YOUR_KEY"; npm test  # Windows PowerShell

Boots the server, lists all 77 tools, and makes 4 live calls (account, google_search, scrape, youtube_transcripts). Uses ~7 credits.


⚠️ Deviations from the official docs

Found and fixed by testing against the live API (2026-07-10):

  1. YouTube endpoints β€” the docs list https://api.scrapingdog.com/youtube for all five YouTube APIs. That URL returns the ScrapingDog web app, not data. The real endpoints (used by this server) are /youtube/search, /youtube/video, /youtube/channel, /youtube/comments, /youtube/transcripts.

  2. youtube_video parameter β€” docs say video_id; the live API rejects it and requires v.

  3. Datacenter proxy mode (http://scrapingdog:APIKEY@proxy.scrapingdog.com:8081) is a passthrough HTTP proxy, not a REST endpoint β€” documented in docs/engines-utilities.md but intentionally not exposed as a tool.

  4. Where the docs omit a credit cost or response sample (a handful of endpoints), the tool description says so explicitly rather than guessing.


πŸ’³ Credits, limits & error codes

  • Free plan: 200 credits/month. Every tool description states its cost; account is free and shows your balance.

  • Cost-saving tip: scrape defaults to JS rendering (5 credits). Pass dynamic: false for static pages β†’ 1 credit.

  • Requests time out server-side after 60 seconds; concurrency is limited per plan tier (excess β†’ 429, which this server retries automatically).

Code

Meaning

200

Success

202

Accepted, queued

400

Bad request β€” check parameters

401

Invalid or missing API key

403

Your plan doesn't include this API

404

Resource not found

410

Target URL returned no content

429

Rate limit β€” auto-retried


πŸ”§ Troubleshooting

Symptom

Fix

Server exits immediately: SCRAPINGDOG_API_KEY ... not set

Pass the key via -e (Claude Code) or the env block (JSON configs)

401 Unauthorized on every call

Key is wrong/expired β€” check your dashboard

403 Forbidden on one specific tool

That API isn't in your plan tier

npx install is slow on first launch

It's cloning + installing once; subsequent launches use the cache. Or use the local-clone install

Tool returns truncated HTML

Expected on huge pages (400k-char cap) β€” scrape a more specific URL or use a structured tool instead of raw scrape

Windows: server won't start from a path with spaces

Quote the path in your config: "args": ["C:\\path with spaces\\src\\index.js"]


πŸ—ΊοΈ Repo map

β”œβ”€β”€ src/index.js        # the server (spec-driven engine)
β”œβ”€β”€ specs/              # machine-readable endpoint specs β€” the source of truth
β”‚   β”œβ”€β”€ web-scraping.json
β”‚   β”œβ”€β”€ google-search.json
β”‚   β”œβ”€β”€ google-ai-maps-trends.json
β”‚   β”œβ”€β”€ google-news-scholar-patents.json
β”‚   β”œβ”€β”€ google-shopping-other.json
β”‚   β”œβ”€β”€ engines-utilities.json
β”‚   β”œβ”€β”€ amazon-walmart.json
β”‚   β”œβ”€β”€ ecommerce.json
β”‚   β”œβ”€β”€ profiles-jobs-local.json
β”‚   └── social-youtube.json
β”œβ”€β”€ docs/               # human-readable API reference per category
β”œβ”€β”€ test/smoke.js       # live end-to-end test
└── .env.example

🀝 Contributing

ScrapingDog ships new APIs regularly. Adding one is trivial:

  1. Add an endpoint object to the matching specs/*.json (or a new spec file) β€” tool_name, endpoint, params, credits, description, response_summary.

  2. Restart the server. The tool exists.

  3. Run npm test, open a PR.

πŸ“„ License

MIT Β© Alessandro Benigni

Not affiliated with ScrapingDog β€” an independent MCP integration. ScrapingDog is a product of its respective owners. Use responsibly and in accordance with the terms of service of the sites you scrape.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alessandrobenigni/ScrapingDog-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server