Skip to the content

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.required and its reasons tell your code which results to accept and which to show someone.

Quick start

  1. Request access for your organization, then open the console.
  2. Create an application in the development environment, add a document type from the Payment Terminal Receipt template and publish it, and create a secret key. Keep the key on your server as RECEVIZ_SECRET_KEY.
  3. 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"
  1. Read the answer. data is what you store; fields is the evidence for each value; review.required says whether a person should check it.
json
{
  "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

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.