Banking API for platforms
Your customers’ statements and transactions, right inside your platform.
You build software for accounting, property management, brokers, ERP or rentals. We deliver your customers’ bank data in one single format, via API and webhook, instead of five file formats and every bank on its own.
- Every partner is reviewed
- Servers in Germany (Nuremberg)
- You never see credentials
Available today
- Import from camt.052, camt.053, camt.054, MT940, CSV and PDF
- Sandbox with test bank
- API
- Webhooks
- MCP for AI assistants
- Export
In preparation
Connect, live bank retrieval. Join the waiting list
How it works
Three steps, and the transactions are in your software.
You don’t build the flow yourself. Consent, bank sign-in and TAN run on our side, your platform receives the result.
Create a link
One call with your customer number. You get a one-time link, valid for 30 minutes.
POST /api/v1/verbinden201 · url, gueltig_bis, endkunde_idEnd customer consents
Your customer reads what will be shared, agrees, signs in to the bank and picks the accounts. With your colour and logo if you like.
Kontodaten an Muster Buchhaltung übermittelnZustimmen und weiterData via API and webhook
You get an event as soon as new transactions arrive and fetch them in one format. Amounts in whole cents, never as decimals.
umsaetze.neuGET /konten/{id}/umsaetze
Today you run this flow in the sandbox with the test bank. With real banks it is Connect, in preparation. File import already works in live operation today. Waiting list
Muster Buchhaltung möchte über Agile Finance auf Daten Ihrer Bankkonten zugreifen. Mit Ihrer Zustimmung ruft Agile Finance folgende Daten der gewählten Konten ab:
- Kontoname, IBAN, Inhaber und Währung
- Kontostände
- Umsätze mit Betrag, Datum, Verwendungszweck und Gegenpartei
Gilt höchstens 180 Tage, jederzeit widerrufbar.
Try it yourself
This is what your customer sees.
This is the connect flow, here as a demonstration with the test bank. Tap through it and see what arrives at your platform. The flow is in German, as your end customers see it today.
Your colour
Your own colour and logo are available from Connect Business. The name Agile Finance and your contract partner always stay visible.
Arriving at your platform
POST /api/v1/verbindenOne-time link created, valid for 30 minuteseinwilligungConsent given, logged with version and timeverbindung.aktivWebhook verbindung.aktivumsaetze.neuWebhook umsaetze.neuzurueck_urlRedirect to your zurueck_url
Vorführung, es werden keine Daten übertragen.
For your developers
One call. One answer you don’t have to convert.
These are the real calls and the real fields of the API. With a sandbox key they run exactly like this. Everything for developers
curl -s https://finance.agiledeveloper.de/api/v1/verbinden \
-H "Authorization: Bearer $AF_KEY" \
-H "Content-Type: application/json" \
-d '{
"endkunde_extern_ref": "kunde-4711",
"quelle": "testbank",
"zurueck_url": "https://ihre-plattform.example/bank/fertig"
}'{
"url": "https://finance.agiledeveloper.de/verbinden/vb_8Yk2…",
"gueltig_bis": "2026-11-02T09:30:00.000Z",
"endkunde_id": "3c1f8a90-6d24-4b1e-8f37-1a2b9c0d7e65"
}Files and banks
Five file formats. One record.
The same booking looks different in every format. It always reaches you the same way. The original stays intact byte for byte, and we detect duplicate files and duplicate bookings.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.08">
<BkToCstmrStmt><Stmt>
<Acct><Id><IBAN>DE02120300000000202051</IBAN></Id></Acct>
<Ntry>
<Amt Ccy="EUR">950.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<BookgDt><Dt>2026-11-02</Dt></BookgDt>
<ValDt><Dt>2026-11-02</Dt></ValDt>
<NtryDtls><TxDtls>
<RltdPties>
<Dbtr><Nm>Erika Muster</Nm></Dbtr>
<DbtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></DbtrAcct>
</RltdPties>
<RmtInf><Ustrd>Miete 11/2026</Ustrd></RmtInf>
</TxDtls></NtryDtls>
</Ntry>
</Stmt></BkToCstmrStmt>
</Document>{
"buchung": "2026-11-02",
"wertstellung": "2026-11-02",
"betrag_cent": 95000,
"waehrung": "EUR",
"verwendungszweck": "Miete 11/2026",
"gegen_name": "Erika Muster",
"gegen_iban": "DE89370400440532013000"
}We store PDFs as originals and never guess their content. For readable transactions use camt, MT940 or CSV. And back: export as camt.053, MT940, CSV and PDF.
Who it is for
For platforms whose customers have bank accounts.
verwendungszweckbetrag_centcamt.053gegen_ibanwiederkehrendumsaetze.neugegen_namebuchungkategorieend_to_endmandat_refglaeubiger_idverwendungszweckgegen_ibanwertstellungApproval
Every partner is reviewed.
This is about bank data, so nobody simply walks in. Before approval there are no keys and no sandbox. A person looks at every application, and whoever does not fit does not get access.
For you this means: you work in an environment where every other partner has passed the same review.
- CompanyName, legal form, address, register, planned use
- Authorised representativeIdentity check with ID document and selfie, the images do not stay with us
- Proof of businessTrade registration or commercial register extract, stored encrypted
- Onboarding fee€149 net (€177.31 gross)
- Review and decisionBy our team, with questions where something is open
Pricing
Base fee plus accounts. Nothing else.
Every live account counts once per calendar month. The sandbox never counts. Compare all plans
- Base fee
- €49
- 25 of 25 accounts included
- €0
- 0 further accounts at €0.90 each
- €0
Plus a one-time €149 net (€177.31 gross) for identity check and approval.
Request accessQuestions
What platforms want to know first.
What can I use today?
After approval: import of camt.052, camt.053, camt.054, MT940, CSV and PDF, the sandbox with test bank, the API, webhooks, MCP access for AI assistants and export. Live bank retrieval (Connect) is in preparation and on the waiting list.
What does it cost to get started?
A one-time €149 net (€177.31 gross) for identity check and approval. After that the sandbox is free and unlimited with test data. Live accounts start with the Import plan.
Do we see our customers’ bank PIN?
No. Entry happens on our page, you never get to see credentials, not in the API, not in webhooks, not in logs.
Do I get the bank’s original PDF via Connect?
Retrieval over the PSD2 interface delivers transactions and balances, not the bank’s original PDF. “Statement” there means the transactions. You can always generate your own PDF from them, clearly marked as “not a bank document”.
How long does consent last?
At most 180 days. We send webhooks 14, 7 and 1 day before expiry so you can send your customers a new link in time. The end customer can withdraw at any time, and we then delete credentials immediately.
Can we be rejected?
Yes. There is no entitlement to access. We decide per partner and tell you if something is missing.
Request your access.
A one-time €149 net (€177.31 gross) for review and approval. After that you test in the sandbox for free and without limits.