# MrScraper — how to use (mcp.ai)

Connect your MrScraper account and use 11 tools for web scraping straight from your AI agent. Connect with your own API key. MrScraper provides web scraping APIs for structured extraction, search results, marketplace data, travel data, and web unblocking.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_mrscraper?ms=1787293380000`
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. `mrscraper_bulk_rerun_ai_scraper`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/mrscraper`
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/mrscraper/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/mrscraper/bulk/rerun/ai/scraper` — Run an existing General AI scraper configuration against multiple URLs in one request. Returns the accepted bulk result ID for Get Scrape Result.
  - body: { urls: string[], scraper_id: string }
- `POST https://api.mcp.ai/api/mrscraper/bulk/rerun/manual/scraper` — Run an existing saved manual scraper workflow against multiple URLs in one request. Returns the accepted bulk result ID for Get Scrape Result.
  - body: { urls: string[], scraper_id: string }
- `POST https://api.mcp.ai/api/mrscraper/create/ai/scraper` — Create and run a general, listing, or map AI scraper against a website.
  - body: { url: string, agent?: string, limit?: integer, message?: string, max_depth?: integer, max_pages?: integer, proxy_country?: string, exclude_patterns?: string[], include_patterns?: string[] }
- `POST https://api.mcp.ai/api/mrscraper/get/account/usage` — Return the connected MrScraper account's plan, token usage, concurrency allowance, and rate limits without exposing user identity or token details.
- `POST https://api.mcp.ai/api/mrscraper/get/analytic/statuses` — Return aggregate scrape counts, success rate, request rate, latency, and status totals for a domain and action over a time range.
  - body: { action?: string, domain: string, end_date: string, start_date: string, api_token_name?: string }
- `POST https://api.mcp.ai/api/mrscraper/get/analytic/timeline` — Return time-series scrape activity and success metrics for a domain and action over a time range.
  - body: { action?: string, domain: string, end_date: string, start_date: string, api_token_name?: string }
- `POST https://api.mcp.ai/api/mrscraper/get/result` — Retrieve the current status and output for one accessible scrape result by ID.
  - body: { result_id: string }
- `POST https://api.mcp.ai/api/mrscraper/heal/manual/scraper` — Ask MrScraper to repair an existing manual scraper workflow that no longer matches its target site.
  - body: { scraper_id: string }
- `POST https://api.mcp.ai/api/mrscraper/list/results` — List scrape results for the connected account with filtering, sorting, and agent-controlled pagination.
  - body: { end_at?: string, search?: string, start_at?: string, page_size?: integer, sort_field?: string, sort_order?: string, next_cursor?: string, date_range_column?: string }
- `POST https://api.mcp.ai/api/mrscraper/rerun/ai/scraper` — Run an existing AI scraper configuration against a new URL, with optional map crawl controls.
  - body: { url: string, limit?: integer, max_depth?: integer, max_pages?: integer, scraper_id: string, exclude_patterns?: string[], include_patterns?: string[] }
- `POST https://api.mcp.ai/api/mrscraper/rerun/manual/scraper` — Run an existing saved manual scraper workflow against a new URL.
  - body: { url: string, scraper_id: string }

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

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