API Documentation
Integrate our powerful bank statement conversion capabilities into your applications with our comprehensive RESTful API.
Introduction
Welcome to the Bank Statement Converter API! Our RESTful API allows you to programmatically convert bank statements between various formats including PDF, CSV, Excel, QFX, and more.
https://api.bankstatementconverter.com/v1
Key Features
- Convert PDF bank statements to CSV, Excel, QFX, and other formats
- Support for major banks worldwide
- Secure, encrypted file processing
- Real-time conversion status updates
- Webhook notifications for async operations
- Comprehensive error handling and validation
Authentication
The Bank Statement Converter API uses API keys for authentication. Include your API key in the request header for all API calls.
Your API Key
bsc_live_1234567890abcdef
Keep your API key secure and never share it publicly
Authentication Header
Authorization: Bearer YOUR_API_KEY
curl -H "Authorization: Bearer bsc_live_1234567890abcdef" \
https://api.bankstatementconverter.com/v1/convert
Rate Limits
To ensure fair usage and optimal performance, our API implements rate limiting based on your subscription plan.
Plan | Requests per Hour | Concurrent Conversions | Max File Size |
---|---|---|---|
Free | 100 | 2 | 25 MB |
Pro | 1,000 | 10 | 100 MB |
Enterprise | 10,000 | 50 | 500 MB |
X-RateLimit-Limit
, X-RateLimit-Remaining
, and X-RateLimit-Reset
.
Quick Start
Get up and running with the Bank Statement Converter API in just a few minutes. Follow this simple example to convert your first document.
Step 1: Upload and Convert
curl -X POST https://api.bankstatementconverter.com/v1/convert \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@bank_statement.pdf" \
-F "output_format=csv" \
-F "bank=chase"
Step 2: Check Status
curl -X GET https://api.bankstatementconverter.com/v1/convert/conv_1234567890 \
-H "Authorization: Bearer YOUR_API_KEY"
Step 3: Download Result
curl -X GET https://api.bankstatementconverter.com/v1/convert/conv_1234567890/download \
-H "Authorization: Bearer YOUR_API_KEY" \
-o converted_statement.csv
Upload Document
Upload a bank statement document for conversion. This endpoint accepts PDF, JPG, PNG, and other supported formats.
Uploads and initiates conversion of a bank statement document.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
file | file | Required | The bank statement file to convert (PDF, JPG, PNG) |
output_format | string | Required | Target format: csv , excel , qfx , ofx , qbo |
bank | string | Optional | Bank identifier: chase , bankofamerica , wells_fargo , etc. |
webhook_url | string | Optional | URL to receive webhook notifications when conversion completes |
date_format | string | Optional | Date format for output: mm/dd/yyyy , dd/mm/yyyy , yyyy-mm-dd |
Response
{
"id": "conv_1234567890",
"status": "processing",
"file_name": "bank_statement.pdf",
"file_size": 2048576,
"output_format": "csv",
"bank": "chase",
"created_at": "2024-01-15T10:30:00Z",
"estimated_completion": "2024-01-15T10:32:00Z",
"download_url": null,
"webhook_url": "https://yourapp.com/webhooks/conversion"
}
Get Conversion Status
Retrieve the current status and details of a conversion job.
Returns detailed information about a specific conversion job.
Path Parameters
Parameter | Type | Description |
---|---|---|
conversion_id | string | The unique identifier for the conversion job |
Response
{
"id": "conv_1234567890",
"status": "completed",
"file_name": "bank_statement.pdf",
"file_size": 2048576,
"output_format": "csv",
"bank": "chase",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:31:45Z",
"download_url": "https://api.bankstatementconverter.com/v1/convert/conv_1234567890/download",
"expires_at": "2024-01-22T10:31:45Z",
"transaction_count": 124,
"processing_details": {
"pages_processed": 3,
"bank_detected": "chase",
"date_range": {
"start": "2024-01-01",
"end": "2024-01-31"
}
}
}
Download Converted File
Download the converted bank statement file once the conversion is complete.
Downloads the converted file. Only available when conversion status is "completed".
Example Request
curl -X GET https://api.bankstatementconverter.com/v1/convert/conv_1234567890/download \
-H "Authorization: Bearer YOUR_API_KEY" \
-o converted_statement.csv
Response
Returns the converted file as a binary stream with appropriate headers:
Content-Type: text/csv
Content-Disposition: attachment; filename="bank_statement_converted.csv"
Content-Length: 15342
Date,Description,Amount,Balance
2024-01-01,"DEPOSIT - PAYROLL",2500.00,8245.67
2024-01-02,"WITHDRAWAL - ATM",-60.00,8185.67
...
List Conversions
Retrieve a list of all your conversion jobs with optional filtering and pagination.
Returns a paginated list of conversion jobs for your account.
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
limit | integer | 25 | Number of results per page (1-100) |
offset | integer | 0 | Number of results to skip |
status | string | all | Filter by status: pending , processing , completed , failed |
bank | string | all | Filter by bank identifier |
created_after | datetime | - | Filter conversions created after this date (ISO 8601) |
Response
{
"data": [
{
"id": "conv_1234567890",
"status": "completed",
"file_name": "january_statement.pdf",
"output_format": "csv",
"bank": "chase",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:31:45Z"
},
{
"id": "conv_0987654321",
"status": "processing",
"file_name": "december_statement.pdf",
"output_format": "excel",
"bank": "bankofamerica",
"created_at": "2024-01-15T09:15:00Z",
"progress": 78
}
],
"pagination": {
"total": 156,
"limit": 25,
"offset": 0,
"has_more": true
}
}
Error Codes
The API uses conventional HTTP response codes to indicate success or failure of requests.
HTTP Status | Error Code | Description |
---|---|---|
400 | invalid_request |
The request was malformed or missing required parameters |
400 | invalid_file_format |
The uploaded file format is not supported |
400 | file_too_large |
The uploaded file exceeds the maximum size limit |
401 | unauthorized |
Invalid or missing API key |
404 | not_found |
The requested conversion job was not found |
429 | rate_limit_exceeded |
You have exceeded your rate limit |
500 | internal_server_error |
An unexpected error occurred on our servers |
Error Response Format
{
"error": {
"code": "invalid_file_format",
"message": "Unsupported file format. Please upload PDF, JPG, or PNG files.",
"details": {
"supported_formats": ["pdf", "jpg", "jpeg", "png"],
"received_format": "docx"
},
"documentation_url": "https://docs.bankstatementconverter.com/errors#invalid_file_format"
}
}
SDKs & Libraries
Official and community-maintained libraries to help you integrate with our API faster.
Java
<dependency>
<groupId>com.bankstatement</groupId>
<artifactId>converter</artifactId>
</dependency>