Ensure SMS Campaigns Reach Real Mobile Numbers
Texts sent to landlines, VoIP, and disconnected numbers fail silently and inflate your costs. 1Lookup confirms each number is a live, reachable mobile before you send, so your SMS campaigns actually land.
20%+
Of SMS spend wasted on dead numbers
1 credit
Per line-type check
Real-time
HLR network status
On this page
You clean a phone list before an SMS campaign in five steps, and checking a 10,000-number list costs about $49.50 at 1Lookup.
Clean a phone list before an SMS campaign by putting every number in international format, removing duplicates and opt-outs, checking each number’s line type and live status, and sending only to mobile numbers the network reports as connected. At 1Lookup a phone validation is 1 credit (about $0.00495 a number on the Starter plan) and a live HLR check is 5 credits (about $0.02475), so validating a 10,000-number list costs about $49.50.
1. Put every number in E.164 format.
That is the international format with a plus sign and the country code, such as +14155552671, so the same number is never counted twice.
2. Remove duplicates and opt-outs.
Delete repeated numbers, everyone who replied STOP, and anyone you do not have permission to text.
3. Validate every number that is left.
A phone validation costs 1 credit and returns the line type, carrier and a risk level, so landlines and VoIP lines that cannot receive a text come out. Upload a CSV of up to 2 million rows in the dashboard, or call the API.
4. Run a live HLR check on the mobile numbers.
An HLR lookup asks the mobile network whether the number is connected, for 5 credits, and costs nothing when the network reports the number as not assigned.
5. Send only to the numbers that pass, and keep the results.
Keep the mobile numbers the network reports as connected, and save the result columns so your next campaign starts from a clean list.
A 10,000-number list costs about $49.50 to validate and $247.50 to check live.
$49.50
Validate 10,000 numbers
10,000 credits at 1 credit each
$247.50
Live HLR check on 10,000 numbers
50,000 credits at 5 credits each, nothing for a number the network reports as not assigned
$0.00495
One phone validation
Falls to $0.002 a number on the Enterprise plan
Worked out at the Starter rate, $99 for 20,000 credits. The larger plans cost less per credit.
SMS campaigns fail when texts go to numbers that cannot receive them.
A phone number on a list is not the same as a number that can receive your message. The gap costs you money and skews every report.
Landlines and VoIP can’t receive SMS
Sending texts to landlines or unsupported VoIP numbers means guaranteed failures (that you still pay for on most gateways).
Disconnected numbers silently fail
Numbers that have been deactivated or ported away accept your spend but never deliver, skewing your campaign analytics.
Failed sends inflate cost and hurt sender reputation
High failure rates raise your effective per-message cost and can flag your sender ID with carriers, throttling future delivery.
1Lookup checks each number against the live carrier network before you send.
Check each number against the live carrier network before you send, then suppress everything that can’t receive a text.
Run an HLR lookup before you send
Query the carrier’s Home Location Register to confirm the number is active and currently reachable on the network, without sending a message.
Confirm line type and carrier
Use carrier lookup to verify the number is a mobile that can receive SMS, and identify the network and porting status for routing.
Suppress and route intelligently
Skip landlines, VoIP, and dead numbers, and route deliverable messages to the correct carrier gateway for the best delivery rate.
// Confirm a number is a live, reachable mobile before SMS
const res = await fetch('https://app.1lookup.io/api/v1/hlr-lookup', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone_number: '+14155552671'
})
})
const { data } = await res.json()
// Only send to numbers the mobile network reports as connected
const sendable = data.classification.connectivity_status === 'CONNECTED'Products that power this
Mix and match the APIs you need. Each one works on its own or together in a single request.
Frequently asked questions
How do I know if a phone number can receive SMS?
Run a carrier and HLR lookup. Carrier lookup identifies whether the number is a mobile, landline, or VoIP line, and an HLR lookup confirms the number is active and currently reachable on the carrier’s network.
What is an HLR lookup?
An HLR (Home Location Register) lookup queries the mobile carrier’s subscriber database in real time to confirm whether a number is active, reachable, roaming, or disconnected, without sending an actual message.
Will this reduce my SMS costs?
Yes. By suppressing landlines, VoIP, and dead numbers before you send, you stop paying for messages that can never deliver and you improve your delivery-rate metrics.
Can it detect ported numbers?
Yes. Carrier lookup returns the current and original carrier and porting status, so you route each message to the correct network instead of relying on outdated carrier assignments.
Do I need both HLR and carrier lookup?
They are complementary: carrier lookup tells you the line type and network, while HLR confirms live status and reachability. Together they ensure every SMS targets a real, active mobile.
Make every SMS count
Verify numbers are live, mobile, and reachable before you send, and stop paying for messages that never arrive.
No setup fees • 7-day free trial • Cancel anytime