🔌 REST API 🏷️ Auto-Categorisation 💰 Income Detection 📈 Balance Trends 🆓 Free Tier

Bank Statement Analysis API — Automated Transaction Extraction & Analysis

An API that extracts, categorises, and analyses bank statement PDFs. Used by lenders, fintechs, and accountants for income verification, credit scoring, and automated bookkeeping. Returns enriched JSON.

📊

Bank Statement Analysis API Documentation

Free tier available · Income detection · Auto-categorisation · Balance trend analysis

View API Documentation →

Free tier: 20 analysis requests/month · TLS 1.3 · Files deleted after 24 hours

What Is the Bank Statement Analysis API?

The Bank Statement Analysis API goes beyond raw transaction extraction. It accepts a bank statement PDF, extracts all transactions, and then enriches each transaction with category labels, identifies income sources, detects recurring payments, and computes balance trend statistics — all returned in a single JSON response.

This API is designed for workflows where the raw transaction list alone is not enough: credit underwriting, personal financial management, automated bookkeeping, and compliance screening all need categorised, analysed data — not just a list of debits and credits.

What Analysis Does the API Provide?

Transaction Categorisation

Each transaction is tagged with a category: salary, rent, utilities, groceries, dining, transport, EMI/loan, subscription, ATM, transfer, or other.

Income Detection

Regular monthly credits above a threshold are identified as likely salary or business income, with confidence score and detected payer name.

Recurring Payments

Standing orders, subscriptions, and EMIs are identified by frequency and amount consistency. Returned as a recurring_payments array.

Balance Trend Analysis

Average monthly balance, minimum balance, maximum balance, and trend direction (rising/falling/stable) computed over the statement period.

Spending Summary

Total spend per category, month-over-month spending change, and top 5 merchants/payees by spend volume.

Risk Signals

Bounce/return payments detected, overdraft days counted, large irregular withdrawals flagged — key signals for credit risk assessment.

Sample JSON Response

Here is a representative (truncated) response showing the enriched analysis output:

{ "status": "complete", "bank_name": "HDFC Bank", "currency": "INR", "statement_period": { "from": "2026-04-01", "to": "2026-06-30" }, "summary": { "total_credits": 255000.00, "total_debits": 198432.50, "net_cashflow": 56567.50, "average_monthly_balance": 87432.00, "minimum_balance": 12450.00, "maximum_balance": 143200.00, "balance_trend": "rising" }, "income": { "detected_sources": [ { "description": "SALARY / ACME TECHNOLOGIES LTD", "frequency": "monthly", "average_amount": 85000.00, "confidence": 0.97, "category": "salary" } ] }, "recurring_payments": [ { "description": "HDFC HOME LOAN EMI", "amount": 32500.00, "frequency": "monthly", "category": "emi_loan" }, { "description": "NETFLIX SUBSCRIPTION", "amount": 649.00, "frequency": "monthly", "category": "subscription" } ], "spending_by_category": { "emi_loan": 65000.00, "groceries": 18500.00, "utilities": 4200.00, "dining": 6800.00, "transport": 3200.00, "subscription": 1948.00, "atm": 15000.00, "other": 83784.50 }, "risk_signals": { "bounce_payments": 0, "overdraft_days": 0, "large_unusual_withdrawals": [] }, "transactions": [ { "date": "2026-04-01", "description": "SALARY / ACME TECHNOLOGIES LTD", "debit": null, "credit": 85000.00, "balance": 95450.00, "category": "salary", "confidence": 0.97 } ] }

Use Cases

Lending & Credit Underwriting

The Analysis API is purpose-built for lending workflows. Lenders upload an applicant's 3–6 months of bank statements and receive: verified monthly income amount, existing EMI obligations (loan commitments), average account balance (ability to handle new repayments), and bounce payment history (payment discipline signal). This replaces hours of manual statement review with a sub-10-second API call.

Fintech Personal Finance Apps

Personal finance management apps use the Analysis API to automatically populate spending dashboards when users upload their bank statements. Categorised transactions, monthly spending breakdowns, and savings trend visualisations are all derived from the API response without any additional processing.

Automated Bookkeeping

Accounting automation platforms use the Analysis API to reduce manual categorisation work. The API pre-categorises 85–95% of transactions, so bookkeepers only need to review the category: "other" transactions — typically 5–15% of the total. Combined with the Bank Statement API's output format options, entries can flow directly into QuickBooks or Xero.

BNPL & Embedded Finance

Buy-Now-Pay-Later providers and embedded finance platforms that need rapid creditworthiness assessment — often in under 30 seconds during a checkout flow — use the Analysis API to analyse a 3-month bank statement and derive a spend-based credit signal without a formal credit bureau check.

Frequently Asked Questions

What does the bank statement analysis API do?
It extracts all transactions from a bank statement PDF and enriches them with categorisation, income detection, recurring payment identification, balance trend analysis, spending summaries, and risk signals — all in a single JSON response.
Who uses bank statement analysis APIs?
Lenders (income verification, credit scoring), fintech apps (personal finance, budgeting), accounting platforms (auto-categorisation), and compliance teams (transaction pattern analysis).
What analysis does the API provide?
Transaction categorisation, income detection, recurring payment identification, average/min/max balance, balance trend direction, spending by category, top merchants, bounce payment count, and overdraft days.
What does the JSON response look like?
A summary object (totals, averages, trend), an income object (detected salary/business income sources), a recurring_payments array, a spending_by_category breakdown, risk_signals, and a transactions array with category and confidence added to each transaction.
How accurate is the transaction categorisation?
85–95% accuracy for digital bank statements with rich narration. Lower for older statements with brief descriptions. Uncategorised transactions return as category: "other".
Can the API detect salary income?
Yes. It identifies regular monthly credits from consistent payer descriptions and returns them as income sources with estimated monthly amount and confidence score.
What is the difference between the Bank Statement API and the Analysis API?
The Bank Statement API returns raw transaction data. The Analysis API adds categorisation, income detection, recurring payments, balance trends, and risk signals. The Analysis API is the right choice for credit underwriting and financial reporting use cases.
Does the analysis API work with scanned PDFs?
Yes. OCR is included. Categorisation accuracy may be slightly lower for low-quality scans.
Is it suitable for credit underwriting?
Yes — designed for it. Returns income verification data, existing EMI detection, average balance trends, and bounce payment history — the key credit risk data points.
What is the pricing?
Free tier: 20 analysis requests/month. Paid plans from £49/month for 200 requests. Enterprise pricing available.

Related API Docs & Tools

Bank Statement API Bank Transactions API Full API Guide Bank Statement Analysis Tool Bank Statement Extractor Bank Statement to QuickBooks Bank Statement to Xero

Ready to Integrate the Bank Statement Analysis API?

Free tier available · Income detection · Auto-categorisation · Used by lenders & fintechs

View API Documentation →