REST API to get carrier name, line type (mobile/landline/VoIP), and phone number details for any phone number worldwide. 5,000 free lookups/month.
Identify carrier name for any phone number (Verizon, AT&T, T-Mobile, etc.)
Detect line type — mobile, landline, or VoIP
Validate phone numbers and get formatted output
Supports international numbers in E.164 format
5,000 requests/month on free tier
Example Response:
{
"is_valid_number" : true ,
"line_type" : " mobile" ,
"carrier" : " Verizon Wireless" ,
"phone_number" : " +12128148373" ,
"national_format" : " (212) 814-8373" ,
"country_code" : " US" ,
"calling_country_code" : " 1" ,
"mobile_country_code" : " 310" ,
"mobile_network_code" : " 012"
}
Create an account at omkar.cloud to get your API key, and use it in requests. 5000 requests are free every month.
curl -X GET " https://carrier-lookup-api.omkar.cloud/lookup?phone=%2B14082292600" \
-H " API-Key: YOUR_API_KEY"
{
"is_valid_number" : true ,
"line_type" : " mobile" ,
"carrier" : " Verizon Wireless" ,
"phone_number" : " +12128148373" ,
"national_format" : " (212) 814-8373" ,
"country_code" : " US" ,
"calling_country_code" : " 1" ,
"mobile_country_code" : " 310" ,
"mobile_network_code" : " 012"
}
import requests
response = requests .get (
"https://carrier-lookup-api.omkar.cloud/lookup" ,
params = {"phone" : "+14082292600" },
headers = {"API-Key" : "YOUR_API_KEY" }
)
data = response .json ()
print (f"Carrier: { data ['carrier' ]} , Line Type: { data ['line_type' ]} " )
import axios from "axios" ;
const response = await axios . get ( "https://carrier-lookup-api.omkar.cloud/lookup" , {
params : { phone : "+14082292600" } ,
headers : { "API-Key" : "YOUR_API_KEY" }
} ) ;
console . log ( `Carrier: ${ response . data . carrier } , Line Type: ${ response . data . line_type } ` ) ;
GET https://carrier-lookup-api.omkar.cloud/lookup
Headers
Parameter
Required
Description
phone
Yes
Phone number to look up. Include country code in E.164 format (e.g., +14082292600)
Field
Type
Description
is_valid_number
boolean
Whether the phone number is valid
line_type
string
Type of phone line: mobile, landline, or voip
carrier
string
Carrier name (e.g., "Verizon Wireless", "AT&T")
phone_number
string
Number in E.164 international format
national_format
string
Number formatted for local use (e.g., "(212) 814-8373")
country_code
string
ISO country code (e.g., "US", "IN", "GB")
calling_country_code
string
Country dialing code (e.g., "1" for US)
mobile_country_code
string
MCC identifying the country of the mobile network
mobile_network_code
string
MNC identifying the specific carrier
Detect line type before sending SMS
response = requests .get (
"https://carrier-lookup-api.omkar.cloud/lookup" ,
params = {"phone" : "+14082292600" },
headers = {"API-Key" : "YOUR_API_KEY" }
)
data = response .json ()
if data ["line_type" ] == "mobile" :
print ("Safe to send SMS" )
elif data ["line_type" ] == "landline" :
print ("Cannot send SMS to landline — skip this number" )
elif data ["line_type" ] == "voip" :
print ("VoIP number detected — flag for review" )
Validate and enrich phone numbers
response = requests .get (
"https://carrier-lookup-api.omkar.cloud/lookup" ,
params = {"phone" : "+447911123456" },
headers = {"API-Key" : "YOUR_API_KEY" }
)
data = response .json ()
if data ["is_valid_number" ]:
print (f"Carrier: { data ['carrier' ]} , Country: { data ['country_code' ]} " )
else :
print ("Invalid phone number" )
Flag VoIP numbers for fraud prevention
response = requests .get (
"https://carrier-lookup-api.omkar.cloud/lookup" ,
params = {"phone" : "+12125551234" },
headers = {"API-Key" : "YOUR_API_KEY" }
)
data = response .json ()
if data ["line_type" ] == "voip" :
print ("⚠️ VoIP number — possible fraud risk" )
response = requests .get (
"https://carrier-lookup-api.omkar.cloud/lookup" ,
params = {"phone" : "+14082292600" },
headers = {"API-Key" : "YOUR_API_KEY" }
)
if response .status_code == 200 :
data = response .json ()
elif response .status_code == 401 :
# Invalid API key
pass
elif response .status_code == 429 :
# Rate limit exceeded
pass
Plan
Price
Requests/Month
Free
$0
5,000
Starter
$25
100,000
Grow
$75
1,000,000
Scale
$150
10,000,000
SMS Delivery Optimization — Check if a number is mobile before sending SMS. Skip landlines to cut failed delivery costs.
Fraud Prevention — Flag VoIP numbers during signup. Fraudsters use disposable VoIP numbers to create fake accounts.
User Verification — Confirm a phone number is valid and identify the carrier before sending OTP codes.
Data Enrichment — Add carrier and line type data to your customer database for better segmentation.
Questions? We have answers.
Reach out anytime. We will solve your query within 1 working day.