HyperAPI provides four document intelligence endpoints. All requests are authenticated with an API key and accept multipart file uploads.
Create an API key, install the SDK, and make your first call.
All API requests require an X-API-Key header. Keys are prefixed with hk_live_ for production or hk_test_ for testing. Generate keys from your dashboard.
curl -X POST https://apis.hyperbots.com/v1/parse \
-H "X-API-Key: hk_live_your_key_here" \
-F "file=@invoice.pdf"Install the Python SDK and run your first API call in under a minute.
Install
pip install hyperapiParse a document
from hyperapi import HyperAPIClient
client = HyperAPIClient(api_key="hk_live_your_key_here")
result = client.parse("invoice.pdf")
print(result["result"]["ocr"])
client.close()/v1/parseExtract raw text from documents using OCR. Supports PDFs and images. Returns structured markdown with page-level text.
hyperbots_vlm_ocrRequest Headers
X-API-Keyrequired — your API keyContent-Typemultipart/form-dataRequest Body
filerequired — PDF, PNG, JPGCode Examples
curl -X POST https://apis.hyperbots.com/v1/parse \
-H "X-API-Key: hk_live_your_key_here" \
-F "file=@document.pdf"Response (200 OK)
{
"status": "success",
"request_id": "req_01j9x...",
"task": "parse",
"model_used": "hyperbots_vlm_ocr",
"result": {
"ocr": "Invoice\n\nBill To: Acme Corp\nDate: 2024-01-15\n\n..."
},
"duration_ms": 843,
"metadata": {
"pages": 2,
"file_type": "pdf"
}
}/v1/classifyCategorize document type automatically. Returns a label and confidence score from a set of financial document classes.
hyperbots_vlm_ocrRequest Headers
X-API-Keyrequired — your API keyContent-Typemultipart/form-dataRequest Body
filerequired — PDF, PNG, JPGCode Examples
curl -X POST https://apis.hyperbots.com/v1/classify \
-H "X-API-Key: hk_live_your_key_here" \
-F "file=@document.pdf"Response (200 OK)
{
"status": "success",
"request_id": "req_01j9y...",
"task": "classify",
"model_used": "hyperbots_vlm_ocr",
"result": {
"label": "invoice",
"confidence": 0.98,
"candidates": [
{ "label": "invoice", "confidence": 0.98 },
{ "label": "receipt", "confidence": 0.01 },
{ "label": "contract", "confidence": 0.01 }
]
},
"duration_ms": 612,
"metadata": { "pages": 1 }
}/v1/splitSegment a multi-document PDF into individual logical documents. Returns page ranges for each detected document.
hyperbots_vlm_ocrRequest Headers
X-API-Keyrequired — your API keyContent-Typemultipart/form-dataRequest Body
filerequired — PDF, PNG, JPGCode Examples
curl -X POST https://apis.hyperbots.com/v1/split \
-H "X-API-Key: hk_live_your_key_here" \
-F "file=@document.pdf"Response (200 OK)
{
"status": "success",
"request_id": "req_01j9z...",
"task": "split",
"model_used": "hyperbots_vlm_ocr",
"result": {
"segments": [
{ "document_index": 0, "start_page": 1, "end_page": 3, "type": "invoice" },
{ "document_index": 1, "start_page": 4, "end_page": 5, "type": "receipt" }
]
},
"duration_ms": 490,
"metadata": { "pages": 5 }
}/v1/extractExtract structured data fields from documents using a vision-language model. Returns named entities and line items.
hyperbots_vlm_extractRequest Headers
X-API-Keyrequired — your API keyContent-Typemultipart/form-dataRequest Body
filerequired — PDF, PNG, JPGCode Examples
curl -X POST https://apis.hyperbots.com/v1/extract \
-H "X-API-Key: hk_live_your_key_here" \
-F "file=@document.pdf"Response (200 OK)
{
"status": "success",
"request_id": "req_01ja0...",
"task": "extract",
"model_used": "hyperbots_vlm_extract",
"result": {
"entities": {
"invoice_number": "INV-2024-0042",
"date": "2024-01-15",
"due_date": "2024-02-15",
"vendor_name": "Acme Supplies Ltd",
"total_amount": "1,250.00",
"currency": "USD"
},
"line_items": [
{ "description": "Widget A", "quantity": 10, "unit_price": "100.00", "total": "1,000.00" },
{ "description": "Shipping", "quantity": 1, "unit_price": "250.00", "total": "250.00" }
]
},
"duration_ms": 1820,
"metadata": { "pages": 2 }
}All errors return a JSON body with an error object and a standard HTTP status code.
401UnauthorizedMissing or invalid X-API-Key402Payment RequiredInsufficient credit balance413Payload Too LargeFile exceeds 50 MB limit422Unprocessable EntityUnsupported file type429Too Many RequestsRate limit exceeded503Service UnavailableInference backend unavailable (circuit open){
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Your credit balance is too low to process this request."
}
}Rate limits are applied per API key, per minute. Limits scale with your plan tier.
| Tier | Requests / min | Concurrency | Priority weight |
|---|---|---|---|
| Free | 10 | 1 | 1 |
| Pro | 100 | 10 | 10 |
| Enterprise | Unlimited | 100 | 100 |
See our pricing page for plan details and upgrade options.
Official SDK for Python. Node.js SDK coming soon.
Python 3.9+ · httpx · asyncio support
pip install hyperapiclient.parse(file)client.extract(file)client.classify(file)client.split(file)client.process(file)client.upload_document(file)Coming soon
npm install hyperapi