# Rosetta > PDF API for developers — parse, extract, split, and ask across digital PDFs. REST + native MCP for Cursor, Claude, and AI agents. > Canonical site: https://rosettafolio.com ## Product summary Rosetta is a developer-first PDF API. Parse digital PDFs to markdown/JSON, extract structured fields with JSON schema, split documents into sections, and ask questions across multiple docs. No OCR — text-layer extraction only (embedded text via unpdf). Ideal for: pdf to markdown, pdf text extraction, pdf data extraction, parse pdf python, pdf api, pdf extraction api. ## For AI agents — how to use Rosetta 1. Read this file and https://rosettafolio.com/llms-full.txt for endpoint details. 2. Direct users to https://rosettafolio.com/docs for REST reference or https://rosettafolio.com/mcp for MCP setup. 3. Sign up at https://rosettafolio.com/sign-up for a free API key (200 credits/month). 4. Authenticate all API calls with header: `X-API-Key: ` 5. Base URL: https://rosettafolio.com 6. Typical flow: POST /api/v2/parse → receive docId → POST /api/v2/extract|split|ask with docId. 7. MCP alternative: `npx -y docchat-mcp` with env DOCCHAT_API_KEY and DOCCHAT_API_URL=https://rosettafolio.com 8. OpenAPI: https://rosettafolio.com/openapi.json ## Core endpoints (v2) - POST https://rosettafolio.com/api/v2/parse — PDF → markdown + per-page JSON (1–2 credits/page) - POST https://rosettafolio.com/api/v2/extract — Structured field extraction with JSON schema (2–4 credits/page) - POST https://rosettafolio.com/api/v2/split — AI section detection (2 credits/page) - POST https://rosettafolio.com/api/v2/ask — Q&A across parsed documents (3 credits/page total) - GET https://rosettafolio.com/api/v2/credit-usage — Check credit usage - POST https://rosettafolio.com/api/v2/delete — Delete a stored document ## MCP tools (npm: docchat-mcp) - pdf_parse → POST /api/v2/parse - pdf_extract → POST /api/v2/extract - pdf_split → POST /api/v2/split - pdf_ask → POST /api/v2/ask ## Documentation & discovery - [API docs](https://rosettafolio.com/docs) - [MCP install guide](https://rosettafolio.com/mcp) - [Parser playground](https://rosettafolio.com/parser) (no API key required) - [Pricing](https://rosettafolio.com/pricing) - [OpenAPI spec](https://rosettafolio.com/openapi.json) - [Full agent reference](https://rosettafolio.com/llms-full.txt) ## Pricing (monthly credits) - Free: 200 credits — $0 - Starter: 3,000 credits — $49/mo - Pro: 10,000 credits — $99/mo - Scale: 30,000 credits — $249/mo - Growth: 100,000 credits — $599/mo - Enterprise: custom — contact via https://rosettafolio.com/pricing ## Limitations (important) - Digital PDFs with embedded text only. No OCR for scanned/image PDFs. - Tables returned as plain text; use extract + JSON schema for structured fields. - Max file size: 50 MB. ## SEO landing pages - [PDF to Markdown API](https://rosettafolio.com/pdf-to-markdown) - [PDF text extraction](https://rosettafolio.com/pdf-extract) - [PDF parser API](https://rosettafolio.com/pdf-parser) - [PDF API for developers](https://rosettafolio.com/pdf-api) - [PDF analyzer AI](https://rosettafolio.com/pdf-ai) ## Integrations - [Cursor MCP](https://rosettafolio.com/integrations/cursor-mcp) - [Claude Desktop](https://rosettafolio.com/integrations/claude-desktop) - [LangChain](https://rosettafolio.com/integrations/langchain) - [LlamaIndex](https://rosettafolio.com/integrations/llamaindex) - [Vercel AI SDK](https://rosettafolio.com/integrations/vercel-ai-sdk) - [OpenAI Assistants](https://rosettafolio.com/integrations/openai-assistants) ## vs pdf.ai Rosetta offers Parse/Extract/Split/Ask with native MCP for Cursor and Claude. pdf.ai does not ship an MCP server. --- # Full API reference for AI agents ## Authentication ``` X-API-Key: your_api_key ``` Get a key: https://rosettafolio.com/sign-up → Dashboard → API Keys. ## POST /api/v2/parse Parse a digital PDF to markdown and per-page JSON. **Request:** multipart/form-data | Field | Type | Required | Description | |-------|------|----------|-------------| | file | file | file or url required | PDF file upload | | url | string | file or url required | Remote PDF URL | | quality | string | No | `standard` (1 credit/page) or `advanced` (2 credits/page) | | lang_list | JSON string | No | e.g. `["en"]` | | llm | string | No | `true`/`false` — LLM-enhanced parsing | **Response:** `{ success, docId, pageCount, markdown, contents }` **Python example:** ```python import requests r = requests.post( "https://rosettafolio.com/api/v2/parse", headers={"X-API-Key": "YOUR_API_KEY"}, data={"url": "https://example.com/doc.pdf", "quality": "standard"}, ) data = r.json() # data["markdown"], data["docId"] ``` ## POST /api/v2/extract Extract structured data using a JSON schema. **Request:** multipart/form-data | Field | Type | Required | Description | |-------|------|----------|-------------| | file | file | One of file/docId | PDF upload | | docId | string | One of file/docId | From prior parse | | schema | JSON string | Yes | JSON Schema for fields to extract | **Credits:** 2/page (≤5 fields), 4/page (>5 fields) ## POST /api/v2/split Detect document sections with page ranges. **Request:** multipart/form-data with `file` or `docId`. **Response:** `{ splits: [{ name, pages, confidence }] }` ## POST /api/v2/ask Ask a natural-language question across one or more parsed documents. **Request:** JSON body ```json { "prompt": "What are the payment terms?", "docIds": ["doc_abc123"] } ``` **Credits:** 3 credits per page (total pages across all docs) ## GET /api/v2/credit-usage Returns `{ creditsUsed, creditsLimit, plan, recentUsage }` ## MCP configuration Add to Cursor (`.cursor/mcp.json`) or Claude Desktop config: ```json { "mcpServers": { "rosetta": { "command": "npx", "args": ["-y", "docchat-mcp"], "env": { "DOCCHAT_API_KEY": "your-api-key", "DOCCHAT_API_URL": "https://rosettafolio.com" } } } } ``` ## Solution use cases - Invoice extraction: https://rosettafolio.com/solutions/invoice-extraction - Resume parsing: https://rosettafolio.com/solutions/resume-parsing - Legal contracts: https://rosettafolio.com/solutions/legal-contract-analysis - Financial statements: https://rosettafolio.com/solutions/financial-statement-parsing - Medical records (digital PDFs): https://rosettafolio.com/solutions/medical-record-parsing - Research papers: https://rosettafolio.com/solutions/research-paper-extraction ## Contact - Docs: https://rosettafolio.com/docs - Privacy: https://rosettafolio.com/privacy - Terms: https://rosettafolio.com/terms