mlab docs

Phone Number Lookup

Validate a phone number in E.164 form and read its country, line type, originally allocated operator, canonical formats and scam-shape findings, all offline.

The phone lookup validates a number and tells you what it is: which country and numbering plan it belongs to, whether it is a mobile, landline, VoIP or premium-rate line, which operator the block was originally allocated to, and whether the shape of the number matches known scam patterns.

Everything is computed offline from numbering-plan metadata and prefix tables. The line is never dialled, nothing is sent to a carrier, and the lookup does not count against any scan quota.

1. How to look up a number

From the search bar. Paste a number in international E.164 form, starting with +. mlab detects it and routes you to /phone/{number}.

By URL. Open https://mlab.sh/phone/{number} directly.

Numbers must be in E.164 form with the international + prefix, for example +33612345678. A bare national number such as 0612345678 carries no country code, so mlab cannot know which numbering plan applies and will not guess a country.

2. What you get

FieldMeaning
VerdictHeadline read: not a real number, scam shape, worth a look, or nothing notable
Valid / PossibleWhether the number is a valid allocated number, and whether it is even the right length to be one
CountryCountry calling code and region
Line typeMobile, fixed line, VoIP, toll-free, premium rate and so on, with a short note
AreaGeographic area, when the numbering plan carries one
Allocated operatorThe operator the number block was originally allocated to
FindingsSignals in the shape of the number that are worth attention, each with a severity
FormatsThe number in E.164, international, national and RFC 3966 (tel:) forms

The allocated operator is not necessarily the current one. Number portability lets a subscriber keep their number when they change operator, which is common in France, the US and the UK. Establishing the operator serving a line today requires an HLR lookup, which mlab does not perform.

3. API

This lookup is available through the REST API. See the API Guide for authentication and quotas.

GET /api/v1/scan/phone?number={e164}

curl -H "Authorization: Bearer YOUR_API_KEY" \
    "https://mlab.sh/api/v1/scan/phone?number=%2B33612345678"

The + must be URL-encoded as %2B in the query string. The response carries the same data as the web module:

{
  "input": "+33612345678",
  "valid": true,
  "possible": true,
  "verdict": "Nothing notable",
  "country_code": 33,
  "region": "FR",
  "area": null,
  "line_type": "Mobile",
  "line_type_note": "Allocated to a mobile network.",
  "allocated_operator": "Orange",
  "allocated_operator_may_have_changed": true,
  "formats": {
    "e164": "+33612345678",
    "international": "+33 6 12 34 56 78",
    "national": "06 12 34 56 78",
    "rfc3966": "tel:+33-6-12-34-56-78"
  },
  "findings": []
}

allocated_operator_may_have_changed is true for line types subject to number portability (mobile and fixed line), a reminder that the allocated operator may not be the current one. region, area and allocated_operator are null when unknown.

On this page