How to check a bank account balance in South Africa

Checking your bank account balance in South Africa has never had more options — from USSD codes that work on any phone without data, to mobile apps, internet banking, ATMs, and fully automated programmatic feeds for businesses. Which method you use depends on your context: personal or business, one-off or ongoing, consumer or developer.

This guide covers every method, with the relevant codes and links for each major SA bank.

USSD codes (no data required)

USSD banking works over the mobile network using short codes — it does not require a smartphone or internet connection, which makes it the most accessible option for balance checks.

Dial the code, follow the prompts, and enter your PIN. Balance information is displayed on screen within seconds.

BankUSSD code
FNB120321#
Standard Bank1202345#
ABSA1202272#
Nedbank120001#
Capitec1203279#
African Bank120225#
TymeBank120543#

USSD is especially useful in areas with poor data connectivity and for feature phones. The session is encrypted at the network level and does not require installing anything.

Internet banking

Every major SA bank offers a web-based internet banking portal accessible from any browser.

Log in with your username and password (plus a one-time PIN or push notification for most banks), and your account summary — including available balance and ledger balance — is shown on the main dashboard.

What the two balance figures mean:

  • Available balance — what you can actually spend right now, after accounting for pending debit orders and holds. This is the number that matters for day-to-day decisions.
  • Ledger balance — the formal accounting balance, before pending items clear. May be higher than available balance if outgoing payments are pending.

Mobile banking apps

All major SA banks have dedicated apps for iOS and Android. Most apps support a quick balance feature that shows your balance without requiring a full login — typically a face ID or fingerprint tap.

BankQuick balance feature
FNBYes — on home screen widget
Standard BankYes — swipe on lock screen
ABSAYes — widget and app preview
CapitecYes — tap on home screen
NedbankYes — on app home screen

For regular personal balance checks, the mobile app is usually the fastest option if you have a smartphone and data.

ATMs

Every SA bank ATM shows your balance after card insertion and PIN entry. Many ATMs also offer a balance enquiry option that displays your balance without dispensing cash — useful if ATMs are nearby but internet connectivity is not.

Some banks charge a small fee for balance enquiries at other banks' ATMs.

Email and SMS notifications

Most SA banks let you set up automatic alerts when your balance drops below a threshold or when a transaction above a certain amount is processed. This is not a balance check — it is a balance monitor.

Setting up low-balance alerts means you do not need to actively check; the bank contacts you when something relevant happens.

Programmatic balance checks for businesses

For businesses that need account balance data inside their own software — dashboards, cash flow reports, lending decisions, automated workflows — all of the above methods fall short. They require a human to look at a screen and manually transfer the number somewhere else.

The programmatic approach uses an intermediary like BankLink to pull balance data on a schedule and deliver it in a structured format:

{
  "account_number": "62012345678",
  "bank": "fnb",
  "synced_at": "2026-06-10T07:00:00Z",
  "balance": {
    "available": 48320.00,
    "ledger": 51200.00,
    "currency": "ZAR"
  }
}

This arrives via webhook or is queryable via API — no login, no screen, no manual step.

Use cases where programmatic balances matter:

Cash flow dashboards — a business owner viewing a live balance across multiple accounts without logging into three separate internet banking portals.

Lender affordability checks — a lender confirming an applicant's average balance over the past 90 days without requesting bank statements by email.

Low-balance automated alerts — your system triggers a warning or workflow when a monitored account drops below R10,000, faster and more reliably than setting up alerts per-bank.

Payment confirmation — confirming that a client payment has arrived before releasing an order or starting a project.

The difference between available and real-time balance

SA bank balance data delivered via a scheduled sync is not real-time — it is as fresh as the last sync. A Pulse running every few hours gives you a balance that is current to within a few hours.

For most business use cases — daily cash flow reporting, end-of-day reconciliation, weekly affordability checks — this is more than sufficient. If you need true real-time balance confirmation (e.g., for high-value transaction release), trigger a manual sync via the BankLink API immediately before making the decision.

Always display the synced_at timestamp alongside any balance figure in your UI so users know how fresh the data is.

Getting started

BankLink supports FNB balance and transaction data today, with more banks being added. Link an account, set up a Pulse, and your balance data starts flowing — no manual check required.

Monitor balances automatically → app.banklink.co.za