Mobile KYC API: does the identity match the number used?
Match the applicant's name, address, postcode and date of birth against network-held information associated with the actual UK mobile number used. Unlike an OTP, Mobile KYC checks identity-to-number alignment — with no document upload or customer redirect.
Does not affect credit files — everMobile KYC catches real identities used with the wrong number.
Fraudsters apply with genuine, stolen details and their own mobile number. Every usual check passes, because each one proves something different. Only Mobile KYC checks whether the submitted identity aligns with the network-held information associated with the actual number used.
| Check | What it actually proves | Stolen identity + fraudster's phone |
|---|---|---|
| Form validation | The details are complete and well-formed | Passes |
| Identity / credit search | The person exists at that address | Passes |
| SMS one-time passcode | Someone controls the number | Passes |
| Mobile KYC | The submitted identity matches this number | 0/5 match |
Match identity details to the actual mobile number used.
Each field is scored against the carrier's record for that exact number — including the full address and postcode. The details can pass every other check and still not belong to the number provided.
| Field | Submitted | Passes other checks? | Matches the number? |
|---|---|---|---|
| First name | Jane | Yes ✓ | 0 / 100 ✗ |
| Last name | Smith | Yes ✓ | 0 / 100 ✗ |
| Name score | Jane Smith | Yes ✓ | 0 / 100 ✗ |
| Address | 12 Park Lane, AB12 3CD | Yes ✓ | 0 / 100 ✗ |
| Date of birth | 14/03/1988 | Yes ✓ | No match ✗ |
| Account type | — | — | Prepaid · higher risk |
| Lost or stolen | — | — | No |
| Result | Details check out | Real identity | 0/5 match |
Illustrative example.
Mobile identity verification in one API call.
No document upload, no redirect and no extra customer step. Mobile KYC uses the details your journey already collects.
- ✓Uses details your journey already collects
- ✓No document upload, selfie or redirect
- ✓Each field checked individually
- ✓Lost or stolen status and account type returned
- ✓No footprint on credit files
- ✓Signed audit record on every check
Mobile KYC API request and response.
REST, JSON and synchronous. The same flow as the quickstart guide: send the request, read the response, go live.
Make your first API call
Send the mobile number with the identity details your journey already collects. No documents, no redirect.
curl -X POST "https://www.thedatasupermarket.com/api/kyc" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customerReference": "kyc-2026-000391",
"leadSourceId": "WEB_FORM_001",
"phoneNumber": "447911123456",
"firstName": "Jane",
"lastName": "Smith",
"address": "12 Park Lane",
"city": "London",
"region": "Greater London",
"postalCode": "AB12 3CD",
"dob": "1988-03-14"
}'const res = await fetch('https://www.thedatasupermarket.com/api/kyc', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({
customerReference: 'kyc-2026-000391', // unique per call
phoneNumber: '447911123456',
firstName: 'Jane', lastName: 'Smith',
address: '12 Park Lane', city: 'London',
region: 'Greater London', postalCode: 'AB12 3CD',
dob: '1988-03-14'
})
});
const data = await res.json();
const r = data.response;
console.log(r.name.nameScore, r.address.addressScore, r.dob); // judge identity field by fieldimport requests
res = requests.post(
'https://www.thedatasupermarket.com/api/kyc',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={'customerReference': 'kyc-2026-000391', 'phoneNumber': '447911123456',
'firstName': 'Jane', 'lastName': 'Smith',
'address': '12 Park Lane', 'city': 'London',
'region': 'Greater London', 'postalCode': 'AB12 3CD',
'dob': '1988-03-14'},
)
r = res.json()['response']
print(r['name']['nameScore'], r['address']['addressScore'], r['dob']) # judge identity field by fieldUnderstand the response
A successful Mobile KYC response looks like this. Here is what each field means and how to use it in your own rules.
{
"status": 0, // 0 = success ✓
"ipMatch": true, // IP on your key's whitelist ✓
"customerReference": "kyc-2026-000391",
"leadSource": "WEB_FORM_001",
"requestId": "TDS68ba77c4e02fd",
"signature": "9c0e41d7aa3f5b18e26d0c94f7b1…",
"response": {
"troubleshootingId": "b48c6082-2d18-4b4f-8aa1-4a891bb134d5",
"numberInfo": {
"carrier": "EE",
"countryCode": "GB",
"lineType": "mobile", // Not VoIP, not landline ✓
"isLostStolen": false, // Not reported lost or stolen ✓
"accountType": "postpay" // Prepaid = higher risk
},
"verified": true, // Identity verified against the number ✓
"name": {
"firstName": 100, // 100 or 0
"lastName": 100, // 100 or 0
"nameScore": 100 // 0–100. 100 = exact
},
"address": {
"addressScore": 100 // 100 or 0
},
"dob": true, // Date of birth matches ✓
"indicators": [], // No reason codes ✓
"identifiers": []
},
"audit_url": "https://www.thedatasupermarket.com/tds-verify/audit-summary/…",
"policy_version": "1.1",
"policy_hash": "abc123…",
"latency_ms": 1240
}Go live
Sandbox and production share the same headers, request body and response shape. Switch to your production endpoint and every check queries live UK carrier data with a signed audit record.
// Switch from sandbox to production
// Sandbox: https://www.thedatasupermarket.com/api/sandbox/kyc
// Production: https://www.thedatasupermarket.com/api/kyc
// Same headers, same request body, same response shapeAll 7 Mobile KYC reason codes.
When data is missing or partial, you're told why. Nothing is hidden behind a single pass or fail. See the full reason codes reference.
Two APIs. Use either — or both in one journey.
Separate calls, one account, one audit trail. Pick the check the journey needs.
Every Mobile KYC check is signed, frozen and recallable.
Each response carries a requestId, a cryptographic signature and a permanent audit_url. The audit record proves the check ran under your declared legal basis and the privacy notice in force at that moment — without exposing the result. Risk Recall retrieves the original result later using the request ID and signature.
Built for your industry.
Infrastructure pricing. One price for everyone.
We built automation, not headcount — so a startup pays exactly what a bank pays.
* Does not affect credit files. Used solely for fraud prevention and identity verification. Full pricing details + philosophy →
Mobile KYC questions, answered.
If it's not here, ask us directly — we reply within one UK business day.
Mobile KYC checks whether the name, address, postcode and date of birth submitted with an application match the carrier's own record for the mobile number provided. It checks whether the submitted identity matches the network-held information associated with the actual number used — something form checks, credit searches and SMS codes cannot.
First name, last name, address including postcode, and date of birth — each scored separately against the carrier record for that number. It also returns lost or stolen status, account type (for example prepaid or postpaid), carrier, line type and a verified indicator.
A credit or identity search confirms that a person exists at an address. Fraudsters use real, stolen identities, so those checks pass. Mobile KYC asks a different question: does that person actually hold this mobile number?
No. An OTP shows that someone can receive a code on the number. Mobile KYC checks whether the submitted identity details match network-held information associated with that actual number. A fraudster can use a number they control and still complete an OTP.
No. Mobile KYC uses the details already captured in your journey. There is no document upload, selfie or redirect.
You are told explicitly. Reason codes such as NC (name and address not available), XB (date of birth not available) and UV (unable to verify the address) are returned, and you decide how to treat them.
No. Mobile KYC is not a credit search and leaves no footprint on the customer's credit file. It does not assess affordability or creditworthiness.
They are separate APIs that answer different questions. Many teams run Trust Score on every submission and add Mobile KYC where the journey needs identity confirmation — at onboarding, account changes or higher-risk applications.
£0.45 per check, excluding VAT, at any volume. There is no contract, no minimum volume and no setup fee, and prepaid credits never expire.
Run your first Mobile KYC identity match in minutes.
No sales call, no contract. Sign up, generate a key and see a live match.
