# Scrape Do — how to use (mcp.ai)

Connect your Scrape Do account and use 16 tools for web scraping straight from your AI agent. Connect with your own API key. Scrape.do is a web scraping API offering rotating residential, data-center, and mobile proxies with headless browser support and session management to bypass anti-bot protections (e.g., Cloudflare, Akamai) and extract data at scale in formats like JSON and HTML.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_scrape_do?ms=1787295900000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `scrape_do_cancel_async_job`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/scrape_do`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/scrape_do/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/scrape_do/cancel/async/job` — Tool to cancel an asynchronous scraping job. Use when you need to stop processing of pending tasks in a job. Completed tasks remain available.
  - body: { token: string, job_id: string }
- `POST https://api.mcp.ai/api/scrape_do/create/async/job` — Tool to create an asynchronous scraping job with specified targets and options. Use when you need to scrape multiple URLs in parallel without waiting for results. Returns a job ID immediately for poll
  - body: { Body?: string, Super?: boolean, Device?: string, Method?: string, Output?: string, Render?: object, GeoCode?: string, Headers?: object, Targets: string[], Timeout?: integer, SessionID?: string, SetCookies?: string, WebhookURL?: string, DisableRetry?: boolean, RetryTimeout?: integer, ForwardHeaders?: boolean, WebhookHeaders?: object, RegionalGeoCode?: string, DisableRedirection?: boolean, TransparentResponse?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/get/account/info` — Retrieves account information and usage statistics from Scrape.do. This action makes a GET request to the Scrape.do info endpoint to fetch: - Subscription status - Concurrent request limits and usage 
  - body: { token: string }
- `POST https://api.mcp.ai/api/scrape_do/get/amazon/offers` — Get all seller offers for any Amazon product. Retrieves every seller listing including pricing, shipping costs, seller information, and Buy Box status in structured JSON format. Use when you need to c
  - body: { asin: string, geocode: string, zipcode: string, super_mode?: boolean, include_html?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/get/amazon/product` — Extract structured product data from Amazon product detail pages (PDP). Returns comprehensive product information including title, pricing, ratings, images, best seller rankings, and technical specifi
  - body: { asin: string, geocode: string, zipcode: string, language?: string, super_mode?: boolean, include_html?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/get/amazon/raw/html` — Tool to get raw HTML from any Amazon page with ZIP code geo-targeting. Use when you need complete unprocessed HTML source from Amazon URLs with location-based targeting. Ideal for scraping pages not c
  - body: { url: string, super?: boolean, output?: string, geocode: string, timeout?: integer, zipcode: string, language?: string }
- `POST https://api.mcp.ai/api/scrape_do/get/async/account/info` — Tool to get account information for the Async API including concurrency limits and usage statistics. Use when you need to check available concurrency slots, active jobs, or remaining credits for Async
- `POST https://api.mcp.ai/api/scrape_do/get/async/job` — Tool to retrieve details and status of a specific asynchronous scraping job. Use when you need to check the progress, status, or results of a previously created async job. Returns job metadata includi
  - body: { jobID: string }
- `POST https://api.mcp.ai/api/scrape_do/get/async/task` — Tool to retrieve the result of a specific task within an asynchronous job. Returns the scraped content for that particular URL. Use when you need to check the status and result of a previously submitt
  - body: { token: string, job_id: string, task_id: string }
- `POST https://api.mcp.ai/api/scrape_do/get/page` — A tool to scrape web pages using scrape.do's API service. Makes a basic GET request to fetch webpage content while handling anti-bot protections and proxy rotation automatically. Does not execute Java
  - body: { url: string, super?: boolean, width?: integer, device?: string, height?: integer, output?: string, render?: boolean, timeout?: integer, geo_code?: string, return_json?: boolean, set_cookies?: string, extra_headers?: boolean, retry_timeout?: integer, custom_headers?: boolean, block_resources?: boolean, disable_redirection?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/list/async/jobs` — Tool to list all asynchronous scraping jobs. Returns paginated list of jobs with their status and metadata. Use when you need to retrieve job history or monitor job statuses. Supports pagination with 
  - body: { page?: integer, page_size?: integer }
- `POST https://api.mcp.ai/api/scrape_do/proxy/mode` — This tool implements the Proxy Mode functionality of scrape.do, which allows routing requests through their proxy server. It provides an alternative way to access web scraping capabilities by handling
  - body: { url: string, device?: string, render?: boolean, geo_code?: string, custom_headers?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/scrape/url/post` — Tool to scrape web pages using POST method via scrape.do API. Use when you need to send POST requests to target websites with custom request body data. Supports all parameters from GET endpoint plus r
  - body: { url: string, body?: string, super?: boolean, device?: string, render?: boolean, geoCode?: string, timeout?: integer, sessionId?: string, setCookies?: string, customHeaders?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/search/amazon` — Tool to search Amazon and scrape product listings with structured results. Performs keyword searches and returns structured product data including titles, prices, ratings, Prime status, sponsored flag
  - body: { page?: integer, super?: boolean, geocode: string, keyword: string, zipcode: string, language?: string, include_html?: boolean }
- `POST https://api.mcp.ai/api/scrape_do/set/block/urls` — This tool allows users to block specific URLs during the scraping process. It's particularly useful for blocking unwanted resources like analytics scripts, advertisements, or any other URLs that might
  - body: { urls: string[] }
- `POST https://api.mcp.ai/api/scrape_do/set/regional/geo/code` — This tool allows users to set a broader geographical targeting by specifying a region code instead of a specific country code. This is useful when you want to scrape content from an entire region rath
  - body: { url: string, regional_geo_code: string }

## Example prompts
- "What can I do in Scrape Do?"
- "Show me a summary of my Scrape Do account"

## More
- Page: https://mcp.ai/scrape_do
- Agent spec (llms.txt): https://mcp.ai/scrape_do/llms.txt
- Postman collection: https://mcp.ai/scrape_do/postman.json
