Extract structured data from receipts — with page-level source grounding

Merchant details, line items, tax, and totals — extracted as typed, auditable JSON from photos, scans, or PDFs. Every value carries a source citation and confidence score, so nothing reaches expense approval unreviewed.

Four receipts extracted into structured fields, with totals highlighted from source

Trusted by enterprises, governments, and teams building document workflows at scale

Used by Lufthansa, Disney, Autodesk, UBS, Dropbox, IBM
Lufthansa
Disney
Autodesk
UBS
Dropbox
IBM

USE CASES

Example receipt workflows

GOVERNED EXTRACTION

Why not rely on LLM-only extraction for receipts?

LLMs can reason over a receipt — but expense workflows need deterministic, auditable output grounded in the source file, not generated answers that vary between runs.

Output shape

LLM-only prompting

Generated answers that can change between runs.

Nutrient Data Extraction API

Predictable structured output — typed and tied to the source receipt.

Routing signal

LLM-only prompting

No signal for which values to trust.

Nutrient Data Extraction API

Confidence signals route uncertain values to human review before expense approval.

Traceability

LLM-only prompting

No way to point back at the page.

Nutrient Data Extraction API

Coordinates and page references anchor every value to its source location.

Line items

LLM-only prompting

Tables flattened into unstructured text.

Nutrient Data Extraction API

Layout-aware structure preserves line items and totals with their layout context.

Review step

LLM-only prompting

Values reach downstream systems unchecked.

Nutrient Data Extraction API

Human review and validation before expense or accounting systems.

Audit

LLM-only prompting

Nothing to show an auditor.

Nutrient Data Extraction API

Source context and page detail support traceable, audit-ready expense workflows.

Try it live

See the parse API in action — no signup required

Switch processing modes and inspect live output from a sample invoice as rendered Markdown, raw Markdown, or spatial JSON.

HOW IT WORKS

From receipt to structured output

Parse

Turn receipt photos, scans, and PDFs into document structure.

Extract

Identify merchant details, line items, tax, and totals from the receipt.

Map

Define the fields your workflow needs using the schema generator in Studio, or write a JSON Schema directly. Get back validated, typed output.

Structure

Return typed JSON for systems and validation, or Markdown for search and AI workflows.

Process

Send structured data into expense review queues or accounting systems.

OUTPUT FORMATS

Spatial JSON. Or Markdown. From the same API.

Confidence scores, coordinates, and page context included.
Choose output: "json" or Markdown per request.

Spatial JSON

For extraction · validation · review

.json
{
"type": "keyValueRegion",
"id": "kv_j1k2l3",
"bounds": { "x": 40, "y": 60, "width": 260, "height": 96 },
"confidence": 0.98,
"page": { "pageIndex": 0, "pageNumber": 1 },
"pairs": [
{
"key": { "entityType": "QUESTION", "value": "Merchant", "bounds": { "x": 40, "y": 60, "width": 80, "height": 22 }, "confidence": 0.99 },
"value": { "entityType": "ANSWER", "value": "Blue Bottle Coffee", "bounds": { "x": 128, "y": 60, "width": 172, "height": 22 }, "confidence": 0.99 },
"relationshipConfidence": 0.97
},
{
"key": { "entityType": "QUESTION", "value": "Date", "bounds": { "x": 40, "y": 94, "width": 80, "height": 22 }, "confidence": 0.98 },
"value": { "entityType": "ANSWER", "value": "2024-05-02", "bounds": { "x": 128, "y": 94, "width": 100, "height": 22 }, "confidence": 0.98 },
"relationshipConfidence": 0.96
},
{
"key": { "entityType": "QUESTION", "value": "Total", "bounds": { "x": 40, "y": 128, "width": 80, "height": 22 }, "confidence": 0.99 },
"value": { "entityType": "ANSWER", "value": "$14.75", "bounds": { "x": 128, "y": 128, "width": 60, "height": 22 }, "confidence": 0.99 },
"relationshipConfidence": 0.98
}
]
}

Markdown

For RAG · search · knowledge bases

.md
# Receipt
**Merchant** Blue Bottle Coffee
**Date** 2024-05-02
| Item | Qty | Price |
| --- | --- | --- |
| Cappuccino | 1 | 5.25 |
| Croissant | 1 | 4.50 |
**Subtotal** 9.75
**Tax** 0.75
**Total** 14.75

ACCURACY

Benchmarked accuracy, receipt-specific numbers in progress

Receipt-specific accuracy benchmarks are still being validated against public gold-annotated receipt datasets. In the meantime, the general Data Extraction API benchmark — reading order, table structure, and heading hierarchy, tested on a 200-document corpus with every release — is the current accuracy proof.

0.94
Table structure accuracy (TEDS), OpenDataLoader benchmark, understand mode
Receipt-specific benchmark numbers aren’t published yet. Reading-order and key-value region accuracy on the general benchmark are the closest available proxies for receipt extraction quality today. View accuracy benchmarks →

Regional processing options

Choose supported processing regions for enterprise deployments.

SOC 2 Type 2 audited

Audited annually. Reports available under NDA for enterprise customers.

Trust and compliance

Built for expense workflows in production

TLS encryption by default

All API communication is encrypted. Unencrypted requests are rejected.

Configurable data retention

Encrypted transport and plan-level retention controls for expense document workflows.

Receipt data extraction questions

Can the API read receipt photos, not just scans?

Yes. The API accepts photographed receipts alongside scans and PDFs, running OCR-based extraction to identify merchant details, line items, and totals regardless of capture method.

What file formats are supported?

Data Extraction API processes images (including phone photos), PDFs, and Word, Excel, and PowerPoint files. It handles crumpled, faded, or low-quality receipts without requiring a separate OCR pipeline.

Is this an expense management platform?

No. Nutrient Data Extraction API is an extraction layer, not an expense management suite. It turns receipts into structured data so that data can be reviewed, validated, and routed into the expense or accounting system your team already uses.

How do I validate extracted receipt data before it enters my expense system?

Every extracted field includes a match label, confidence score, page reference, and bounding box, so uncertain fields can be flagged for human review and traced back to the source receipt before entering expense approval.

How do I define the receipt fields to extract?

Use the schema generator in Studio — upload example receipts and describe the fields needed. It generates a JSON Schema for the `/extract` endpoint. Fields like merchant, line items, and totals can also be defined manually.

When should I use agentic mode for receipts?

Use agentic mode for degraded, faded, or low-quality receipt photos where understand mode produces insufficient results. Agentic mode adds a vision language model (VLM) on top of the understand pipeline. It costs 18 credits per page.

GET STARTED

Start extracting data from receipts

5,000 free credits per month — no credit card required.

Your free account includes:

    • 5,000 Data Extraction API credits per month
    • Parse PDFs, scans, images, and Office files
    • Typed JSON output with confidence scores and source context
    • SOC 2 Type 2 audited