Short answer: “Which company does this number belong to” is really three questions: who the range was originally allocated to, who carries the number right now after porting, and whether the line is a real SIM or VoIP. The first two come from an HLR or carrier lookup; the third needs a line-type query. Who the subscriber is stays private and no legitimate service will tell you.

People arrive here from one of three situations: an unknown caller they want to place, a risk check on whether a signup used a disposable line, or their own number failing to receive messages. The right lookup differs for each.
Three layers, not one
| Layer | What it answers | How to check | Reliability |
|---|---|---|---|
| Range allocation | Which operator the block was assigned to | Numbering plan tables | High, but goes stale |
| Current carrier | Who actually carries the line today | HLR / carrier lookup | Highest, real time |
| Line type | Mobile, fixed, VoIP, or reseller | Line-type lookup API | High |
| Subscriber identity | Who owns it | Not publicly available | — |
Most “the lookup was wrong” experiences come from stopping at layer one. Numbering tables are static, and once a number has been ported the prefix no longer matches the operator — the digits still say one carrier while the traffic goes to another.
Method 1: an HLR lookup (most accurate)
The Home Location Register is the carrier database recording which network a live number currently sits on. One query returns whether the number is active, which network carries it, the country, and whether it has been ported.
This is exactly what messaging platforms run before sending — see what is an HLR lookup. The limit: HLR reports network facts only. It will not tell you whether the line is currently rented out by an SMS platform.
Method 2: a line-type lookup
Commercial number databases add a classification layer on top of HLR data and return labels like mobile, fixed, voip, or prepaid. This is the layer that answers “is this a virtual line”, because most internet-telephony ranges surface as VoIP here.
mobileon a major carrier: most likely an ordinary SIM.voip: an internet line, refused by many apps — see what is a non-VoIP number.mobilebut carried by an unfamiliar reseller: probably an MVNO range.
Method 3: read the prefix (only works in some markets)
Mainland China allocated 170, 171, 162, 165 and 167 to resellers, so the prefix alone is informative there. Most countries never made that split, and real SIMs sit beside VoIP lines inside one range. Details in virtual phone number prefixes.
Method 4: operator and official channels
- Porting databases. Many markets publish or expose a central porting registry that returns the current carrier.
- Send a test message. Delivery plus a receipt proves the line is live. Crude, but free.
- Place a call. Ringback tones sometimes hint at the operator. Accuracy is poor — don’t build a decision on it.
Why subscriber identity is off the table
The link between a number and a person is personal data. Carriers don’t publish it, and any service claiming to sell it is either scraping breached data or simply defrauding you. The finest legitimate resolution is: which network, what type, still active or not.
If what you actually want is “did this person sign up with a disposable number”, combine behavioural signals instead of chasing identity — see how to tell if a phone number is virtual and phone number reputation.
Three things that quietly corrupt the answer
- Recycling. Disconnected numbers get reassigned after a quarantine period, invalidating every historical record — see what is phone number recycling.
- Caller ID is forgeable. The number you saw may not be the number that called — see what is phone number spoofing.
- Proxy and masked numbers. Rideshare and delivery platforms bridge calls through intermediary lines, so the lookup returns the platform’s provider rather than the driver — see what is phone number masking.
Summary
The range tells you the past, HLR tells you the present, line type tells you the nature, and nobody tells you the person. Judging whether a number is virtual takes layers two and three together; relying on the prefix alone falls apart the moment you cross a border.