Skip to main content

Quick Start

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.

1. Create a free account & get your API key

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.

2. Make your first API call

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
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"}'
Python
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']}")
JavaScript (fetch)
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}`);
PHP
$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");

3. Read the response

The API returns a JSON object with the TPS/CTPS registration status plus phone intelligence data. Here's what a typical response looks like:

JSON Response (v2)
{
  "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
}

Response fields

FieldDescription
tpstrue if the number is on the TPS register (do not call for personal numbers)
ctpstrue if the number is on the CTPS register (do not call for corporate numbers)
validWhether the phone number is a valid UK format
line.typeLine type: mobile, landline, voip, etc.
line.original_carrierNetwork operator allocated to the number range
line.locationGeographic location (landlines only)

4. Ready for more?

Explore bulk checking, 28-day compliance monitoring, webhooks, and the full feature set.

Full API Docs Product Guide View Pricing