Receipt OCR API With Typed Fields and Line Items

Send a receipt image or PDF and get typed JSON back: merchant, date, currency, subtotal, tax, tip, total, payment method and an array of line items. No parsing of raw OCR text in your code.

Upload your invoices

PDF, JPG, PNG, BMP, HEIC and TIFF

Typed JSON, not raw text
Line items as an array
Receipts and invoices, one endpoint
Flat plans from $49/mo

Why raw OCR is not enough for receipts

Receipts break simple parsers. These are the usual failure points.

Text with no structure

Plain OCR gives you text blocks and coordinates, and the parsing is left to you.

Every till is different

Layouts change by merchant, so regular expressions break quickly.

Photos at an angle

Phone images are skewed, creased and unevenly lit.

Totals above the items

Some receipts print the total first, some last, some twice.

Tax bands and tips

Several tax rates and handwritten tips confuse naive parsers.

Unpredictable metering

Per call pricing makes a spiky month hard to forecast.

What the API gives you

One endpoint, one schema, JSON your application can store.

Typed JSON

Header fields and line items in a stable structure.

Receipt fields

Merchant, date, currency, subtotal, tax, tip, total and payment method.

Line items array

Description, quantity and amount for each line.

Invoices too

Supplier invoices go through the same endpoint.

Token authentication

Bearer token on each request.

Flat plans

A monthly plan with a page allowance, not per call metering.

Integrate in 3 steps

From a first test to production.

1

Test on your worst receipts

Upload creased, faded and angled examples in the tool on this site and check the fields.

2

Read the API documentation

Get a token and make a first request with a receipt file.

3

Store the JSON

Map the returned fields to your tables and handle empty values.

Who builds on a receipt OCR API

Teams that need receipt data inside their own product or workflow.

Expense and bookkeeping products

Add receipt scanning without training a model.

Finance operations

Feed receipts into an internal approval or ledger flow.

Accounting firms

Automate intake across many clients.

Retail and field teams

Capture spend from staff photos.

Common Search Terms

receipt ocr api receipt recognition api receipt scanning api ocr receipt api receipt data extraction api receipt parser api

Document Types We Handle

Retail receipts
Restaurant receipts
Fuel receipts
Travel receipts
Parking and transport
Supplier invoices
Credit notes
Utility bills

What a receipt OCR API returns

Plain OCR returns text and positions. A receipt OCR API goes one step further and returns typed fields: merchant, date, currency, subtotal, tax, tip, total, payment method and line items. That is the difference between text you still have to parse and a record your application can store directly.

If you build an expense tool, a bookkeeping product or an internal finance workflow, the field level result is what you want. Parsing raw OCR text with regular expressions fails on the first receipt that prints the total above the items instead of below them.

Plain OCR compared with a receipt extraction API

Question Plain OCR API Receipt extraction API
What comes backText blocks and coordinatesTyped fields and line items as JSON
Who parses itYour codeThe service
Handles skewed phone photosDepends on the enginePart of the extraction
Handles odd till layoutsYou write rules per merchantOne schema for all merchants
Line itemsYou reconstruct rowsReturned as an array

A typical request and response

You send the image or PDF to the extraction endpoint with your API token and receive JSON. The shape below is illustrative of the kind of structure returned, with header fields and an array of lines.

{
  "merchant": "Example Cafe",
  "date": "2026-10-14",
  "currency": "USD",
  "subtotal": 18.50,
  "tax": 1.48,
  "tip": 3.00,
  "total": 22.98,
  "payment_method": "card",
  "line_items": [
    { "description": "Flat white", "quantity": 2, "amount": 9.00 },
    { "description": "Toastie", "quantity": 1, "amount": 9.50 }
  ]
}

Full request details, authentication and error handling are in the API documentation.

What to test before you commit to an API

  • Your worst receipts. Crumpled, faded thermal paper and photos taken at an angle. Test those, not a clean sample.
  • Mixed languages and currencies. If your users travel, check the output on foreign receipts.
  • Arithmetic. Check that subtotal, tax, tip and total reconcile.
  • Failure behaviour. What comes back when a field cannot be read, an empty value or a guess.
  • Pricing model. Flat monthly plans are easier to forecast than per call metering when volume is uneven.

Receipts and invoices through one endpoint

Most products that read receipts also need supplier invoices sooner or later. Using one service for both avoids a second integration. See the invoice data extraction API for the invoice side, and invoice OCR software if you want the same capability without writing code.

Frequently asked questions about the receipt OCR API

Typed JSON with merchant, date, currency, subtotal, tax, tip, total, payment method and an array of line items.

Plain OCR returns text and positions. This returns the fields already parsed, so your code does not need merchant specific rules.

Yes. Images, scans and PDFs are supported. Test with your own poor quality examples first.

Yes. Supplier invoices and bills use the same flow and return header fields and line items.

Requests use a bearer token. The API documentation shows the request format.

Flat monthly plans from $49 a month with a page allowance, rather than per call metering.