Account and billing
Convert statements from your own software (API)
Create an API key on your account page, then create, upload and poll. Same pages, same balance check, same export files.
Last reviewed
The API does what the website does, from your own code. Full reference with request and response examples is at /docs/api. This article covers keys and the shape of a conversion.
Getting a key
Sign in and open your account page. In the API section, optionally type a label such as the name of the tool that will use it, and press Create API key. The secret is shown once, with a Copy button. Store it like a password. Afterwards the page lists only the key's prefix, when it was created and when it was last used.
Your API URL is shown next to the keys. Send the key on every request as Authorization: Bearer sk_live_….
Press Revoke to disable a key. It stops working on the next request.
A conversion in three calls
- POST
/v1/conversionswith the file name. The extension decides how the file is read. You get a conversion ID, a one-time upload URL valid for 15 minutes, and a status URL. - PUT the raw file bytes to the upload URL with the headers given. No API key on this request. Processing starts when the upload finishes.
- GET the status URL every few seconds until
statusisdoneorerror. A finished result is the same JSON the website renders: summary, every transaction with its suggested category, and the reconciliation object with status, difference, first suspect row and notes.
Once done, fetch any export with /export?format= followed by xlsx, csv, xero, qbo, qbcsv, tally or report (the PDF reconciliation report). For Tally XML, optional bankLedger and offsetLedger query parameters set the exact ledger names. The files are byte-for-byte what the download buttons produce.
GET /v1/me returns your plan and pages left so you can stop a batch before it runs out.
Pages and errors
API conversions use your normal allowance and pack. There is no separate API fee. If you are out of pages the conversion ends with LIMIT_ACCOUNT and nothing is charged. Other error codes cover a file over 60 pages or 20 MB, an unsupported extension, an encrypted PDF, a file with no transactions, and a read failure. Failed conversions are never charged.
Results become eligible for deletion after 7 days, and original-file deletion is attempted as soon as processing ends, exactly as on the website.
Email-to-convert
The operator of a stmtai deployment can also switch on an email address that account holders send statements to and get the Excel back by reply. It is optional and not turned on everywhere. If you do not see it mentioned on your account page or by support, it is not available on your deployment.
Where it is on, only mail that provably came from your address is processed: the sending domain has to pass DMARC, which Gmail, Outlook, Yahoo, iCloud and most company mail systems do. Mail that fails that check, or that the spam or virus scan flags, is not opened and no pages are charged. If your own domain does not publish DMARC you will get a short reply saying so; use the website instead or ask whoever runs your email to add the record.