OCR that ships
in one API call.
Turn PDFs, images and scans into clean text in under a second. Production-ready endpoint, predictable per-page pricing, no model hosting — the boring things, done right.
$ curl -X POST https://api.ollamaocr.com/v1/ocr \
-H "X-API-Key: ocr_live_••••••••" \
-F "file=@invoice.pdf"
{
"data": {
"text": "Invoice #1234\nDate: March 2026\nBilled to: Acme...",
"pages": 2,
"processingMs": 847,
"requestId": "req_8c1a...f2"
}
}
Features
We handle the hard stuff.
Image processing, OCR optimization, quota enforcement and observability — all handled automatically, so the only thing your code needs to know is how to POST a file.
100+ languages
Extract text in over 100 languages with high accuracy, including complex scripts and right-to-left layouts.
·Smart image handling
Low contrast, skew, compression artefacts — handled automatically. Works on photos, screenshots, and scans.
·Sub-second latency
Single-page images and short PDFs typically return in 400–900ms. Atomic quota enforcement, no silent drift.
·Layout preserved
Tables, columns, paragraph breaks. Structure survives extraction so downstream pipelines don't have to guess.
·Just HTTP
One endpoint, one header, one file. Clean JSON envelope with request IDs — no SDK required, no runtime lock-in.
·Accurate counting
PDFs are counted by real page count, not a character-length guess. You're billed for exactly what you uploaded.
·Integration
One API call away.
No SDKs to install. No runtime to manage. A single POST — and a clean JSON envelope comes back with the text, pages processed, and a request id you can quote to support.
- 01
Get your API key
Create an account and generate an API key from your dashboard in seconds.
- 02
Upload your file
POST any JPG, PNG, WebP, or PDF — up to 20 MB — via multipart/form-data.
- 03
Receive clean text
Get a structured JSON envelope back, with exact page count and a request id for support.
# Extract text from a document
curl -X POST \
https://api.ollamaocr.com/v1/ocr \
-H "X-API-Key: ocr_live_..." \
-F "file=@document.pdf"
# Response
{
"data": {
"text": "Invoice #1234\nDate: March 2026...",
"pages": 2,
"processingMs": 847,
"requestId": "req_8c1a...f2"
}
}
Why teams ship on us
The boring things, done right.
OCR is a commodity. What separates a weekend prototype from something you put in front of paying users is the plumbing you'd otherwise build yourself.
Sub-second responses
Most single-page images and short PDFs return in 400–900ms end-to-end. Your users don't wait.
Built for production
Request IDs on every response, structured error envelope, atomic quota enforcement — not a weekend script.
Accurate page counting
PDFs are counted by their real page count, not a character-length guess. You're billed for exactly what you uploaded.
Just HTTP
One POST with a multipart file. No SDK lock-in, no webhook dance, no custom runtime to install.
Pricing
Pay by the page, not the platform.
Scale from a side-project to 500 000 pages a month without leaving the same card. Save ≈17% when you bill yearly.
Free
Perfect for testing, hobby projects, and personal scripts.
- 50 pages / month
- JPG, PNG, WebP & PDF up to 20 MB
- REST API access
- Community support
Pro
For teams and products shipping OCR in production. Scale the volume dial without re-signing a contract.
$0.019/page · 1k pages / month
- Everything in Free, plus:
- Scale pages from 1k to 500k / month
- Priority processing queue
- Per-key usage analytics
- Higher rate limits on higher tiers
- Email support (priority on 10k+)
- Cancel any time
Need more than 500 000 pages or have questions? Contact us