9 OCR models, one ocr_model field

OCR router API with per-request ocr_model

Set ocr_model on /parse and keep the same request shape, jobs API, and OpenParser document graph. Route to Paddle, Mistral, Azure, Google, or AWS Textract without changing client code.

ocr_model switchStable OpenParser outputlive GET /models/ocr
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
[ catalog ]

Switch among 9 OCR models with unified API

Set ocr_model on POST /parse. Paddle, Mistral, Azure, Google, and Textract return the same OpenParser blocks and markdown.

  • 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
[ api ]

Switch engines with ocr_model

Every model uses POST /parse, /parse/async, and /parse/batch. Change ocr_model. Auth, jobs, and response shape stay the same.

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": []
}
[ output ]

Control plane for OCR routing

You authenticate once, poll the same jobs API, and read one OpenParser output. Each model lists its own page price.

One request shape

Multipart file plus JSON request body. Sync, async, and batch variants stay identical when you change engines.

b1
0.99
b4
0.98
b6
0.70

Per-model page pricing

Each ocr_model lists its own page rate. Open-weight hosted models start at $1 per 1,000 pages. Mistral, Azure, Google, and AWS list higher rates.

Stable document graph

Document metadata, ordered blocks, text, and markdown share one contract. Downstream code reads the graph, not vendor JSON.

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

Discover models at runtime

GET /models/ocr returns ids, guidance, capabilities, option controls, and current retail page prices.

b4

Jobs API unchanged

Poll /jobs the same way for every engine. Batch up to 100 documents without a provider-specific queue.

b2b4b6
x, y, w, h

Extraction stays separate

Parse meters pages. Extract meters LLM tokens. Cite block indexes from whichever OCR model produced the graph.

[ pricing ]

Page rates follow the ocr_model you pick

New accounts get $10 in credits at signup, about 10,000 pages on open-weight hosted models at $1/1,000 pages. Mistral, Azure, Google, and AWS publish their own page rates on GET /models/ocr.

free credits
$10
at signup
pay per page
$1/ 1,000 pages
open-weight hosted, starting at
+
extraction
Per token
billed on llm_model tokens
  • Open-weight hosted from $1 / 1,000 pages
  • $10 credits at signup
  • Other models: published rates on /models/ocr
  • Option surcharges listed per model
  • Extraction billed per LLM token
Create an API key
[ questions ]

OCR router FAQ

ocr_model values, page pricing, OpenParser output, and when to pick open-weight hosted vs cloud engines.

What is an OCR router?

You pick an OCR model id per request, keep the same endpoints, and receive the same OpenParser document graph.

How do I switch OCR providers?

Change the ocr_model field on parse or file-backed extract requests. Example ids: paddleocr-vl-1.6, mistral-ocr-4, azure-di-layout, google-docai-ocr, aws-textract-layout.

Does every model cost the same?

No. OpenParser-hosted open-weight models start at $1 per 1,000 pages. Mistral, Azure, Google, and AWS publish higher page rates. Check GET /models/ocr for live numbers. New accounts get $10 in free credits.

Does the output format change by model?

The response shape stays the same. Capability details differ: some models omit markdown or regions. The catalog marks those capabilities per id.

How do I list available OCR models?

Call GET /models/ocr, or openparser models ocr --json from the CLI, or client.models.ocr() in the TypeScript SDK.

When should I use open-weight hosted vs a cloud engine?

Start with open-weight hosted models like paddleocr-vl-1.6 for general documents and cost. Move to Mistral for richer visual docs, or Azure/Google/AWS when you need that vendor’s OCR behavior inside the same OpenParser integration.

Compare ocr_model outputs

Upload a PDF and switch ocr_model in Studio

Change ocr_model on the same file, inspect block kinds and markdown, and compare OpenParser output before you ship.