HLR Phone Verification API
Confirm a number is a real mobile and see the network actually serving it now, not just that the number is correctly formatted.
What it checks
An HLR (Home Location Register) lookup queries the live mobile network a number belongs to. Unlike format validation, which only checks the shape of a number, an HLR check talks to the network in real time. On every call it confirms the number is a mobile and tells you which network actually serves it now and which network it was ported from. Where the destination country supports it, the lookup also returns whether the handset is reachable right now: live, dead or out of network. You choose the response shape in the request: an easy summary with clean mapped booleans and labels you can act on immediately, or the full standard HLR response with the raw status codes for you to interpret. It's the same underlying data either way.
What it returns
- Confirmed mobile , confirmation that the number is a mobile MSISDN on a real network, returned on every call
- Current network , the network serving the number right now, after any porting, returned on every call
- Previous (ported-from) network , the network the number was originally allocated to or ported away from, with country and dialling prefix, returned on every call
- Reachability status (country-dependent) , live, dead or out-of-network status where the destination country supports it. This is not available everywhere. Ask us for the supported-country list
- Ported flag , whether the number has moved operator since it was allocated
- IMSI and MCC / MNC , subscriber identity and the mobile country/network codes identifying the serving network, where the network returns them
Ask us for the supported-country list: support@provero.io
When to use it
- Before an outbound dial or SMS campaign, to strip numbers that aren't live mobiles so you stop paying to contact dead lines.
- At point of capture on a form or checkout, to confirm a mobile is real and identify the serving network before you rely on it for OTP, delivery updates or follow-up.
- Cleaning an ageing contact list, where numbers may have been disconnected, recycled or ported since you collected them.
- Before sending OTP / 2FA codes, to avoid burning SMS spend on numbers that can't receive them.
- When you need to know a number's current and previous serving network, returned on every call after any porting.
- In a KYC context, to confirm a number is live and identify its network before running a telephone KYC check.
- To surface absent-subscriber and out-of-network states that can slip past basic phone checks. HLR reports the network state; you decide how to weigh it as a risk signal, it isn't a fraud verdict on its own.
- For fraud screening, where roaming detection helps you see whether a subscriber is roaming. Roaming is not part of the standard response; it is an opt-in capability you apply for on a per-account basis for fraud use cases, not something enabled by default.
When not to use it
- As an identity or fraud check on its own. HLR confirms a number's network provenance, not who is holding the handset. Pair it with IP fraud, breach and name checks for that.
- As a substitute for format validation when you only need to reject obviously malformed input. Run the free Phone Format Validation first, then HLR only the numbers worth the spend.
- As your only lever for SMS deliverability. HLR filters out invalid and unreachable numbers, but real-time factors like a live handset sitting in poor coverage can still affect final delivery.
- For landlines. HLR is a mobile-network lookup; use TPS/CTPS screening and format checks for fixed lines.
- In countries where live status isn't supported. Live/dead reachability is country-dependent; for unsupported countries you still get mobile confirmation and network, but not a live/dead result. Contact us for the supported-country list.
- As a consent or do-not-call check. HLR tells you a number is live, not that you're permitted to contact it, use TPS/CTPS screening for that.
How to read the result
An HLR response is about network provenance and, where the country supports it, reachability. Read it alongside what you intend to do with the number.
- Mobile confirmed, on its original network
- The cleanest result. The number is a mobile and hasn't moved operator. Use the current-network value for routing or pricing.
- Mobile confirmed, ported
- Fine to contact. The number simply moved operator; use the current-network value if your routing or pricing depends on the carrier, and the previous-network value for provenance.
- Live / dead / out-of-network
- Where the country supports reachability, this tells you whether the handset is reachable right now. Suppress dead and out-of-network numbers from time-sensitive campaigns; re-check later or remove.
- Reachability not returned
- For countries outside the supported-coverage list, you still get the mobile confirmation and network provenance, but not a live/dead status. Ask us for the supported-country list to see where reachability is available.
Pricing
from £0.0042 per request, down to £0.0023 at volume
| Requests / month | Rate |
|---|---|
| 0 – 5,000 | £0.0042 |
| 5,001 – 10,000 | £0.0039 |
| 10,001 – 25,000 | £0.0036 |
| 25,001 – 50,000 | £0.0034 |
| 50,001 – 100,000 | £0.00315 |
| 100,001 – 200,000 | £0.0029 |
| 200,001 – 300,000 | £0.0026 |
| 300,001+ | £0.0023 |
Prepaid balance, spent across any check. Each request is charged at the rate for the volume band reached, and earlier requests keep their lower rate. See full pricing.
Need custom pricing? pricing@provero.io
API & bulk usage
Run HLR Phone Verification as a real-time API call at the point of capture, or upload a list for bulk cleaning before a campaign. Choose your response shape in the request: the easy summary returns clean mapped booleans and labels (live/dead/out-of-network where supported, plus current and previous network) you can act on immediately, while the full standard HLR response returns the raw status codes for you to interpret. It's the same underlying data either way. Roaming detection is not part of the standard response: it is an optional, application-gated add-on for fraud-screening use cases and must be applied for. You can call HLR on its own, or combine it with other checks in a single request and get every signal back in one response.
Read the API reference →Request
{
"phone": {
"phone": "447700900123",
"route": "standard"
}
} Response
{
"phone": {
"results": [
{
"to": "+447700900123",
"status": "Live",
"live": true,
"dead": false,
"outOfNetwork": false,
"currentNetwork": "EE",
"originalNetwork": "EE",
"ported": false
}
]
}
} HLR Phone Verification FAQ
Is Provero's HLR check a live network lookup?
Is the live / dead reachability status available for every country?
What is the difference between the easy summary and the full standard response?
Can I get roaming detection?
What is the difference between HLR verification and phone format validation?
Can I check numbers outside the UK?
How much does the HLR check cost?
Start with this check
Create a free account, claim your credits and run HLR Phone Verification as a real-time API or a bulk upload. No card required.
Sign up free