Turn Bank PDFs intoStructured Data inSeconds
Automatically parse bank statements and financial PDFs from any country, any language. Unknown formats are learned automatically. Export as JSON or CSV.
How It Works
Three steps from PDF upload to structured data, in seconds.
Upload Your PDF
Drag-and-drop or send via REST API. Supports text-based and scanned bank statement PDFs from any bank or country.
Automatic Parsing
The engine processes text PDFs with coordinate-based extraction and reads scanned PDFs via OCR. Unknown formats are learned automatically — zero manual config.
Get Clean JSON
Receive structured data with date, description, amount and balance for every transaction. Export as JSON or CSV.
Why Bank Statement Parser?
Any country, any language — convert text-based or scanned bank PDFs into structured data with a single API call.
Any Bank, Any Language
English, Turkish, German, Arabic… No matter which country or bank, the system reads the PDF, analyzes the line structure, builds a ruleset and extracts transactions.
Automatic Format Learning
When an unknown format arrives, the system automatically analyzes it, creates a profile, and is ready for the next request. Zero manual configuration.
Webhook Support
Automatic webhook notification when your PDF is processed. Ideal for asynchronous and batch workflows.
REST API
Integrate with your system via a simple REST API. Bearer token or API key authentication. Works with any language or framework.
OCR Support
Scanned and image-based PDFs are now fully supported. Tesseract OCR extracts text from images, then the same 98%+ accuracy pipeline handles transaction extraction.
Privacy First
Your PDFs are never stored. They are permanently deleted from the server as soon as processing is complete. Your data belongs to you.
Try it Now
Upload a PDF without registering and see how it works. Text-based and scanned bank PDFs are supported.
Drop PDF here or click to upload
Max 10 MB · Text-based or scanned PDF
Frequently Asked Questions
What is Bank Statement Parser API?
Bank Statement Parser API is a REST API that automatically converts text-based bank statement PDFs from any bank, any country, any language into structured JSON or CSV data. It extracts transaction date, description, amount, and running balance from each row. No manual template configuration is required — unknown formats are learned automatically on first encounter.
How do I parse a bank statement PDF with the API?
Send a POST request to https://api.bank-statement-parser.clkr.work/extract with your PDF file as multipart/form-data and your API key in the X-Api-Key header. The API returns a JSON object with a transactions array, bankKey identifier, and pageCount. Each transaction contains date, description, amount, and balance fields.
Which banks and countries are supported?
Any bank from any country is supported for text-based PDFs. The system has been tested with banks from Turkey (Garanti BBVA, İş Bankası, Yapı Kredi, Akbank, Ziraat), Germany, the UK, the US, and more. When an unknown bank format is encountered, the system automatically analyzes the PDF structure, builds a parsing profile, and is ready for the next request.
Are my PDFs stored or shared?
No. Uploaded PDFs are held in memory only during processing and are permanently deleted from the server as soon as processing completes. Nothing is written to disk. Your PDF data is never shared with third parties.
Which PDF types are supported?
Both text-based (selectable text) and scanned (image-based) PDFs are supported. Text-based PDFs are processed with a coordinate-based engine for maximum speed and accuracy. Scanned PDFs are processed via Tesseract OCR, which reads the image and extracts transactions the same way.
How does automatic bank format learning work?
When the API receives a PDF from an unknown bank, it analyzes the line structure, detects transaction rows, date patterns, and amount columns, then builds a parsing ruleset automatically. This profile is stored and reused for all subsequent PDFs from the same bank. Zero manual configuration is needed.
What does the JSON output look like?
The API returns a JSON object with: bankKey (e.g. 'garantibbva_v1'), pageCount, and a transactions array. Each transaction has: date (ISO 8601), description (string), amount (number, negative for debits), and balance (number). Example: {"bankKey":"garantibbva_v1","pageCount":3,"transactions":[{"date":"2024-01-15","description":"MARKET PAYMENT","amount":-45.90,"balance":1254.10}]}
How much does it cost? Is there a free plan?
Yes. The free plan includes 100 pages/month of processing with no credit card required and no time limit. Paid plans start at 399 TRY/month (Starter: 500 pages) and go up to Professional (3,000 pages/month) and Enterprise (15,000 pages/month). API access is available from the Starter plan.
How does API authentication work?
Two authentication methods are supported: Bearer JWT token (for dashboard/session-based access) and API key via X-Api-Key header (for server-to-server integrations). API keys start with 'pex_' and can be created in the dashboard. API key access is available on paid plans.
Is OCR supported?
Yes! With Tesseract OCR integration, scanned and image-based PDFs are now fully supported. The engine first tries coordinate-based extraction for text PDFs (fastest path), falls back to OCR for scanned ones, and uses AI-assisted extraction when needed. All bank PDF types work with a single API call.