High-Volume UK Bank Account Validation API: Check 50,000+ Accounts a Month
Read time: 7 minsLast updated: 16 July 2026
Author: Stephen Hughes, Founder of Mintly
If your business processes tens of thousands of UK payments a month, validating bank details at scale isn't a nice-to-have - it's the difference between clean payment runs and a steady stream of failed transactions, indemnity claims and support tickets. A single wrong digit in a sort code or account number can bounce a payment, delay a payroll run, or send money to the wrong place.
This guide is for teams that need to validate high volumes - think 50,000 checks a month or more - and want to integrate validation directly into their own systems via an API. We cover how a high-volume bank account validation API works, what to look for, how the economics stack up against building in-house, and how to get integrated quickly.
What a bank account validation API actually checks
In the UK, validating bank details programmatically means two complementary checks against authoritative data:
- Sort code validation - confirming the six-digit sort code exists in the Extended Industry Sort Code Directory (EISCD) and returning the bank, branch and the payment schemes it supports (Bacs, CHAPS, Faster Payments, Direct Debit).
- Modulus checking - applying the official mathematical algorithms to confirm that a sort code and account number combination is structurally valid before you ever attempt a payment.
The modulus checking rules and the sort code data behind them are maintained by Pay.UK and VocaLink (a Mastercard company) and are updated regularly. That maintenance burden is one of the strongest arguments for using an API rather than owning the logic yourself - more on that below.

What matters when you're validating at scale
At a few hundred checks a month, almost any tool will do. At 50,000+ a month, a handful of characteristics separate a solution that quietly works from one that becomes a liability:
- Latency. If you're validating inside a sign-up form or checkout, every millisecond counts. Mintly returns a result in under 50ms on average, so validation is invisible to your users.
- Predictable, volume-based pricing. Look for per-check pricing that falls as volume rises, with no setup fees or credit top-ups to manage. Mintly's pricing starts from 0.8p per check, with a dedicated Enterprise tier for teams above 25,000-50,000 checks a month.
- Authoritative, current data. Your provider should validate against official sources - the EISCD for sort codes and the Pay.UK/VocaLink modulus rules - and keep them up to date so you don't have to.
- Both API and bulk options. Real-time API calls for customer-facing flows, plus bulk CSV upload for scheduled payment runs and data-cleansing.
- Security and compliance. Bank details are sensitive personal data under UK GDPR. Choose a provider with recognised credentials - Mintly is Cyber Essentials certified, a Crown Commercial Service G-Cloud supplier, and a VocaLink/Mastercard-authorised distributor of the Extended ISCD.
Integrating the API
Mintly's Bank Account Checker API is a straightforward REST API. You authenticate with an API key passed in the x-api-key header, then make a single GET request per validation. Here's a complete example that validates a sort code and account number:
curl https://api.mintly.uk/bankAccount/v1/sortcode/424242/account/42424242 \
-H "x-api-key: YOUR_API_KEY"A valid combination returns the branch data and status:
{
"BranchData": {
"Info": {
"SortCode": "424242",
"ShortOwningBank": "Example Bank",
"BranchName": "London",
"ShortBranchTitle": "London",
...
},
"PaymentTypes": {
"DirectDebitAccepted": true,
"DirectCreditAccepted": true,
"FasterPaymentAccepted": true,
...
}
},
"DerivedIban": "GB00EXAM42424242424242",
"Status": "Valid",
...
}Because it's a plain REST call, you can wire it into any stack. We maintain step-by-step integration guides for the most common ones:
- Python integration guide
- C#/.NET integration guide
- Node.js integration guide
- Salesforce integration guide
Prefer no-code? You can also connect Mintly through Zapier or Power Automate, or explore the full API documentation.
API vs bulk CSV: pick the right mode for the job
High-volume teams rarely need just one mode. A typical setup uses the API for real-time, customer-facing validation and bulk CSV for scheduled back-office runs:
| REST API | Bulk CSV upload | |
|---|---|---|
| Best for | Sign-up, checkout and onboarding flows | Payroll, supplier payment runs, data cleansing |
| How it works | One request per validation, live result | Upload a file, download enriched results |
| Integration effort | Developer integration (guides above) | No code - use the secure portal |
Build vs buy: the real cost of doing it yourself
Teams with strong engineering functions often ask whether they should just implement modulus checking themselves. It's technically achievable - the algorithms are published - but the total cost of ownership is easy to underestimate:
- The data isn't free or static. Modulus rules and the EISCD are maintained by Pay.UK/VocaLink and change regularly. You'd need to license the sort code data and build a process to ingest updates.
- Correctness is subtle. There are multiple algorithm types (including double-alternate and exception rules) with per-sort-code weighting tables. Small mistakes lead to false rejections or, worse, false acceptances.
- It's ongoing, not one-off. Every rule change is a maintenance ticket your team owns forever.
At 50,000 checks a month, a validation API from 0.8p per check costs a fraction of the engineering time needed to build and maintain an equivalent in-house system - and it stays correct automatically. For a fuller treatment, see our guide to automated bank account checking and why finance teams use bank validation APIs.
A note on Confirmation of Payee
Modulus checking answers "is this a structurally valid account?" It does not confirm the account holder's name - that's a separate service called Confirmation of Payee (CoP). Many teams run modulus checking first as a fast, low-cost filter to catch typos and invalid details, then apply name verification through a CoP provider where it's needed. Mintly provides the modulus checking and sort code validation layer; if you also need name matching, we're happy to point you to CoP options.
Get started
If you're validating tens of thousands of accounts a month, the fastest way to scope the right plan is to tell us your volumes. Our Enterprise tier is built for 50,000+ checks a month with volume pricing and an SLA. You can also start a free trial to test the API against your own data first.
Frequently Asked Questions
Can I validate 50,000 bank accounts a month with the API?
Can I validate 50,000 bank accounts a month with the API?
Yes. Mintly's bank account validation API is built for high-volume use. Our Enterprise plan is designed for teams checking 50,000 accounts a month or more, with volume pricing from 0.8p per check and no per-request top-ups. Get in touch for a tailored quote.
How fast is the bank account validation API?
How fast is the bank account validation API?
Mintly returns a validation result in under 50ms on average, so you can validate account details in real time inside sign-up forms, checkout flows and payment runs without adding noticeable latency.
Do you support bulk or batch validation as well as the API?
Do you support bulk or batch validation as well as the API?
Yes. Alongside the REST API you can upload a CSV of sort codes and account numbers through the secure Mintly portal and download an enriched file with validation results and branch data. This suits scheduled payment runs and one-off data-cleansing projects where a full API integration isn't needed.
Is there a rate limit on the API?
Is there a rate limit on the API?
Plans include a generous request allowance and the API auto-scales to handle bursts. If you expect sustained high throughput or need a specific concurrency guarantee, our Enterprise plan includes an SLA - talk to us about your peak volumes.
Should we build modulus checking in-house instead?
Should we build modulus checking in-house instead?
You can, but the modulus checking rules and the underlying sort code data (the EISCD) are maintained by Pay.UK and VocaLink and change regularly. An in-house implementation needs continual updates to stay accurate, plus a licence for the sort code data. A validation API keeps the rules and data current for you, so your team ships once and stays correct.