Invoice & Receipt OCR — Structured Line-Item Extraction
Turn a photo, scan, or PDF of an invoice or receipt into structured JSON: vendor, line items, tax, and total.
The problem
Accounting and bookkeeping tools, expense-management apps, and accounts-payable automation all face the same manual step: someone re-typing numbers off a receipt or invoice image into a system of record.
Who it's for
Expense-management apps, bookkeeping and accounts-payable tools, and any workflow that currently has a person manually transcribing receipt or invoice data.
Use cases
- Auto-filling an expense report from a photographed receipt
- Extracting vendor and line-item data from a scanned invoice into an accounts-payable system
- Batch-processing a folder of receipt images instead of manual data entry
What it does
Send an image or PDF (via a public URL or base64) and get back structured JSON: vendor name, date, a line-item array (description, quantity, unit price, line total), subtotal, tax, grand total, currency, and a confidence score (0–1) reflecting how reliable that particular extraction is.
Example
Request
POST /extract
{ "file_url": "https://example.com/receipts/12345.jpg" }
Response
{
"vendor": "Coffee Co.",
"date": "2026-03-10",
"line_items": [
{ "description": "Latte", "quantity": 2, "unit_price": 4.5, "total": 9.0 }
],
"subtotal": 9.0,
"tax": 0.72,
"total": 9.72,
"currency": "USD",
"confidence": 0.87
}
Pricing
A free tier covers light testing. Paid tiers scale by monthly request volume, with overage priced per additional extraction beyond your plan's included volume.
Check confidence before trusting a result. OCR and vision extraction are never
perfect — skewed photos, faded thermal receipts, handwriting, and unusual invoice layouts
can all produce partially wrong or incomplete output. Treat a low-confidence response, or
any field returned as null where a value was expected, as needing human review, not ground
truth. This API does not guarantee accuracy.
