# Parsera — how to use (mcp.ai)

Connect your Parsera account and use 15 tools for web scraping straight from your AI agent. Connect with your own API key. Parsera provides AI-powered web extraction, content parsing, and reusable scraper agents through its developer API.

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

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

### Endpoints
- `POST https://api.mcp.ai/api/parsera/create/scraper` — Tool to create a new empty scraper for your account. Returns a scraper_id that can be used with the generate endpoint to generate scraping code.
- `POST https://api.mcp.ai/api/parsera/delete/agent` — Delete an existing legacy Parsera agent by name.
  - body: { name: string }
- `POST https://api.mcp.ai/api/parsera/delete/scraper` — Delete an existing scraper created by PARSERA_CREATE_SCRAPER.
  - body: { scraper_id: string }
- `POST https://api.mcp.ai/api/parsera/extract/data` — Tool to perform LLM-powered data extraction from a live webpage URL with specified attributes. Use when you need to extract structured data from web pages based on field descriptions.
  - body: { url: string, mode?: string, prompt?: string, cookies?: object[], attributes: object, proxy_country?: string }
- `POST https://api.mcp.ai/api/parsera/extract/markdown` — Extract markdown from exactly one uploaded file or webpage URL.
  - body: { url?: string, file?: object }
- `POST https://api.mcp.ai/api/parsera/get/scraper/run/status` — Return the current state and available results for an asynchronous scraper run created by PARSERA_RUN_SCRAPER_ASYNC.
  - body: { run_id: string }
- `POST https://api.mcp.ai/api/parsera/health/check` — Tool to verify API availability and operational status. Use to check if the Parsera service is accessible before making other API calls.
- `POST https://api.mcp.ai/api/parsera/list/agents` — Tool to retrieve all available agents for the authenticated user. Use when you need to list agents that can be used for scraping tasks.
- `POST https://api.mcp.ai/api/parsera/list/llm/specs` — List the LLM models Parsera supports, including their capabilities and pricing metadata.
- `POST https://api.mcp.ai/api/parsera/list/proxy/countries` — List the case-sensitive proxy-country identifiers accepted by Parsera scraping tools.
- `POST https://api.mcp.ai/api/parsera/list/scrapers` — Tool to list all templates and old scrapers for the authenticated user. Use when you need to retrieve available scraper configurations.
- `POST https://api.mcp.ai/api/parsera/parse/content` — Extract structured data from supplied HTML or text without fetching a webpage.
  - body: { mode?: string, prompt?: string, content: string, max_pages?: integer, attributes: object|object[], enable_pagination?: boolean }
- `POST https://api.mcp.ai/api/parsera/run/legacy/agent` — Run a custom or pre-built agent from Parsera's legacy agent service against one webpage and return structured records. Prefix pre-built agent names with public/.
  - body: { url: string, name: string, cookies?: object[], proxy_country?: string }
- `POST https://api.mcp.ai/api/parsera/run/scraper/async` — Queue an existing extractor or agentic scraper and return a run ID immediately for later status checks. Use PARSERA_LIST_SCRAPERS to find a template ID and PARSERA_GET_SCRAPER_RUN_STATUS to retrieve r
  - body: { url?: string|string[], cookies?: object[], max_pages?: integer, parameters?: object, template_id: string, callback_url?: string, proxy_country?: string }
- `POST https://api.mcp.ai/api/parsera/run/scraper/sync` — Run an existing Parsera template or legacy scraper synchronously. Returns extracted records when complete, or a run ID to poll when Parsera continues a long request asynchronously. Use PARSERA_RUN_SCR
  - body: { url?: string|string[], cookies?: object[], template_id: string, proxy_country?: string }

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

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