OCR Process
Extract text and structure from documents with arva-ocr in markdown, JSON, or text.
POST https://api.sagea.space/v1/ocr/process
Authentication
Send Authorization: Bearer $SAGEA_API_KEY on every request. Get a key
Parameters
Send a multipart/form-data body with the following fields.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | No | OCR model to use. Default is arva-ocr. |
document | file | Yes | PDF, PNG, JPG, TIFF, or WEBP file up to 100MB. |
output_format | string | No | One of markdown, json, or text. Default is markdown. |
bbox | boolean | No | Set to true to include bounding boxes per block. Default is false. |
language_hint | string | No | Hint such as ne-NP, hi-IN, en-US, or es-ES. |
pages | string | No | Page range to process, for example first 5 pages. Default is all pages. |
Example request
Extract an NPR 24,500 invoice issued to Aarav Sharma.
Works for Hindi and Nepali documents such as citizenship cards and VAT bills.
Response
A successful call returns text, page count, confidence, and layout blocks.
Set bbox to true when you need word-level coordinates for highlighting.
Errors
| Status | Code | Fix |
|---|---|---|
400 | missing_artifact | Attach a valid document file to the request. |
400 | unsupported_format | Use PDF, PNG, JPG, TIFF, or WEBP only. |
401 | unauthorized | Re-export a valid SAGEA_API_KEY value. |
413 | payload_too_large | Compress or split file under 100MB. |
429 | rate_limit_exceeded | Back off and retry with exponential delay. |
Limits
ARVA OCR allows 30 requests per minute on Starter and 300 requests per minute on Pro.
