Receipt & Invoice OCR to JSON
Pricing
$4.00 / 1,000 page processeds
Receipt & Invoice OCR to JSON
Receipts/invoices (image or PDF) to OCR text + total/subtotal/tax with confidence. Local OCR, no AI API. Accuracy measured on the CORD dataset (see README). Pay per page processed.
Pricing
$4.00 / 1,000 page processeds
Rating
0.0
(0)
Developer
ajay shah
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Upload receipt or invoice images (JPG/PNG) or PDFs. For every page you get the full OCR text and the amount fields (total, subtotal, tax), each with a confidence score. A field is null when the actor is not confident enough. It does not guess.
- Runs entirely on Apify: local OCR (RapidOCR, ONNX), no third-party AI API, and your files are not sent anywhere else.
- Only files uploaded in the input are read. Up to 20 MB per file and 20 pages per PDF.
Pricing
Pay per event: $0.004 per page successfully processed. Pages that fail are reported and not charged.
How accurate is it? (measured, not claimed)
Measured on CORD v2, a public dataset of real photographed receipts (clovaai/cord, CC-BY-4.0, test split, 100 receipts). The confidence threshold was chosen on the separate validation split and applied once.
| field | correct / answered | precision (95 % interval) | answered for |
|---|---|---|---|
| total | 59 / 65 | 90.8 % (81 %–96 %) | 68 % of receipts |
| subtotal | 42 / 42 | 100 % (92 %–100 %) | 65 % of receipts that have one |
| tax | 17 / 20 | 85 % (64 %–95 %) | 49 % of receipts that have one |
What this means:
- When the actor gives a total it was right about 9 times in 10 on this data.
- For about a third of receipts it returns null rather than risk a wrong number.
- Your documents may differ: layout, language, photo quality.
Not measured on real data: vendor, invoice_no, date_text and currency are best-effort. They are null
unless confident, and every row lists them in unmeasured_fields. Treat them as hints.
Not included yet: line items.
Output (one row per page)
| field | meaning |
|---|---|
document, page, source | which file and page |
status | OK, FAILED (with error), or REFUSED (not an Apify-storage upload, too large, too many pages) |
total, subtotal, tax | numbers, or null when not confident |
total_confidence (etc.) | the actor's own confidence, 0–1 |
currency, vendor, invoice_no, date_text | best-effort, not measured on real data |
unmeasured_fields | the list of the fields above |
text | the full OCR text, line by line |
Amounts are parsed locale-tolerantly: 60.000 → 60000, 1,234.50 → 1234.5, 1.234,50 → 1234.5.
Attribution
Accuracy was measured on CORD: Park et al., "CORD: A Consolidated Receipt Dataset for Post-OCR Parsing", CC-BY-4.0.