Parse
Use CasesDocsAPI Reference
Log InGet Started Free
REST API · Statement to JSON · 100 free pages/mo

Bank Statement to JSON API

Turn any bank statement PDF into clean, typed JSON. Every transaction is its own object - date, description, amount, running balance - ready for reconciliation, lending decisions, or your accounting pipeline. Works with scans and digital statements from any bank.

Get an API Key FreeRead the Docs

Every Transaction, Typed and Reconcilable

Send the statement and a schema. Each line comes back as a structured row with a running balance, so you can validate the math, not just read the text.

request.sh
curl -X POST \
  https://api-parse.conversiontools.io/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@statement.pdf" \
  -F 'schema={
    "account_holder": "string",
    "account_number": "string",
    "bank_name": "string",
    "statement_period": { "start": "date", "end": "date" },
    "opening_balance": "number",
    "closing_balance": "number",
    "currency": "string",
    "transactions": [{
      "date": "date",
      "description": "string",
      "amount": "number",
      "type": "string",
      "balance": "number",
      "category": "string"
    }]
  }'
response.json
{
  "status": "completed",
  "pages": 3,
  "data": {
    "account_holder": "Jane Doe",
    "account_number": "****6739",
    "bank_name": "First National",
    "statement_period": { "start": "2026-03-01", "end": "2026-03-31" },
    "opening_balance": 4120.55,
    "closing_balance": 3127.04,
    "currency": "USD",
    "transactions": [
      {
        "date": "2026-03-04",
        "description": "Whole Foods Market",
        "amount": -84.52,
        "type": "debit",
        "balance": 4036.03,
        "category": "Groceries"
      },
      {
        "date": "2026-03-15",
        "description": "Payroll ACME Corp",
        "amount": 3200.00,
        "type": "credit",
        "balance": 7236.03,
        "category": "Income"
      }
    ]
  }
}

Built for Reconciliation Workflows

A statement is not just a wall of text - it is a ledger. The schema captures it as one.

Every transaction, typed

Each line returns as a structured object with a typed amount and a debit or credit marker, so you can sum, filter, and reconcile without parsing strings.

Running balance preserved

Opening and closing balances plus a per-line running balance come back too, so you can validate the math end to end, not just the rows.

Any bank, no per-template setup

Reads varied statement layouts from any bank, scanned or digital, with OCR applied automatically. No template per institution.

Frequently Asked Questions

Can the API categorize transactions?

Yes. Add a category field to your schema and the model infers a category per line (groceries, payroll, transfer, fees, and so on). You can also constrain it to your own category list.

Does it handle multi-page and multi-account statements?

Yes. A multi-page statement is processed in a single call and transactions that span pages come back as one array. For multi-account statements, model the accounts as an array in your schema.

Does it work on scanned or photographed statements?

Yes. OCR is applied automatically to scanned and image-based PDFs, so the JSON output is the same whether the statement was downloaded or photographed.

How are debits and credits represented?

However you declare it. Use a signed amount (negative for debits) or a separate type field set to debit or credit - the schema is the contract and the response matches it.

Is my financial data kept private?

Uploaded statements are automatically deleted within 24 hours. Extracted data is encrypted in transit and at rest and is never used to train models.

More document extraction use cases

The same schema-driven API works across every document type. Define a schema once, extract from thousands of files.

Data Extraction API

Extract structured JSON from any document with custom schemas.

PDF Parsing API

Parse any PDF into structured JSON, scanned or digital.

Invoice extraction

Vendor, line items, totals, tax, and dates from invoices.

Receipt parsing

Store, items, totals, and payment method from receipts.

Purchase order extraction

PO number, vendor, buyer, and SKU-level line items.

Tax form extraction

Box-level data from W-2, 1099, and other tax forms.

Contract data extraction

Parties, dates, governing law, and key clauses.

Bill of lading extraction

Carrier, parties, ports, containers, and cargo.

Automate Bank Statement Processing

Free tier covers your first 100 pages a month. No credit card to start.

Get Started FreeAPI Reference
Parse

AI-powered document data extraction

Conversion ToolsPowered by Conversion Tools

Use cases

  • Data Extraction API
  • PDF Parsing API
  • Invoice extraction
  • Receipt parsing
  • Purchase order extraction
  • Bank statement to JSON
  • Tax form extraction
  • Contract data extraction
  • Bill of lading extraction

Developers

  • Quickstart
  • Documentation
  • API Reference

Account

  • Log in
  • Security
  • Privacy Policy
  • Terms of Service
  • Refund Policy
© 2026 Conversion Tools