HLR lookup API and bulk mobile verification
Find dead mobile numbers before they cost you another call, message or verification check.
Check numbers in real time through the HLR lookup API, or upload a file or existing database for bulk HLR checks. Get network status, current carrier and porting details for every number.
- Connections to 1,300+ mobile networks
- 1.4M records in a single bulk upload
- 100,000-record HLR file in ~15 minutes
Part of: Form verification Data cleansing KYC waterfall Affiliate fraud detection Source audit
One bad number can cost you more than once
You pay to acquire the lead. Then you pay to process it, call it, follow it up and send it through other checks.
An HLR lookup gives you network information before those costs build up, so your spend and your team’s time go on numbers that work.
-
Find dead numbers
See which numbers the network reports as dead and take them out before they reach your CRM, dialler or next campaign.
-
Reduce wasted contact attempts
Stop paying for calls, SMS and one-time passcodes to numbers that are no longer in service.
-
Retrieve network and porting information
See the network serving each number now and the network that first issued it, for routing, pricing and risk decisions.
Run HLR in real time or in bulk
Use the same HLR lookup however your numbers arrive: one at a time as they come in, or a whole file at once.
-
Real-time HLR lookup API
Check a mobile number at registration, checkout, lead capture or onboarding, or call the API from your CRM, dialler or verification workflow. The lookup runs in the background with no extra step for the customer, and responds in around 467ms at the 95th percentile. Spot a dead number before you send an OTP or pay for Mobile network KYC or a SIM swap check.
-
Bulk HLR checks on files and databases
Upload a purchased lead file or your existing customer database to Phone validation and turn on the HLR option. Each row comes back with its format check, network status, current carrier and porting details, ready to download. Dead numbers come out before the next campaign or dialler run. A typical 100,000-record file completes in around 15 minutes.
Why choose Provero for HLR
HLR results are only as good as the network route behind them.
Provero works with mobile network operators and specialist network providers in different regions, with connections covering more than 1,300 mobile networks worldwide. Each request is routed according to coverage, speed, result quality and cost, with alternative routes available when required.
You do not have to work out which provider gives the best result for a particular country or carrier. Provero handles the routing and translates each network’s answer into the same response structure.
We have worked with HLR for more than ten years. One API key and one prepaid balance cover single lookups, bulk files and the other Provero checks, with no plan or monthly commitment.
What an HLR lookup tells you about a mobile number
An HLR lookup asks the mobile network about the number itself, rather than checking how it is written. Status is the core result. Network and porting detail comes back where the destination network provides it, so the information available varies by country and network.
-
Network status
Live, dead or out of network (absent subscriber), or rejected when the number is not a mobile.
-
Current carrier
The network serving the number now, including after porting. Use it as a mobile carrier lookup for routing and pricing.
-
Original network
The network the number was originally allocated to, with its country and dialling prefix, where available.
-
Porting
Whether the number has moved from its original network, and the network it moved to, in the detailed response where available.
-
MCC/MNC and status codes
Mobile country and network codes, the underlying status and error codes, and whether an error is permanent, in the detailed response.
-
Roaming and network history
Roaming information is available to approved accounts for fraud screening. Observed network history from earlier lookups can be provided on request where held.
For specific country, roaming or historical coverage, email support@provero.io.
Clear results, with more detail when you need it
Get a straightforward result you can act on, or deeper network information for your integration.
Simple results
See the information you need to check and use your mobile numbers.
- Live, dead or out of network.
- Current and original carrier, where available.
- A clear summary without interpreting telecom codes.
Detailed network information
Get more information for routing, troubleshooting and advanced integrations.
- Mobile country and network identifiers.
- Underlying network status and error explanations.
- Porting details where available.
- Roaming information for approved accounts.
Built for large files and live API traffic
- 1.4M
- records in a single bulk upload
- Two checks per record, 2.8 million lookups in one Provero job.
- ~15 minutes
- for a typical 100,000-record HLR file
- Standard bulk processing, available without any special configuration.
- 125,000 in 2m 39s
- HLR lookups with high-throughput processing
- Configured for time-sensitive workloads. Email support@provero.io before you upload.
How to read each result
Live, dead and out of network are different outcomes, and each calls for a different decision. A failed lookup is different again: it tells you about the route, not the number.
| Result | What it means | What to do |
|---|---|---|
| Live | What it means: The network reports the number as active. | What to do: Keep it. Live is network information: it does not confirm who holds the number or guarantee that a call or message will be delivered. |
| Dead | What it means: The network reports the number as not active. | What to do: Remove it from calling and messaging lists before you spend anything more on it. |
| Out of network | What it means: The number is assigned, but the subscriber could not be reached at the time of the lookup (absent subscriber). | What to do: Keep it and recheck later. A single result can be temporary. |
| Rejected | What it means: The number is not a mobile, for example Rejected Landline. | What to do: Use Phone format validation or another channel for non-mobile numbers. |
| Failed lookup | What it means: The destination network did not answer, was temporarily unavailable or is not supported on the route used. | What to do: This is not a subscriber status and says nothing about the number. Retry later, or ask us about coverage for that country. |
In the detailed response, error.permanent shows whether an error is permanent. A lookup that failed with a non-permanent error is worth retrying.
What we found when numbers kept coming back absent
A single absent-subscriber result can be temporary. We wanted to know what happens when it is not.
Provero tested roughly one million randomly selected mobile numbers and isolated those that returned absent subscriber on three checks within a 16-hour window, during normal waking hours. We checked that group again after one week and one month. Only 7% of it was observed as reachable during the follow-up checks.
Read the full findings in What is HLR used for? →How to run HLR lookups through the API or in bulk
The same lookup sits behind both routes.
HLR lookup API
Send a number to POST /api/validate/phone in international E.164 format. The default response is the easy summary; add detailed=true when you need the full payload.
Bulk mobile number verification
In the bulk uploader, upload your file to Phone validation, check the phone number mapping and turn on the HLR option. Download the results when the run completes. For large, time-sensitive files, contact support@provero.io before you upload so high-throughput processing can be configured.
Combine it with other checks
Through the API, Multi-validation can run an HLR lookup alongside other supported checks in one request, with each result returned separately.
HLR API example
POST https://api.provero.io/api/validate/phone
Request
{
"phone": "+447700900123",
"route": "standard",
"detailed": false
} Easy response
{
"results": [
{
"to": "+447700900123",
"status": "Live",
"live": true,
"dead": false,
"outOfNetwork": false,
"currentNetwork": "Example Mobile Network",
"originalNetwork": "Example Mobile Network"
}
]
} Illustrative example. +447700900123 is from a range reserved for drama and documentation, and the network names are placeholders, so the result shown is not a real lookup.
Read the full HLR API documentation →HLR lookup pricing
From £0.0042 per lookup, down to £0.0023 at volume
No plan or monthly commitment. Top up your Provero balance and use it across the checks you need.
| 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 |
Paid from a prepaid balance that you can spend across any check. See current rates.
Need volume pricing? Email pricing@provero.io.
Related checks
No single check settles whether a record can be trusted. These are the ones people usually run alongside HLR phone verification, each answering a different question about the same record.
- Phone format validation Validate phone number structure and return E.164, international and national formats.
- Mobile network KYC Compare supplied identity details with mobile-network subscriber data, field by field.
- SIM swap check Check whether a mobile number's SIM changed within a chosen period.
- Name & phone match Coming soon Check whether a supplied name matches the phone number.
HLR phone verification FAQ
What is an HLR lookup?
What does absent subscriber mean?
How is HLR different from phone format validation?
How is HLR different from OTP verification?
Can HLR help assess lead quality?
Can I run HLR lookups in bulk?
Can I run international HLR lookups?
Run your first HLR lookup
Create a free account, claim your credits and run HLR phone verification through the API or bulk upload. No card required.
Try HLR free