Live production API

Modulus check
live demo

Try real-time UK bank account validation - enter a sort code and account number and see the live API response.

  • Live modulus check
  • Branch details returned
  • JSON response + code samples

Test modulus checking in real time

Enter a UK sort code and account number to see instant validation results from our live API.

Test data

Sort code: 000000
Account number: 00110022

Real API

This demo hits our production modulus checking endpoint

Validation request

6 digits (with or without hyphens)
8 digits

API Endpoint

GET https://wsp.esortcode.com/uk/v1/validateaccount

Parameters: key, sortcode, accountNumber

API Response

Enter sort code and account number to see results

Integration Examples

curl -X GET "https://wsp.esortcode.com/uk/v1/validateaccount?key=YOUR_API_KEY&sortcode=822220&accountNumber=00110022"
const sortcode = '822220';
const accountNumber = '00110022';
const apiKey = 'YOUR_API_KEY';

const url = `https://wsp.esortcode.com/uk/v1/validateaccount?key=${apiKey}&sortcode=${sortcode}&accountNumber=${accountNumber}`;

fetch(url)
  .then(response => response.json())
  .then(data => {
    console.log('Valid:', data.modulusCheck.valid);
    console.log('Bank:', data.branches[0].bankName);
  })
  .catch(error => console.error('Error:', error));
import requests

sortcode = '822220'
account_number = '00110022'
api_key = 'YOUR_API_KEY'

url = f'https://wsp.esortcode.com/uk/v1/validateaccount'
params = {
    'key': api_key,
    'sortcode': sortcode,
    'accountNumber': account_number
}

response = requests.get(url, params=params)
data = response.json()

print(f"Valid: {data['modulusCheck']['valid']}")
print(f"Bank: {data['branches'][0]['bankName']}")
<?php
$sortcode = '822220';
$accountNumber = '00110022';
$apiKey = 'YOUR_API_KEY';

$url = "https://wsp.esortcode.com/uk/v1/validateaccount?key=$apiKey&sortcode=$sortcode&accountNumber=$accountNumber";

$response = file_get_contents($url);
$data = json_decode($response, true);

echo "Valid: " . ($data['modulusCheck']['valid'] ? 'Yes' : 'No') . "\n";
echo "Bank: " . $data['branches'][0]['bankName'];
?>
Enterprise SLA

Need a 100% uptime guarantee?

Mission-critical apps need enterprise-grade reliability

100% uptime

Financial penalties for downtime

Duplicated infra

Separate from standard service

15-min response

24/7 priority support

Account manager

Personal point of contact

Flat rate add-on
£99
+ VAT per month

Add to any monthly subscription · Modulus & CoP (our infrastructure) · EISCD not included

Explore Enterprise SLA

Ready to integrate?

Get your API key and start validating bank accounts in minutes