Bank statement OCR API

Scanned PDFs and phone photos read into every transaction, with the balances checked against the rows.

For the statements people actually send

Applicants photograph a paper statement on the kitchen table or scan it crooked at a branch. The file has no text layer, or one full of OCR noise. The API reads the page image and returns the same JSON a bank's own PDF would: each account, its period, the opening and closing balance, and every row with its date, description, amount and direction.

Text recognised from an image can be wrong, so every response checks itself. The rows have to account for the movement between the printed balances, and when they do not, verification says by how much. A photo also carries the image_only signal, because a picture cannot be inspected for edits the way a bank's PDF can.

What it reads

One endpoint for every kind of file a statement arrives as.

Scanned PDFs

Flatbed scans, branch printouts and faxed pages, at the same price per page as a digital PDF.

Phone photos

JPEG or PNG straight from a phone camera. One photo is one page.

Mixed files

A PDF with some digital pages and some scanned ones is read as one statement.

Any bank, any language

Nothing is set up per issuer, so a bank we have never seen reads like one we have.

Balances checked

reconciled is true only when the rows add up to the printed balances to the cent.

Locked PDFs

Send the password in a password part. It opens that one file and is not kept.

Send a photo, get the statement

The same call as a PDF, with the image's content type.

curl -X POST https://statementbear.com/api/v1/documents \
  -H "Authorization: Bearer $STATEMENTBEAR_KEY" \
  -H "Content-Type: image/jpeg" \
  --data-binary @statement-photo.jpg

Pricing

$0.08

per page, scanned or digital

200

pages free, no card

$0.05

per page past 50,000 a month

A three-page scan costs $0.24. A photo of one page costs $0.08. No minimum, no contract, and a failed read is free.

See pricing

Frequently asked questions

More from the API

Try it on your own statements

200 pages free, no payment method. Test keys return fixtures for every case you need to handle.

Over 250,000 pages a month, or a security review to get through? [email protected]