UK Sort Code & Bank Account Validator avatar

UK Sort Code & Bank Account Validator

Pricing

$1.00 / 1,000 account checkeds

Go to Apify Store
UK Sort Code & Bank Account Validator

UK Sort Code & Bank Account Validator

Validate UK sort code and account number pairs with the official Vocalink (Pay.UK) modulus checking rules, including all exceptions, before you set up Direct Debits, payouts or Faster Payments.

Pricing

$1.00 / 1,000 account checkeds

Rating

0.0

(0)

Developer

Luke Mangan

Luke Mangan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

UK Bank Account Validator

UK Bank Account Validator is a bulk UK sort code and account number checker: it runs the official Vocalink (Pay.UK) modulus checking rules, including all exceptions, so you can catch mistyped bank details before Direct Debits, payouts or Faster Payments.

Best for: Direct Debit and payout onboarding, payroll and supplier payment files, CRM and billing data cleansing.

How to validate UK sort codes and account numbers

  1. Add accounts to Accounts: "08-99-99 66374958" or {"sortCode": "200915", "accountNumber": "41011166"}.
  2. Click Start.
  3. Filter on valid and read reason for any failures.

How it works

Downloads the latest Vocalink valacdos.txt and scsubtab.txt rules each run, with a bundled copy as fallback. It implements MOD10, MOD11 and DBLAL plus exceptions 1-14, and passes all of Vocalink's published test cases. 6- and 7-digit account numbers are zero-padded; 9/10-digit formats are not supported yet.

Output

sortCode, accountNumber, valid, modulusChecked, methods, exceptions, reason, tableSource

Pricing (pay-per-event)

  • account-checked: $0.001 per result ($1 / 1,000). Platform usage is included; you pay only for results.
  • Example: 10,000 accounts cost $10.00.

Example input

{
"accounts": [
"08-99-99 66374958",
{
"sortCode": "200915",
"accountNumber": "41011166"
}
]
}

Example output

Real output for 08-99-99 66374958 (a run on 15 Oct 2026). Failed or unchecked accounts also include a reason, e.g. when a foreign currency account cannot be modulus-checked.

{
"input": {
"sortCode": "08-99-99",
"accountNumber": "66374958"
},
"sortCode": "08-99-99",
"accountNumber": "66374958",
"methods": [
"MOD10"
],
"exceptions": [],
"valid": true,
"modulusChecked": true,
"tableSource": "live"
}

Use it via API, schedules and integrations

Run it in Apify Console, or call it from your own code with the Apify API or the Python and JavaScript clients. Save an input as a task and add a schedule to run it regularly, and send results to Slack, email, webhooks, Zapier, Make or n8n with Apify integrations. AI agents can find and run it through the Apify MCP server.

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("sterlingverify/uk-sortcode-checker").call(run_input={"accounts": ["08-99-99 66374958"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

FAQ

Does a pass mean the account exists?

No. A modulus pass means the number is well-formed, not that the account exists, is open or belongs to the payee. Use Confirmation of Payee for that.

Which account number formats are supported?

8-digit numbers, with 6- and 7-digit numbers zero-padded. 9- and 10-digit formats are not supported yet.

Disclaimer

A modulus pass means the number is well-formed, not that the account exists, is open, or belongs to the payee; use Confirmation of Payee for that. Sort codes absent from the table can't be checked and are returned as valid, per Vocalink guidance. Uses Vocalink's publicly published modulus checking data; not affiliated with Vocalink or Pay.UK. No bank-name lookup (the EISCD is not public).

Part of the sterlingVerify UK payments, KYB and data toolkit on Apify Store: