9 hosted OCR models · one API

Use the right OCR model
for every document.

Route PDFs to Paddle, Mistral, Azure, Google, or Textract with one request. Change ocr_model without changing your integration. Get typed openparser@1 blocks and markdown.

9 hosted OCR modelsFrom $1 per 1,000 pages$10 credits at signup
1
2
3
b1 title
PAYMENT AUTHORIZATION
b2 field
Account
4021-8837
b3 field
Date
May 2025
b4 table
ItemAmount
Consulting$4,636.40
Adjustment-$318.20
Total$4,318.20
b5 checkbox
PaidPending
b6 signature
readingpaddleocr-vl-1.6
analyzing
0/6 blocks
/ api

Parse PDFs. Extract fields.

POST /parse returns openparser@1 blocks and markdown. POST /extract fills your schema with citations. Sync, async, and batch share the same request shape.

endpointsapi.openparser.dev
  • Full API reference
POST/parserequest
curl https://api.openparser.dev/parse \
  -H "Authorization: Bearer op_live_…" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F 'request={"ocr_model":"paddleocr-vl-1.6","output_format":"openparser@1"};type=application/json' \
  -F "file=@statement.pdf"
response200 · 1.9s
{
  "output_format": "openparser@1",
  "document_id": "doc_3f9a2c",
  "page_count": 1,
  "markdown": "## Payment Authorization\n| Item | Amount |\n| --- | --- |\n| Total | $4,318.20 |",
  "blocks": [
    {
      "index": 0,
      "page_number": 1,
      "kind": "text",
      "text": "## Payment Authorization"
    },
    {
      "index": 1,
      "page_number": 1,
      "kind": "table",
      "table_html": "<table><tr><th>Item</th><th>Amount</th></tr><tr><td>Total</td><td>$4,318.20</td></tr></table>",
      "bbox": {
        "left": 14,
        "top": 53,
        "right": 146,
        "bottom": 123
      },
      "confidence": 0.98
    }
  ],
  "regions": [],
  "contents": [],
  "chunks": []
}
/ catalog

9 OCR models on one API

Set ocr_model on /parse. Each model returns openparser@1 blocks and markdown. Prices per 1,000 pages below.

  • PaddleOCR-VL 1.6paddleocr-vl-1.6

    Open-weight hosted. General documents at the lowest page price.

    ProviderBaidu / Paddle
    Pricing / 1,000 pages
    $1
    OutputMarkdown + boxes
  • Mistral OCR 4mistral-ocr-4

    Complex, visually rich docs when quality matters more than price.

    ProviderMistral
    Pricing / 1,000 pages
    $4.60
    OutputMarkdown + boxes
  • Mistral OCR 3mistral-ocr-3

    Clean markdown without bounding-box regions.

    ProviderMistral
    Pricing / 1,000 pages
    $2.30
    OutputMarkdown
  • Azure DI Layoutazure-di-layout

    Microsoft-centric deployments and layout-heavy enterprise PDFs.

    ProviderMicrosoft Azure
    Pricing / 1,000 pages
    $11.50
    OutputMarkdown + boxes
  • Azure DI Readazure-di-read

    Search and indexing in Microsoft environments.

    ProviderMicrosoft Azure
    Pricing / 1,000 pages
    $1.73
    OutputPlain text + boxes
  • Google Enterprise Document OCRgoogle-docai-ocr

    Google Cloud deployments needing structured OCR.

    ProviderGoogle Cloud
    Pricing / 1,000 pages
    $1.73
    OutputMarkdown + boxes
  • AWS Textract Detectaws-textract-detect

    Low-cost text detection for AWS-native pipelines.

    ProviderAWS
    Pricing / 1,000 pages
    $1.73
    OutputPlain text + boxes
  • AWS Textract Layoutaws-textract-layout

    Headings, sections, and layout-aware reading order on AWS.

    ProviderAWS
    Pricing / 1,000 pages
    $4.60
    OutputMarkdown + boxes
  • AWS Textract Tables + Layoutaws-textract-tables-layout

    Forms and financial docs with important tables in AWS.

    ProviderAWS
    Pricing / 1,000 pages
    $17.25
    OutputMarkdown + tables + boxes
/ console

Studio for testing and account management

Upload a PDF, pick an ocr_model, and inspect blocks and markdown. Create API keys, review page usage, and invite teammates.

openparser.dev/playgroundsigned in
playgroundno code
statement.pdf1 page · 48 KB
parsePaddleOCR-VLMistral OCRAzure DITextract9 models
extractClaudeGPT-4oLlamalocalany LLM
Run{ total: "$4,318.20" } b4
/ output

What you get from every parse

Set ocr_model on the request. Every model returns openparser@1: typed elements with ids and confidence, plus markdown when the engine supports it.

Pick any of nine OCR models

Set ocr_model to Paddle, Mistral, Azure, Google, or Textract. Sync, async, and batch work the same for every model.

b1
0.99
b4
0.98
b6
0.70

Pay per page

OpenParser-hosted open-weight models start at $1 per 1,000 pages. Cloud engines bill at their published per-page rates.

openparser@1 output

Document metadata, ordered blocks, text, and markdown share one graph. Switch models without changing your integration.

schema {
total
}
{
total: "$4,318"
}

Separate extraction LLM

Parsing and extraction bill separately. Point a schema at a parse and fill it with whichever LLM you choose.

b4

Citations to source blocks

Extracted values reference block indexes from the parse, so review highlights the matching region on the page.

b2b4b6
x, y, w, h

Open schema and adapters

@openparser/schema and @openparser/adapters are open source. Use the same contract for hosted API or self-hosted runs.

/ pricing

Pay for the pages you parse.

New accounts get $10 in free credits, e.g. ~10,000 pages on open-weight hosted models at $1/1,000 pages. Other OCR models publish their own rates. Extraction adds the token cost of the LLM you pick.

start free
$10
to start
pay per page
$1/ 1,000 pages
open-weight hosted, starting at
+
extraction
Per token
billed based on model
  • $10 free credits to start
  • No minimums
  • No per-seat fees
  • Sync, async, and batch
  • Block citations
  • Playground and API keys
Create an API key
/ questions

Questions about OpenParser

OCR model choice, openparser@1 output, extraction, and per-page pricing.

What is OpenParser?

OpenParser routes PDFs to nine hosted OCR models through one REST API. Set ocr_model on the request and get openparser@1 blocks and markdown back. You pay per page.

Which OCR models can I use?

Nine public models today: paddleocr-vl-1.6, mistral-ocr-4, mistral-ocr-3, azure-di-layout, azure-di-read, google-docai-ocr, aws-textract-detect, aws-textract-layout, and aws-textract-tables-layout. Discover live pricing and options with GET /models/ocr.

How much does OpenParser cost?

New accounts get $10 in free credits. Open-weight hosted models start at $1 per 1,000 pages (for example PaddleOCR-VL). Other models have their own per-page rates on the pricing page. Extraction adds the token cost of the LLM you choose.

What does the document parsing API return?

Every model returns the same openparser@1 document graph: document metadata, ordered blocks, reading-order text, and best-effort markdown when the engine supports it. Blocks can include page numbers, bounding boxes, and confidence.

What is the difference between parsing and extraction?

Parsing turns a document into the openparser@1 graph. Extraction takes a parsed document and fills your JSON schema, with citations connecting extracted values to source blocks.

Can I process documents asynchronously or in batches?

Yes. The API supports synchronous, asynchronous, and batch parsing and extraction, plus job endpoints for checking status and retrieving results.

Can I switch OCR providers without rewriting my integration?

Yes. Change ocr_model on the request. The response stays openparser@1. For self-hosted or direct provider calls, use the open-source @openparser/schema and @openparser/adapters packages.

/ $10 free credits

Try it on your own documents.

Upload a PDF in Studio and inspect blocks, markdown, and extracted JSON. New accounts get $10 in free credits.