Your First TPS Check in 2 Minutes. Sign up, grab your API key, and verify a UK phone number against TPS and CTPS registers. Three steps, no credit card required.
Sign up for free — you get 50 TPS checks per month, no credit card required. Once signed in, go to API Keys and click Create New Key. Copy the key — you'll need it in the next step.
Send a POST request to https://api.tpscheck.uk/check with your API key in the Authorization header and a UK phone number in the request body.
curl -X POST "https://api.tpscheck.uk/check?version=2" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "07700 900123"}'
import requests
response = requests.post(
"https://api.tpscheck.uk/check?version=2",
headers={
"Authorization": "Token YOUR_API_KEY",
"Content-Type": "application/json",
},
json={"phone": "07700 900123"},
)
data = response.json()
print(f"TPS: {data['tps']} CTPS: {data['ctps']}")
const response = await fetch("https://api.tpscheck.uk/check?version=2", {
method: "POST",
headers: {
"Authorization": "Token YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ phone: "07700 900123" }),
});
const data = await response.json();
console.log(`TPS: ${data.tps} CTPS: ${data.ctps}`);
$ch = curl_init("https://api.tpscheck.uk/check?version=2");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Token YOUR_API_KEY",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode(["phone" => "07700 900123"]),
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo "TPS: " . ($data["tps"] ? "true" : "false");
The API returns a JSON object with the TPS/CTPS registration status plus phone intelligence data. Here's what a typical response looks like:
{
"input": "07700 900123",
"e164": "+447700900123",
"valid": true,
"line": {
"type": "mobile",
"original_carrier": "Vodafone UK",
"location": null,
"country": "England",
"prefix": "07700"
},
"reachability": {
"status": "unknown",
"confidence": "medium"
},
"tps": false,
"ctps": false
}
| Field | Description |
|---|---|
tps | true if the number is on the TPS register (do not call for personal numbers) |
ctps | true if the number is on the CTPS register (do not call for corporate numbers) |
valid | Whether the phone number is a valid UK format |
line.type | Line type: mobile, landline, voip, etc. |
line.original_carrier | Network operator allocated to the number range |
line.location | Geographic location (landlines only) |
Explore bulk checking, 28-day compliance monitoring, webhooks, and the full feature set.