AI-powered financial document processing
Bank Statement Parser API
The Bank Statement Parser API uses advanced OCR and machine learning to automatically extract structured financial data from bank statements. Parse transactions, account information, balances, and generate financial insights from PDF documents and images.
Perfect for fintech applications, accounting software, lending platforms, and financial analytics tools requiring automated bank statement processing with bank-grade security and enterprise reliability.
Free tier included, no credit card required. One key works across all 49 APIs.
- Accuracy Rate
- 98%+
- Processing Time
- <15s
- Banks Supported
- 500+
Key features
- Extract all transaction details and metadata
- Parse account and bank information
- Calculate balances and financial summaries
- Automatic transaction categorization
- Support for PDF and image statement formats
- Multi-bank and multi-currency processing
- Secure processing with data encryption
- Batch processing for multiple statements
Built for
- Loan application and underwriting
- Personal finance management apps
- Automated bookkeeping and accounting
- Financial planning and budgeting tools
- Expense tracking and reporting
- Credit assessment and risk analysis
- Banking and fintech integrations
- Compliance and audit documentation
Try it
Build the request for your data
Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.
POST /parser/v1/parse HTTP/1.1
Host: api.apicodex.io
Content-Type: multipart/form-data
{
"success": true,
"parsed_at": "2025-05-13T07:40:48.000Z",
"data": {
"bank_info": {
"name": "First National Bank",
"address": "123 Banking Street, Financial District, NY 10001",
"phone": "(555) 123-BANK",
"routing_number": "123456789",
"swift_code": "FNBKUS33"
},
"account_info": {
"account_holder": "John Smith",
"account_number": "**** 1234",
"account_type": "Checking",
"currency": "USD"
},
"statement_period": {
"start_date": "2025-04-01",
"end_date": "2025-04-30",
"statement_date": "2025-05-01"
},
"balance_info": {
"opening_balance": 2500.00,
"closing_balance": 2847.50,
"available_balance": 2847.50,
"pending_balance": 0.00
},
"transactions": [
{
"date": "2025-04-02",
"description": "Direct Deposit - Salary",
"amount": 3500.00,
"balance": 6000.00,
"reference": "DD20250402001",
"category": "Deposit",
"merchant": "ABC Corporation",
"location": null
}
],
"summary": {
"total_credits": 3500.00,
"total_debits": -652.50,
"transaction_count": 25,
"fees_charged": 5.00,
"interest_earned": 0.00
}
}
}Documentation
Bank Statement Parser API Documentation
The Bank Statement Parser API is designed for fintech companies, financial institutions, and developers who need to extract structured data from bank statements. The API supports various statement formats and uses advanced AI to ensure high accuracy while maintaining strict security standards.
Base URL
https://api.apicodex.io/parserAuthentication
Authenticate every request with your API key: send it in an X-Api-Key header, or pass it as an ?apikey= query parameter.
{
"X-Api-Key": "YOUR_API_KEY"
}Request and response
Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.
POST /v1/parse HTTP/1.1
Content-Type: multipart/form-data{
"success": true,
"parsed_at": "2025-05-13T07:40:48.000Z",
"data": {
"bank_info": {
"name": "First National Bank",
"address": "123 Banking Street, Financial District, NY 10001",
"phone": "(555) 123-BANK",
"routing_number": "123456789",
"swift_code": "FNBKUS33"
},
"account_info": {
"account_holder": "John Smith",
"account_number": "**** 1234",
"account_type": "Checking",
"currency": "USD"
},
"statement_period": {
"start_date": "2025-04-01",
"end_date": "2025-04-30",
"statement_date": "2025-05-01"
},
"balance_info": {
"opening_balance": 2500.00,
"closing_balance": 2847.50,
"available_balance": 2847.50,
"pending_balance": 0.00
},
"transactions": [
{
"date": "2025-04-02",
"description": "Direct Deposit - Salary",
"amount": 3500.00,
"balance": 6000.00,
"reference": "DD20250402001",
"category": "Deposit",
"merchant": "ABC Corporation",
"location": null
}
],
"summary": {
"total_credits": 3500.00,
"total_debits": -652.50,
"transaction_count": 25,
"fees_charged": 5.00,
"interest_earned": 0.00
}
}
}Code examples
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('statement', fs.createReadStream('/path/to/statement.pdf'));
const options = {
method: 'POST',
url: 'https://api.apicodex.io/parser/v1/parse',
headers: {
'X-Api-Key': 'YOUR_API_KEY'
...form.getHeaders()
},
data: form
};
try {
const response = await axios.request(options);
console.log(response.data);
} catch (error) {
console.error(error);
}Pricing
Bank Statement Parser API Pricing
One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.
This API costs 25 credits per request. Credits are shared across every API on your plan.
Estimate your monthly cost
Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.
Recommended plan
Pro
$99.99 /month
Free
- All 49 APIs included
- No credit card required
- Full documentation and examples
Starter
Popular- All 49 APIs included
- Email support
- Usage dashboard and analytics
Pro
- All 49 APIs included
- Priority support
- Up to 5 API keys
Need a different plan?
Tell us about your API, volume, or support requirements.
Coming soon · MCP
Use the Bank Statement Parser API from your AI agent
The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.
FAQ
Frequently asked questions
The Bank Statement Parser API supports PDF statements from over 500 financial institutions including Chase, Bank of America, Wells Fargo, Citibank, HSBC, Barclays, and regional credit unions worldwide. It processes both digitally-generated PDFs (where text is embedded) and scanned paper statements using integrated OCR with automatic image preprocessing for skew correction and contrast enhancement. The API also handles password-protected PDFs when the password is provided as a parameter. For scanned documents, the engine supports resolutions from 150 to 600 DPI and automatically detects multi-page layouts, column formats, and table structures specific to each bank's statement template.
Security is fundamental to our architecture. All document uploads and API responses are transmitted over TLS 1.3 encrypted connections. Uploaded documents are processed in isolated, ephemeral containers and permanently deleted within 60 seconds of processing completion — no financial data is persisted on our servers. We comply with PCI DSS Level 1 requirements, SOC 2 Type II standards, and GDPR data protection regulations. Sensitive fields like full account numbers and routing numbers are automatically masked in API responses (e.g., ****1234), and you can configure additional masking rules via request parameters. Our infrastructure undergoes quarterly penetration testing and annual security audits by independent third-party firms.
The API extracts a comprehensive set of structured fields organized into logical sections. Bank information includes the institution name, address, phone number, routing number, and SWIFT/BIC code. Account details cover the account holder name, masked account number, account type (checking, savings, money market), and currency. The statement period section provides start date, end date, and statement generation date. Balance information includes opening balance, closing balance, available balance, and pending amounts. Each transaction record contains the date, description, debit or credit amount, running balance, reference number, merchant name, location, and auto-assigned category. The financial summary aggregates total credits, total debits, transaction count, fees charged, and interest earned.
Yes, the API uses a multi-layered classification system combining rule-based matching and machine learning to categorize transactions with over 95% accuracy. Standard categories include direct deposits, payroll, ACH transfers, wire transfers, ATM withdrawals, point-of-sale purchases, online payments, recurring subscriptions, loan payments, utility bills, and bank fees. The ML model is trained on millions of real transaction descriptions and continuously updated to recognize new merchants and payment patterns. Enterprise plans support custom categorization taxonomies, allowing you to define business-specific categories like department codes or cost centers that map to your internal accounting chart of accounts.
Our API achieves over 98% field-level accuracy in data extraction, validated against a benchmark dataset of 50,000+ bank statements from diverse institutions and formats. Accuracy is measured across individual fields: numerical values like amounts and balances achieve 99.2% accuracy, dates achieve 98.7%, and free-text fields like merchant names achieve 96.5%. The system uses a two-pass extraction approach — the first pass applies template-matched extraction for known bank formats, while the second pass uses adaptive ML models for unfamiliar layouts. A confidence score is returned for each extracted field, allowing your application to flag low-confidence results for manual review rather than accepting potentially incorrect data.
Yes, the Bank Statement Parser API supports statements from international banks across multiple countries and currencies. The API recognizes various date formats (DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD), currency symbols and ISO codes (USD, EUR, GBP, JPY, CAD, AUD, and 50+ others), and multi-language bank statements in English, Spanish, French, German, Portuguese, Italian, Dutch, and other major languages. The OCR engine handles non-Latin scripts including Chinese, Japanese, Korean, Arabic, and Cyrillic characters. The extracted data is normalized into a consistent JSON format regardless of the source bank or country, with amounts converted to standard decimal notation and dates standardized to ISO 8601 format, making it straightforward to work with international financial data in a unified pipeline.
Keep building
Related APIs
Extract vendor details, line items, tax amounts, and payment terms from invoices automatically using AI-powered document analysis.
Automate AP document processing with structured extraction of GL codes, vendor information, and payment details for ERP integration.
Parse retail and business receipts to extract merchant details, line items, totals, and tax information for expense tracking and reimbursement.