Ensuring Mobile Number Accuracy

HLR Verification Service

The HLR verification service directly checks the Home Location Register for GSM mobile numbers, providing details like the original network assignment, portability information, current network status, and recent activity, including the last country of use if available.

Free trialTalk to an expert

*No credit card required

TrustRadius
TrustRadius Five Star Rating
G2 Rating
G2 4.5 Rating
Capterra Rating
Capterra Five Star Rating
TrustPilot Rating
TrustPilot Four Star Rating

+1,000 BUSINESSES USE SMS.to FOR THEIR needs

MNP Lookup Service

Receive real time validity information about a mobile number like the current Mobile Network, number type (mobile, landline, virtual), portability information, Mobile Network Code for any phone number.

Real-Time
Accuracy

Unlock instant insights into mobile numbers with our MNP Lookup Service. Receive up-to-the-minute information on the current Mobile Network, number type, portability details, and Mobile Network Code.

Comprehensive
Number Details

Delve into details such as number type (mobile, landline, virtual) and the Mobile Network Code for any phone number, providing a holistic view of the telecommunications landscape.

Portability
Insights

Our MNP Lookup Service not only reveals the current Mobile Network but also offers valuable insights into portability information. Stay informed about changes and transitions seamlessly.

number verification

Number
Identification

Empower your business with versatile number identification using our MNP Lookup Service. Whether it's distinguishing between mobile, landline, or virtual numbers, our service goes beyond the basics.

easy SETUP!

Number Lookup
Verification API

Use our HLR and MNP service through our reliable HTTP API

				
					curl --location 'https://hlr.sms.to/api/v2/lookup' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <api_key>' \
--data '{
    "number": "+447704571048",
    "default_prefix": "GB"
}'
				
			
				
					<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.sms.to/sms/send',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "message": "This is test and \\n this is a new line",
    "to": "+35799999999999",
    "bypass_optout": true,
    "sender_id": "SMSto",
    "callback_url": "https://example.com/callback/handler"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer <api_key>',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			
				
					var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'POST',
  'hostname': 'api.sms.to',
  'path': '/sms/send',
  'headers': {
    'Authorization': 'Bearer <api_key>',
    'Content-Type': 'application/json'
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

var postData = JSON.stringify({
  "message": "This is test and \n this is a new line",
  "to": "+35799999999999",
  "bypass_optout": true,
  "sender_id": "SMSto",
  "callback_url": "https://example.com/callback/handler"
});

req.write(postData);

req.end();
				
			
				
					require "uri"
require "json"
require "net/http"

url = URI("https://api.sms.to/sms/send")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <api_key>"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
  "message": "This is test and \n this is a new line",
  "to": "+35799999999999",
  "bypass_optout": true,
  "sender_id": "SMSto",
  "callback_url": "https://example.com/callback/handler"
})

response = https.request(request)
puts response.read_body
				
			
				
					import http.client
import json

conn = http.client.HTTPSConnection("api.sms.to")
payload = json.dumps({
  "message": "This is test and \n this is a new line",
  "to": "+35799999999999",
  "bypass_optout": True,
  "sender_id": "SMSto",
  "callback_url": "https://example.com/callback/handler"
})
headers = {
  'Authorization': 'Bearer <api_key>',
  'Content-Type': 'application/json'
}
conn.request("POST", "/sms/send", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
				
			
				
					OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"message\": \"This is test and \\n this is a new line\",\r\n    \"to\": \"+35799999999999\",\r\n    \"bypass_optout\": true,\r\n    \"sender_id\": \"SMSto\",\r\n    \"callback_url\": \"https://example.com/callback/handler\"\r\n}");
Request request = new Request.Builder()
  .url("https://api.sms.to/sms/send")
  .method("POST", body)
  .addHeader("Authorization", "Bearer <api_key>")
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
				
			
				
					package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.sms.to/sms/send"
  method := "POST"

  payload := strings.NewReader(`{`+"
"+`
    "message": "This is test and \n this is a new line",`+"
"+`
    "to": "+35799999999999",`+"
"+`
    "bypass_optout": true,`+"
"+`
    "sender_id": "SMSto",`+"
"+`
    "callback_url": "https://example.com/callback/handler"`+"
"+`
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Bearer <api_key>")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
				
			

Sign-Up for a Free Trial

Get free Call & SMS credits on Sign-Up

Learn how we collect and use your information by visiting our Privacy Notice
SMS.to SignUp