API reference
Rowvert REST API
One endpoint. Send a PDF, get back structured transactions, a reconciliation summary and download links. Available on the Business plan; keys are generated in Dashboard → API.
Authentication
Pass your key as a Bearer token. Keys start with rvt_live_. Keep them server-side.
POST /api/v1/convert
Multipart form with one field, file (PDF, ≤ 25 MB, ≤ 100 pages). Synchronous; allow up to 5 minutes for long scanned files.
curl -X POST https://rowvert.com/api/v1/convert \ -H "Authorization: Bearer rvt_live_..." \ -F "file=@statement.pdf"
Response 200
{
"id": "clx…",
"pages": 3,
"rows": 41,
"reconciled": true,
"pagesLeft": 4997,
"summary": {
"bank": "Chase", "currency": "USD", "accountNumber": "****8814",
"periodStart": "2026-08-01", "periodEnd": "2026-08-31",
"openingBalance": 4812.40, "closingBalance": 8113.21,
"totalDebits": 2139.19, "totalCredits": 5440.00,
"reconciled": true, "mismatches": 0, "notes": []
},
"transactions": [
{ "date": "2026-08-02", "dateRaw": "08/02", "description": "CARD PURCHASE 08/01 STARBUCKS #2231",
"debit": 6.85, "credit": null, "balance": 4805.55, "page": 1 }
],
"downloads": { "xlsx": "…", "csv": "…", "quickbooks": "…", "xero": "…" }
}Errors
401missing or invalid key ·403plan without API access402not enough pages left (code: quota_*)415not a PDF ·422password-protected or over 100 pages502extraction failed — pages are not charged