POST
/v1/detect Public Detect the format of a bank statement file without parsing or converting it. No authentication required.
Parameters (multipart form)
| Name | Type | Required | Description |
|---|---|---|---|
file | File | Yes | The bank statement file to identify |
Response
Returns a JSON object with the detected format identifier and a human-readable format name.
Response — 200 OK
{
"format": "mt940",
"formatName": "MT940 (SWIFT)"
} Examples
Detect file format
curl -X POST https://api.finconvert.dev/v1/detect \
-F "file=@bank-statement.mt940" # Upload a local file Detect with fetch (Node.js)
const fs = require('fs')
const form = new FormData()
form.append('file', fs.createReadStream('statement.mt940'))
const response = await fetch('https://api.finconvert.dev/v1/detect', {
method: 'POST',
body: form,
})
const data = await response.json()
console.log(data.format) // "mt940"
console.log(data.formatName) // "MT940 (SWIFT)" Detect with requests
import requests
with open('statement.mt940', 'rb') as f:
response = requests.post(
'https://api.finconvert.dev/v1/detect',
files={'file': f},
)
data = response.json()
print(data['format']) # "mt940"
print(data['formatName']) # "MT940 (SWIFT)" Error Responses
| Status | Code | Description |
|---|---|---|
400 | MISSING_FILE | No file in request body |
400 | UNKNOWN_FORMAT | Could not detect the file format |
No authentication needed
This endpoint is public and does not require an API key. It is rate-limited to 30 requests per
60 seconds per IP address.
Ready to get started?
Get your API key from the dashboard and start converting bank statements.
Go to Dashboard