ReceViz documentation
ReceViz reads documents into structured data you can check. You describe the fields you need, send a photo or a PDF, and get JSON back: the values, with where they were printed, how sure ReceViz is, and which checks they passed.
What it does
- Reads the fields you define. Start from a receipt or invoice template, or write your own document type: the fields, the labels they are printed under, the checks they must pass.
- Shows its evidence. Values come with the printed text, the page and the box they were read from, a confidence, and the checks that backed them.
- Checks before it trusts. Patterns, ranges, dates and the document's own sums run on every standard request; an optional second reader re-reads only the uncertain fields, and must point at the printed lines for anything it says.
- Says when a person should look.
review.requiredand its reasons tell your code which results to accept and which to show someone.
Quick start
- Request access for your organization, then open the console.
- Create an application in the
developmentenvironment, add a document type from the Payment Terminal Receipt template and publish it, and create a secret key. Keep the key on your server asRECEVIZ_SECRET_KEY. - Send a photo of a receipt:
RECEVIZ_API="https://accounthouse-backend-793493499887.me-central1.run.app/api/receviz/v1"
curl "$RECEVIZ_API/extractions" \
-H "Authorization: Bearer $RECEVIZ_SECRET_KEY" \
-F "file=@receipt.jpg" \
-F "document_type=payment_receipt" \
-F "mode=standard"- Read the answer.
datais what you store;fieldsis the evidence for each value;review.requiredsays whether a person should check it.
{
"id": "rv_req_8fK2aQ0zT3mN1pL5vB7xY9",
"object": "extraction",
"status": "succeeded",
"document_type": "payment_receipt",
"schema_version": 1,
"mode": "standard",
"data": {
"amount": 150,
"currency": "AED",
"transaction_date": "2026-09-26",
"transaction_time": "14:05",
"receipt_number": "000102",
"rrn": "626914123456",
"auth_code": "A1B2C3",
"terminal_id": "12345678",
"payment_method": "card",
"card_scheme": "visa",
"card_last_four": "4242",
"approved": true,
"merchant": "BLUE DHOW CAFE",
"merchant_address": "DUBAI MARINA WALK"
},
"fields": {
"amount": {
"value": 150,
"type": "currency",
"status": "ok",
"confidence": 0.906,
"verified": false,
"checks": [],
"source": "rules",
"page": 1,
"bounding_box": {
"x": 0.77,
"y": 0.7136,
"width": 0.18,
"height": 0.05
},
"raw_text": "AED 150.00"
}
},
"review": {
"required": false,
"reasons": []
}
}The full quick start explains each step, and client tokens let a web page or an app send documents without holding your key.
Guides
Integrate
- Authentication
Secret keys on your server, publishable keys and short-lived client tokens in apps and pages.
- Capabilities
What a key may do, and how the organization, application and key combine.
- Document types
Define the fields you want read, the checks they must pass, and publish versions.
- Extractions
Send a document, choose a mode, and read every part of the result.
Accuracy
- Confidence and verification
How sure ReceViz is of each value, the checks that run first, and the optional second reader.
- Adaptive Document Tiling
How long receipts and large scans are read in overlapping regions without losing small print.
Events
- Webhooks
Signed events for finished extractions, with retries and a test delivery.
SDKs
- Web SDK
A camera scanner and API client for the browser that never uploads a frame.
- iOS SDK
The Swift package for iPhone and iPad apps, and what is in it today.
- Android SDK
The Kotlin library for Android apps, and what is in it today.
Reference
- API reference
Every endpoint, parameter, response and webhook, generated from the running API.
- Errors
The error shape, every type and code, and what to do about each.
- Limits
Rate limits, quotas, file sizes, pages and formats.
- Data and privacy
What is stored, for how long, what quality telemetry records, and the settings that control it.
- Versioning
The API version, document type versions, and the engine and SDK versions.
Looking for one endpoint? The API reference lists every endpoint, parameter, response and webhook, read from the OpenAPI document the running API publishes.