Built for the API first
The dashboard is a client of the same API you get. Nothing in the app does something the API can’t.
Upload a document
curl -X POST https://arkrel.com/v1/documents \
-H "Authorization: Bearer $API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "file=@invoice.pdf" \
-F "document_type=invoice"Get back verified data
{
"document_type": "invoice",
"fields": {
"total": {
"value": 1080.00,
"confidence": 0.94,
"source": { "page": 1, "bbox": [420, 648, 500, 662] }
}
},
"tables": [{ "name": "line_items", "row_count_expected": 4, "row_count_extracted": 4, "rows": [ ] }],
"checks": [
{ "id": "subtotal_tax_total", "name": "Subtotal + tax = total", "passed": false,
"expected": 1090.00, "actual": 1080.00,
"detail": "Stated total is $10.00 less than subtotal + tax." }
],
"pages": { "total": 1, "processed": 1 },
"warnings": []
}Inspect full JSON results for a fictional invoice and bank statement with deliberate errors. See the example documents and reported reasons.
One REST API
Bearer API key auth. Upload by multipart or base64 JSON. List, filter and paginate documents by status.
Idempotency-Key
Every POST accepts an Idempotency-Key header, so retried requests from a flaky network never create duplicates.
Signed webhooks
document.succeeded, .partial, .needs_review, .failed. HMAC-SHA256 signed, with a 5-minute replay window and a delivery log with test send in the dashboard.
Custom schemas
Define your own fields as a JSON Schema subset with plain-language descriptions; extraction and source-linking work the same as the built-in document types.
Zapier, n8n and Make
Zapier: a trigger for processed documents, an upload action and a result lookup, available now by invite link. n8n: install n8n-nodes-arkrel from Settings, Community Nodes. Make: the custom app is built and its listing is next.
MCP server
A remote MCP server at /mcp: Claude, Cursor, VS Code, the OpenAI Responses API and n8n’s MCP Client Tool can extract and verify a document directly, no glue code required.
Usage endpoint
GET /v1/usage returns pages included, used and overage for the current billing period, the same numbers billing is based on.
QuickBooks & Xero ready exports
Bank statements export as a QuickBooks CSV, a Xero CSV or an OFX file. The OFX file gives each transaction a stable ID that accounting software can use to recognize a repeat import; for CSV imports, review the ledger's own duplicate check.
See the QuickBooks import guideEvery developer resource
Docs, free browser tools, the by-bank and by-format SEO pages, and every import guide, all in one place.
By bank
Importing old statements
Pricing for the API
Priced per page, separate from the consumer plans on Pricing. Every account starts with a free monthly page allotment; buy a page pack any time for more.
Page pack credits stay usable for 12 months from purchase.
Compare
Review documented features, pricing and workflow fit.