Bank Statement Converter API

Extract transactions, balances, and account metadata from bank statement PDFs via REST API. JSON, CSV, Excel, and accounting format exports.

Every extraction is validated against declared totals and running balances — not just raw LLM output. Also available as an MCP server for AI agents.

1. Upload a statement

curl -X POST https://api.bankstatemently.com/v1/documents \
  -H "X-API-Key: bsk_live_..." \
  -H "Content-Type: application/pdf" \
  --data-binary @statement.pdf

2. Poll for results

curl https://api.bankstatemently.com/v1/documents/{id} \
  -H "X-API-Key: bsk_live_..."

Why this API

Evaluation layer

Every extraction is validated against declared totals, computed sums, and running balances. You get confidence signals, not just raw output.

Deterministic post-processing

LLM extraction is followed by rule-based normalization: date standardization, currency detection, debit/credit classification, and balance reconciliation.

Bank-aware extraction

Template-verified parsing across 61+ accuracy-verified banks with layout-specific handling for multi-column, multi-currency, and wrapped transaction formats.

Structured, stable output

Typed JSON schema with transactions, balances, account metadata, and statement period. JSON, CSV, Excel, QBO, and Xero exports. See the full schema.

Benchmarked accuracy

Open benchmarking framework that tests extraction accuracy and statement integrity against manually verified reference data.

Webhooks & idempotency

Per-request webhook URLs for async workflows. Idempotent uploads prevent duplicate processing in retry-heavy pipelines.


Structured output

Every processed statement returns a typed JSON response with:

  • Transactions (date, description, amount, balance, type)
  • Account metadata (holder name, account number, bank, currency)
  • Statement period (start date, end date)
  • Opening & closing balances
  • Evaluation results (balance match, total reconciliation, confidence)

Export as JSON, CSV, Excel, QBO (QuickBooks), or Xero format. See full schema in the API reference.


Built for

Lending & underwriting

Extract income, expenses, and balance history from applicant statements for automated credit decisioning.

Expense management

Ingest employee bank and credit card statements into expense tracking systems with categorized transactions.

Accounting automation

Import transactions directly into QuickBooks, Xero, or custom ledgers via QBO, CSV, or JSON export.

Compliance & audit

Structured extraction with evaluation metadata for audit trails and regulatory reporting pipelines.


How it works

PDF uploadLLM extractionRule-based normalizationEvaluation & validationStructured output

Not just OCR. Every statement goes through extraction, normalization, and evaluation before results are returned.