What is an HLR request and how does it help businesses?

Sales, customer support, and other areas where outbound calls are important require up-to-date contacts. Almost every business maintains its own phone databases, but they often contain non-existent or incorrectly entered numbers, leading to wasted time and resources on unsuccessful calls. HLR requests can help solve this problem.

HLR – It is a database of mobile operators that contains information about all subscribers in the network. With an HLR request, you can find out:

  • The current status of the number – whether it exists and is active in the network
  • Operator affiliation – which mobile provider services the number
  • Roaming – whether the subscriber is abroad.

Why is it important for businesses to use HLR?

A high-quality phone database significantly increases employee efficiency – they no longer need to waste time calling non-existent numbers. Additionally, HLR can be used to optimize SMS campaigns, preventing spending on sending messages to incorrect numbers.

How to send an HLR request?

You can send a request through the personal account in the section Services - HLR lookup or via API, using the method NUMBER_LOOKUP.

Please note: regardless of the method used to send the request, all numbers being checked must be provided in international format.

When checking a single number, the response will be sent immediately. For checking a list of numbers or a file, the response will be sent to the email within 1 hour, as the verification is done across different mobile operator networks, which process requests at different speeds.

How to decode the result?

The received file will contain several columns describing the status of the number, with a detailed description of each:

  • Number - the checked number
  • Status - HLR query result
  • Phone number check result - whether the phone with this SIM card is active at the time of the check
  • MCC & MNC - The operator network code, which, along with the country code, allows you to determine the name of the mobile operator. The descriptions of these code values are provided in the file in the "mcc name" and "mnc name" columns, respectively.
  • Ported - whether the number has been ported
  • Roaming - whether the number is in roaming
  • OriginalNetworkName - the name of the number range owner
  • PortedNetworkName - if the number has been ported, this field will show the name of the operator currently servicing the number
  • Error - whether the SIM card is active with the operator

The most useful parameters are “Phone number check result” and “Error”.

The main information about whether the number exists in the mobile network is provided in the parameter “Error”. If the number does not exist or is not a mobile number, the information will be provided in this parameter.

Possible values of the parameter: Error:

  • No error/OK - the number was successfully verified
  • Unknown Subscriber/Absent subscriber - the number does not exist
  • No response/system failure - the operator's network did not respond to the request

“Phone number check result” is an additional parameter that is provided by operators at their discretion. Possible values of this parameter:

  • This is not a mobile phone number - the number is not a mobile number
  • Unable to check the phone number - the number does not exist or is not a mobile number
  • The phone number is offline - the number is turned off or is out of network coverage area
  • Absent Subscriber - the number does not exist
  • Unknown status - the status of the number is unknown