POST
Extract fields from a document
Reads the paperwork a process is waiting on and returns structured fields (amounts, dates, names, ID and iqama numbers, VAT numbers, line items) from Arabic and English on the same page, including mixed handwriting.

Reading the result

Labels are always English so a field can be mapped to a system even when its value is Arabic. Values are verbatim. Nothing is translated and no number or date is reformatted, because a value that has been helpfully tidied is a value you can no longer reconcile. Confidence is honest. high means printed clearly, medium means legible but ambiguous, low means inferred from a poor scan or from context. Route low to a person rather than into a ledger. Warnings are the things that would make a person distrust the page: a cut-off edge, a handwritten correction, two conflicting totals, a stamp across a field. An empty array is a meaningful result.
A field that is not in the document is never invented. If something you expected is missing from fields, it was not found, check warnings before assuming the document was misread.

Limits and cost

PDF, PNG, JPEG or WebP, up to 8 MB. Four cents a document. A read that fails is not charged.

Authorizations

Authorization
string
header
required

API token from the Voho console. Begins with voho_sk_live_.

Body

Send multipart/form-data with the file attached, or JSON with the file base64 encoded.

file
file
required

The file itself. Accepted types: application/pdf, image/png, image/jpeg, image/webp.

Response

What the document says.

document_type
string
Example:

"Supplier invoice"

summary
string
fields
object[]
warnings
string[]

Anything that would make a person distrust the result: a cut-off page, a handwritten correction, two conflicting totals.

cost_cents
integer

What this call cost, in cents. Also returned as the X-Voho-Cost-Cents header.