Bank Statement Converter
Convert bank statements without software or AI: camt.053 (ISO 20022, versions .001.02 to .001.08, also camt.052) and MT940 files, single or zipped, to clean JSON, CSV, Excel (xlsx) or back to MT940 for older accounting tools. Every statement gets a balance check (opening + entries = closing). Counterparty name, IBAN, BIC, remittance text, end-to-end ID, mandate and creditor ID, bank transaction code and German ?20-?33 / Dutch /TRTP/ fields are parsed. Files are processed in memory only and never stored. Monitor mode returns only transactions not seen before.
Example request
curl -X POST https://radarbg.com/v1/bank-statement-converter \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"format": "json", "inputFormat": "auto", "onlyNew": false, "monitorId": "default"}'
Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.
Inputs
| Field | Type | Description |
|---|---|---|
fileUrl | string | Public http(s) link to a camt.053, camt.052 or MT940 file, or a .zip with several (max 10 MB, 50 files). For example a pre-signed S3/Drive link. Private and local addresses are refused. Leave empty and fill File content instead, or leave bo |
fileContent | string | The statement itself: raw XML / MT940 text, or base64 of the file (zip allowed). Max 10 MB. Processed in memory only, never stored or logged. |
fileName | string | Optional original file name, used as sourceFile in the rows and as the name of the output file (for example statement-2026-11.xml). |
format | string | json = one row per statement (balances + balance check) and one row per transaction; csv or xlsx = one row with the file as base64 (contentBase64) plus statement summaries; mt940 = camt converted to MT940 text (also base64). |
inputFormat | string | auto detects camt (XML) or MT940 by content. Set it only if detection fails. |
onlyNew | boolean | With format json: return only transactions not returned before under this Monitor ID (useful when a daily feed repeats yesterday's entries). Only one-way hashes of the transaction keys are kept, never the statement. |
monitorId | string | Name of the feed for only-new mode, for example account-de-main. Each Monitor ID keeps its own memory. |
Price
Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.