Docs
Sample files for testing — entirely synthetic data (fabricated names, test-range IBANs, fabricated amounts).
Sample files
- Download
sample-mt940.sta
MT940 — same synthetic statement
- Download
sample-camt053.xml
CAMT.053 — same synthetic statement
Developer API
Convert files programmatically over HTTPS. Create a free sandbox key from your dashboard, then call the same endpoint the website uses:
curl https://mt2camt.com/api/v1/convert -H "Authorization: Bearer mt2camt_test_..." -F "file=@sample-mt940.sta" -F "source_format=auto" -F "target_format=csv" -F "export_template=generic" -F "delimiter=comma"
Parameters
| Field | Type | Default | Notes |
|---|---|---|---|
| file | file | — | MT940, CAMT.053 or CSV, up to 10MB |
| source_format | string | auto | auto | mt940 | camt053 | csv |
| target_format | string | csv | csv | xlsx | mt940 | camt053 |
| export_template | string | generic | generic | quickbooks | xero | exact_online |
| delimiter | string | comma | comma | semicolon |
Response example
{
"conversion_id": "606b390bf71547ce8627b33fe7e3ac53",
"download_url": "https://mt2camt.com/dl/89853f21d1c94230896c2b81567bf2acb",
"expires_at": "2026-09-07T21:00:00+00:00",
"detected_format": "mt940",
"transaction_count": 14,
"statements": [ { "index": 1, "account_iban": "NL02RABO0123456789", "...": "..." } ],
"preview_rows": [ { "value_date": "2026-01-05", "description": "Salary January 2026", "...": "..." } ],
"warnings": [],
"target_format": "csv",
"export_template": "generic"
}Error codes
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_format / parse_failed | File not recognised or not parseable |
| 400 | template_unvalidated | Layout not yet enabled (e.g. Exact Online) |
| 401 | invalid_api_key | Missing, invalid or revoked key |
| 402 | api_tier_required / pro_required | Plan does not cover this feature |
| 410 | session_expired | In-session re-export window (5 min) elapsed |
| 413 | file_too_large | Exceeds 10MB / 10k transactions |
| 429 | rate_limit_exceeded | See rate limits below |
Rate limits
- Sandbox keys: 120 requests / minute
- Live keys: 60 requests / minute
- Free web (no key): 5 conversions / 24h
Sandbox keys are for sample data only. They are free and never billed, but they can only convert the bundled sample data via POST /api/v1/convert/demo — real statement files are refused (this would otherwise be an unbilled bypass). Real conversions need a live key on the API or Accounting Firm plan, where usage counts toward your monthly included amount and overage is charged automatically.
OpenAPI specification
The full machine-readable spec is served at https://mt2camt.com/api/v1/openapi.json (also at /openapi.json) — import it into Postman, Insomnia or your favourite client to generate calls.