Your own bank data, one API call away.
Regulated, read-only access to your own bank accounts in five markets, sold to one person rather than a fintech. Connect once, create a scoped key, get JSON.
- read-only · regulated
- 5 markets
- from US$7/mo
$curl https://api.banksync.io/v1/banks \ -H "X-API-Key: bsk_live_…" { "success": true, "data": [ { "id": "bnk_cba", "name": "CommBank", "source": "fiskil", "connectionStatus": { "connected": true } }, { "id": "bnk_monzo", "name": "Monzo", "source": "saltedge", "connectionStatus": { "connected": true } }, { "id": "bnk_chase", "name": "Chase", "source": "plaid", "connectionStatus": { "connected": true } } ]}200 OK · 3 rows · 96 ms
One key, five markets
- Australia
An open banking API for your own bank accounts.
Transactions and balances · up to 7 years of history · CDR
Open banking API in Australia → - United Kingdom
Read your own UK bank accounts over an API.
Transactions and balances · up to 60 days of history · OBIE
Open banking API in United Kingdom → - Europe
One PSD2 API for banks across the EEA. For individuals too.
Transactions and balances · up to 60 days of history · PSD2
Open banking API in Europe → - United States
A bank API for your own accounts.
Transactions, balances, investment holdings, investment trades, and loan balances · up to 2 years of history · §1033
Bank API in United States → - Canada
Your Canadian bank data, one API call away.
Transactions, balances, investment holdings, investment trades, and loan balances · up to 2 years of history · CDB
Open banking API in Canada →
The facts, market by market
| Market | Data | History | Consent |
|---|---|---|---|
| Australia | Transactions and balances | Up to 7 years | Up to 12 months |
| United Kingdom | Transactions and balances | Up to 60 days | 180 days |
| Europe | Transactions and balances | Up to 60 days | 180 days |
| United States | Transactions, balances, investment holdings, investment trades, and loan balances | Up to 2 years | Does not expire |
| Canada | Transactions, balances, investment holdings, investment trades, and loan balances | Up to 2 years | Does not expire |
Call it your way
$curl -s "https://api.banksync.io/v1/banks" \ -H "X-API-Key: bsk_live_…" \ | jq '.data[] | {id, name}'
import osimport requests r = requests.get( "https://api.banksync.io/v1/banks", headers={"X-API-Key": os.environ["BANKSYNC_API_KEY"]},)r.raise_for_status()for row in r.json()["data"]: print(row["id"], row["name"])
const res = await fetch('https://api.banksync.io/v1/banks', { headers: { 'X-API-Key': process.env.BANKSYNC_API_KEY },})if (!res.ok) throw new Error(`BankSync API ${res.status}`)const { data } = await res.json()console.table(data)
you ›What did I spend on groceries last month, across all my banks?mcpget_transactions({ bankId: "bnk_chase", accountId: "acc_8812", from: "2026-09-01" })agent ›$612.40 across 17 transactions in 3 accounts; Trader Joe’s was the largest. — same key, same data, in Claude, ChatGPT or Cursor —
Every endpoint
| Method | Endpoint | Description | Scope |
|---|---|---|---|
| GET | /v1/banks | List connected bank institutions | banks:read |
| GET | /v1/banks/:bankId/accounts | List accounts for a bank | banks:read |
| GET | /v1/banks/:bankId/accounts/:accountId/transactions | Query transactions with filters | banks:read |
| GET | /v1/banks/:bankId/accounts/:accountId/balances | Get the latest available balance | banks:read |
| GET | /v1/banks/:bankId/accounts/:accountId/holdings | Get current investment holdings | banks:read |
| GET | /v1/banks/:bankId/accounts/:accountId/loan | Get loan or liability details | banks:read |
| GET | /v1/feeds | List sync feeds | feeds:read |
| POST | /v1/feeds | Create a new sync feed | feeds:write |
| POST | /v1/feeds/:feedId/sync | Trigger a sync run | feeds:write |
| GET | /v1/feeds/:feedId/jobs | List sync jobs & history for a feed | jobs:read |
| GET | /v1/enrichments | List enrichments in workspace | enrichments:read |
| GET | /v1/enrichments/:enrichmentId | Get enrichment details & config | enrichments:read |
| POST | /v1/enrichments | Create any of the 16 enrichment types | enrichments:write |
| PUT | /v1/enrichments/:enrichmentId | Update enrichment config | enrichments:write |
| DELETE | /v1/enrichments/:enrichmentId | Delete an enrichment | enrichments:write |
| POST | /v1/feeds/:feedId/enrich/preview | Dry-run the enrichment pipeline on sample records | enrichments:read |
API access from $7/mo
Standard includes 5 bank connections, 10 API requests a minute and the MCP server. Every plan starts with a 14-day free trial. Prices shown in USD.
Frequently asked questions
Can I use this for my own accounts?
Yes, that is the point. BankSync sells API access to individuals: sign up, connect your own accounts through your bank’s consent screen, and create a key. No company, no licence, no contract and no sales call.
Which countries does it work in?
Australia (Consumer Data Right), the United Kingdom (Open Banking), most EU and EEA countries (PSD2; the smaller markets are still on a waitlist), the United States and Canada. One key reads every bank you connect, whichever market it is in; each market page lists what that market returns.
Why can’t I just get an API key from an open banking provider?
Most open banking providers sell to businesses: they need a registered company, a compliance review and a contract before issuing production keys, and some markets require a licence too. BankSync holds those relationships and sells the read side to one person, for a monthly plan.
Do I need a licence, an ABN or a registered business?
No. The regulated part, receiving the data from your bank, is held by BankSync and its licensed providers. You consent at your bank and read your own data with your key.
How long does bank consent last?
It depends on the market: Australia up to 12 months; United Kingdom 180 days; Europe 180 days; United States does not expire; Canada does not expire. When a consent ends you approve again at your bank; each market page shows its own figure.
Is the API read-only?
Yes. The connection your bank grants is read-only: BankSync can read account data, and it cannot move money, make payments or change anything at your bank. Your API key reads the same data, scoped to the permissions you give it.
How much does API access cost?
API access starts on Standard at US$7/mo: up to 5 bank connections, 10 API requests a minute and the MCP server. Professional and Business raise the limits. Every plan starts with a 14-day free trial; prices are in USD.
Make your first call tonight
Connect your bank, create a scoped key, and read your own data as JSON.