Skip to main content
This guide takes you from zero to a parsed document in three steps.
1

Create an API key

Sign in to your dashboard, open the API Keys page, or click on “Get API Key”, and create a new key. It’s shown once at creation, so copy it somewhere safe.All keys start with sk-pr- and authenticate via a bearer token:
Authorization: Bearer sk-pr-...
Treat your API key like a password. Don’t commit it to source control or expose it in client-side code – call ParseRouter from your backend.
2

Make sure you have credits

Parsing costs 1 credit per page, and you’re only charged for documents that parse successfully. Check your balance on the dashboard and top up from the Billing page if needed.
3

Parse your first document

Send a document as multipart form data. The only required field is file.
curl -X POST https://api.parserouter.com/v1/mineru/parse \
  -H "Authorization: Bearer sk-pr-..." \
  -F "file=@invoice.pdf" \
  -F "model=mineru2.5-pro-2605"

The response

A successful parse returns the page count, the full document as Markdown, and a flat list of structured content blocks in reading order:
{
  "page_count": 1,
  "markdown": "# Invoice #2041\n\n<table><tr><td>Item</td><td>Qty</td><td>Price</td></tr><tr><td>API credits</td><td>10,000</td><td>$99.00</td></tr></table>",
  "content_list": [
    { "type": "text", "text": "Invoice #2041", "text_level": 1, "page_idx": 0 },
    {
      "type": "table",
      "table_body": "<table><tr><td>Item</td><td>Qty</td><td>Price</td></tr>...</table>",
      "page_idx": 0
    }
  ]
}
Use markdown when you want the whole document as text (for example, to feed an LLM), or content_list when you need structure, block types, and reading order.
Large documents take time. Pages are parsed by the model, so a multi-page document can take from seconds to a few minutes. Set a generous client timeout (the examples above use 600s). Documents are capped at 50 pages each.

What’s next

API Reference

Every parameter and the full response schema.

Errors

The status codes ParseRouter returns and how to handle them.