SMS WhatsApp Viber Voice Push Email 2FA / OTP FlashCall Number Lookup Number Validation Email Validation URL Tracking REST API SDKs WordPress Zapier Make All integrations
Pricing Developers Company Start building
Back to blog
Guides

How number lookup can cut failed SMS delivery by up to 30%

Every undeliverable SMS costs exactly the same as a delivered one. Your carrier charges you for the attempt regardless of outcome. For businesses sending at volume — tens of thousands of messages per campaign — the cost of sending to dead, ported, or invalid numbers adds up fast. HLR (Home Location Register) lookup is the mechanism that eliminates those wasted sends before they happen.

Why contact databases degrade

Phone numbers churn. People change networks, cancel contracts, lose phones, and port numbers to different carriers. Research consistently shows that B2C contact databases lose 20-30% of their validity within 12 months without active hygiene.

The sources of bad data in a typical contact database:

  • Numbers that were disconnected when collected (fake or mistyped)
  • Numbers that have since been disconnected or recycled by the carrier to a new user
  • Numbers ported to a different carrier without the database record being updated
  • Landline numbers that cannot receive SMS
  • Numbers formatted incorrectly and never reaching a valid routing destination

What HLR lookup actually does

An HLR query sends a real-time request to the carrier network for a specific number. The network responds with:

  • Active / inactive status — is the SIM currently registered on a network?
  • Current network — which carrier does the number resolve to?
  • Ported status — has the number moved from its original carrier?
  • Roaming status — is the device currently on a foreign network?

This is the same query that happens behind the scenes every time a message is routed through the carrier network — you’re simply running it before your send rather than wasting the send cost to find out the result.

An HLR lookup typically costs £0.003-0.005 per number. A failed SMS delivery typically costs £0.004-0.008 per attempt. The economics are straightforward at any meaningful volume.

When to run lookups

Pre-campaign cleanse: Run lookup on your entire send list before any bulk campaign. Remove inactive numbers. The savings on a 100,000-number list will typically pay for the lookup cost many times over.

At registration: Validate a user’s phone number at the point they provide it. This prevents bad data entering your system in the first place and is cheaper than cleaning it later.

Periodic database hygiene: Schedule monthly or quarterly lookups on your full contact database. Flag contacts that have gone inactive for re-engagement campaigns before removing them.

Before high-value sends: For expensive campaigns — international sends, rich media, premium rate — always validate first. The lookup cost is negligible against the per-message cost difference.

Lookup vs format validation — what’s the difference?

Number validation checks format only — it confirms the number is structurally valid for its country, identifies the likely carrier, and normalises to E.164. It does not query the live network.

HLR lookup queries the live network and returns the current status. It confirms the number is actually active right now, not just that it’s correctly formatted.

The right approach is both: validate format first (cheap, instant, catches obvious errors), then run HLR on the valid numbers before sending at volume.

Interpreting lookup results

  • Active + same network: Send normally.
  • Active + ported to new carrier: Update your routing record. The number is deliverable but your cost may differ from what you expected.
  • Active + roaming: Deliverable, but may incur higher routing costs. Consider whether to send or wait.
  • Inactive: Remove from send list. Do not attempt delivery.

Clean your list before you send.
Explore Number Lookup →