Free forever · 200 OCR + 50 extraction pages/mo

The receipt OCR API that returns typed JSON.

Send a schema, get structured receipt data back. Merchant, totals, tax, and line items, parsed from phone photos of real receipts. No per-merchant templates, no manual review queue.

Get started today for free. No credit card required.

Live demo

Try it on a real document.

Run OCR on a sample document, or drop in your own. No sign-up, no API key.

invoice
A invoice is loaded and ready
Hit Run OCR to watch OCRWell pull the text out live. No sign-up, no API key.

Or run it on your own document

Drop a document here

PDF, PNG, JPEG, TIFF, WebP, or BMP. Up to 4 MB, single page.

Or try a sample

Before and after

See a receipt photo become expense data.

The source can be a crumpled receipt photo. The output can be merchant details, totals, tax, and item rows ready for an expense or accounting workflow.

Source document
A photograph of a thermal till receipt
Extracted output
receipt.json
json
{
  "data": {
    "merchant": "GREENGATE GROCERS",
    "purchased_at": "11/04/2026 09:42",
    "subtotal": "12.40",
    "vat": "2.48",
    "total": "14.88",
    "items": [
      { "description": "Flat White", "price": "3.80" },
      { "description": "Sourdough Loaf", "price": "4.50" },
      { "description": "Oat Milk 1L", "price": "2.20" },
      { "description": "Bananas 1kg", "price": "1.90" }
    ]
  }
}
Schema-driven extraction

One schema. Every receipt.

Define the fields you need once. OCRWell reads the receipt, extracts the values, validates types, and returns JSON your code can use directly. Nested item arrays included.

submit-receipt.sh
bash
# Extract receipt fields with a schema
$ curl https://api.ocrwell.com/v1/documents \
    -H "X-API-Key: $OCRWELL_KEY" \
    -d '{
      "upload_id":"upl_01H7",
      "mode":"structured",
      "schema":{
        "merchant":"string",
        "purchased_at":"string",
        "subtotal":"string",
        "tax":"string",
        "total":"string",
        "items":[{"description":"string","price":"string"}]
      }
    }'
job.json
json
{
  "job": { "id": "019539a6", "status": "completed", "mode": "structured" },
  "result": {
    "merchant": "Coles Mona Vale",
    "purchased_at": "17/05/2026 14:32",
    "subtotal": "42.10",
    "tax": "4.21",
    "total": "46.31",
    "items": [
      { "description": "Sourdough loaf", "price": "6.50" },
      { "description": "Free-range eggs 12pk", "price": "9.90" }
    ]
  }
}
What teams build on it

Where the receipt OCR API earns its keep.

Template-free

No per-merchant templates

Send the same schema for every receipt. Woolworths, Coles, the corner cafe, a hotel folio, a US-format receipt with sales tax. The model reads the layout, you get typed data back.

Line-item parsing

Items array, line by line

Schemas can include nested arrays. Get every line item with its description and price, ready to feed straight into an expense report, accounting system, or loyalty database.

Real-world tolerant

Phone photos and faded paper

Crumpled receipts photographed in bad lighting are the norm, not the exception. Skew, glare, and faded thermal paper are handled by the same endpoint without preprocessing.

Pricing

Start free. Pay only when you scale.

Free forever
200 OCR + 50 extraction pages every month
  • No credit card required.
  • Hard cap, no overage charges.
  • Paid plans from $20/mo when you grow.

Stop hand-typing receipts.

Generate an API key, photograph your first receipt, and get typed JSON back in seconds. Free forever tier covers 200 OCR pages per month.

Get your API key today No credit card required. 200 OCR + 50 extraction pages / month, free forever.