DocuClipper logo

Bank statement API

Bank statement data your product can rely on

Send any bank or credit card statement and get every transaction back as JSON, with a verdict for each statement period. Your product ships the verified ones and routes the rest to a person.

Free test key, no card · 50 free live pages · SOC 2 Type II

statements converted in the last 30 days
138,000+statements converted in the last 30 days
pages in the last 30 days
854,000+pages in the last 30 days
field-level accuracy
99.9%field-level accuracy

Know which statements are ready to use

Most statement data looks right whether it is or not. Every DocuClipper result tells you, period by period, whether the transactions add up to the bank's own printed balances. Verified data flows straight into your product. Anything else arrives with the pages and the amount to check, so a person reviews one month instead of the whole file.

GET /agent/documents/812455/transactions
{
  "documentId": 812455,
  "verification": {
    "status": "verified",
    "periodsChecked": 1, "periodsVerified": 1,
    "periodsNeedingReview": 0, "periodsUnchecked": 0
  },
  "count": 86,
  "transactions": [
    { "date": "2026-09-02", "description": "ACH DEPOSIT PAYROLL",
      "amount": 4250.00, "balance": 11873.42,
      "account": "Checking 4821", "pageNumber": 1, "rowNumber": 1 },
    ...
  ]
}

Every field: verification reference.

What you get with every statement

A verdict on every statement period

Verified, needs review or unverifiable. Ship the verified statements straight into your product; send the rest to a person with the exact pages and amount to check.

Any bank, nothing to set up

Checking, savings and credit card statements from any bank, digital PDFs and scans. No templates, no bank list to check first.

Every page, every account

Long statements come back in full, and multi-account PDFs come back with every row tagged by account.

Rows your code can use

ISO dates, amounts, running balances, account, page and row. JSON for your app, or CSV with the verdict in a response header.

Done when you are told

A signed webhook the moment a statement is ready. A long-wait status call covers scripts and local development.

Ready for your security review

SOC 2 Type II audited, encrypted in transit, and documents are never used to train third-party AI models.

From test key to production

  1. 1

    Build on sample statements, free

    Create a test key in your DocuClipper developer console. It works without limits on our sample bank statements, answers exactly as production will, and uses no pages.

  2. 2

    Go live with 50 free pages

    Add a card and your first 50 pages on your own statements are free. Nothing is charged until you choose the plan.

  3. 3

    Scale on one plan

    $199 a month with 2,000 pages included, then $0.10 a page. Over 20,000 pages a month, ask for a volume quote.

API plan

$199/month

  • 2,000 pages a month included
  • $0.10 per page after that
  • Free test key on sample statements
  • 50 free live pages with a card
Get a free test key

Volume quote · Pricing

Built into products like these

  • Lending and underwriting platforms

    Turn applicant statements into the transactions your scoring runs on, and hold back the files that do not tie out before a decision rests on them.

  • Accounting and bookkeeping software

    Customers drop in a statement and get rows in their ledger, with the months that need a second look already flagged.

  • AI agents and finance automations

    Give your agent transactions it can act on and a status it can branch on, instead of a table it has to take on faith.

Replacing statement parsing code you wrote yourself? See the Bank Statement Parser API. Want reconciled statements inside ChatGPT or Claude instead? Use the connector.

Bank statement API: FAQ

What is a bank statement API?
A bank statement API takes a bank or credit card statement file and returns its transactions as structured data your software can use. DocuClipper returns every row as JSON or CSV, with date, description, amount, balance and account, plus a verdict for each statement period that says whether the rows tie out to the printed opening and closing balances.
How do I know the transactions are right?
Every result carries a verification verdict per statement period: verified (the rows add up from the printed opening balance to the printed closing balance), needs_review (with the pages and the difference to check) or unverifiable (with the reason, for example a statement that prints no balances). Your code branches on it instead of trusting every file equally. Field-level accuracy is 99.9%.
Can I try it for free?
Yes. Create a free test key in your DocuClipper developer console. It works without limits on our sample bank statements, so you can build against every read endpoint before you spend a page. Add a card for 50 free live pages on your own statements. Nothing is charged until you choose the plan.
How much does the bank statement API cost?
The API plan is $199 a month with 2,000 pages included, then $0.10 per page. A page is one page of a statement. Above 20,000 pages a month, email support@docuclipper.com for a volume quote.
Is this an Open Banking or account-linking API?
No. It works from the statement file your users already have, so there is no bank login to ask for and no list of connected institutions. Any bank works, including older months an account connection would not reach.
Do I need the DocuClipper web app?
No. The API plan is API only: keys, usage and billing live in your developer console. If your team also wants the web app, every web plan includes API access counted against the plan’s pages, so you do not need both.
How long does a statement take?
The median bank statement job finishes in about 17 seconds. Long and scanned statements take longer; a webhook tells you the moment each one is ready.