v1
API Documentation
Everything you need to convert between bank statement formats. A single REST API to parse, detect, and convert MT940, CAMT.053, OFX, CSV, and JSON.
Base URL
https://api.finconvert.dev Quick Start
FinConvert is a stateless REST API that converts between bank statement formats. Upload a file, specify the desired output format, and receive the converted file back — no data is stored.
Get started in 3 steps
- 1 Get your API key from the dashboard (prefix:
fc_live_orfc_test_) - 2 Send your bank statement to
POST /v1/convertwith the desired output format - 3 Receive the converted file as a download
Convert an MT940 file to CSV
curl -X POST https://api.finconvert.dev/v1/convert \
-H "Authorization: Bearer fc_live_xxxxx" \
-F "file=@bank-statement.mt940" \
-F "to=csv" \
-o converted.csv Convert with fetch (Node.js)
const form = new FormData()
form.append('file', fs.createReadStream('statement.mt940'))
form.append('to', 'csv')
const response = await fetch('https://api.finconvert.dev/v1/convert', {
method: 'POST',
headers: { 'Authorization': 'Bearer fc_live_xxxxx' },
body: form,
})
// Save the converted file
const blob = await response.blob() Convert with requests
import requests
with open('statement.mt940', 'rb') as f:
response = requests.post(
'https://api.finconvert.dev/v1/convert',
headers={'Authorization': 'Bearer fc_live_xxxxx'},
files={'file': f},
data={'to': 'csv'},
)
# Save the converted file
with open('converted.csv', 'wb') as out:
out.write(response.content) What's Next
Authentication
Learn about API keys, bearer tokens, and test vs live environments.
Endpoints
Explore all available API endpoints with request/response examples.
Rate Limits
Understand rate limiting, monthly quotas, and response headers.
Error Handling
Handle errors gracefully with structured error codes and messages.
Ready to get started?
Get your API key from the dashboard and start converting bank statements.
Go to Dashboard