A single endpoint for all South African bank data.
REST API. JSON responses. Versioned and backward-compatible.
Base URL
https://api.banklink.co.za/v1
Authentication
Authorization header
Authorization: Bearer <your-api-key>
API keys are scoped to your organisation and can be rotated from the dashboard at any time.
Interactive reference
Open the full API reference
Every endpoint, schema, and error — with a live "try it" console. Generated from our OpenAPI spec.
Endpoints
GET/accounts
GET/accounts/{id}
GET/accounts/{id}/transactions
GET/accounts/{id}/balance
POST/accounts/{id}/sync
POST/link
POST/sandbox/reset
SDKs
Example request
curl https://api.banklink.co.za/v1/accounts \
-H "Authorization: Bearer sk_live_..."
Sandbox
Create a test key (prefix sk_test_) in the dashboard — no accreditation required. It works against every endpoint on the same base URL, returns a synthetic dataset, never touches a real bank, and is never billed.
- GET /accounts returns two seeded accounts with ~90 days of transactions.
- POST /accounts/{id}/sync appends 1–3 new synthetic transactions.
- POST /link — a credential value of "fail" forces a credential error; anything else links a new synthetic account.
- POST /sandbox/reset wipes and re-seeds your sandbox.