Services reference

Reference of every MobileValidate check: service code, alias, input type, real-time or bulk-only, outputs and country coverage.

Last updated

View as Markdown
A glowing globe protected by the MobileValidate shield, with country flag pins for the United States, Canada, Brazil, Germany, the United Kingdom and Australia.
Global coverage: validate anywhere we serve.

This page lists every check you can put in checks, with its code, alias, input type, mode (real time and bulk, or bulk only), outputs and country coverage. Codes and aliases are interchangeable in requests, and responses always use the full code. GET /v1/services returns the live list for your key, with prices. The site's services page may show a live version of this table.

How do I read this table?

  • Input: phone services run on numbers, e-mail services on emails.
  • Modes: "real time + bulk" works on POST /v1/lookup and in jobs. "Bulk only" works in bulk jobs only. "Bulk (real time paused)" works like bulk only for now: real-time requests are paused while our real-time route is unreliable and return 403 service_disabled.
  • Outputs: registered means the answer is yes/no/unknown. Named attributes appear in attributes for conclusive answers.
  • Countries: "all" means any country except sanctioned ones. Numbers outside a service's countries return unsupported_country and are not billed. "all except CN" means mainland China (+86) numbers are not covered; "bulk: except CN" means they are covered in real time but not in bulk jobs. Bulk jobs mark such checks before they run: the estimate lists them in unsupported_checks, and GET /v1/services lists them per mode in unsupported_countries.
  • Asking for whatsapp.registered and whatsapp.business together runs only whatsapp.business, because it answers both.

Which phone services are there?

CodeAliasModesOutputsCountries
whatsapp.registeredwhatsappreal time + bulkregisteredall (bulk: except CN)
whatsapp.business—real time + bulkregistered, businessall
telegram.registeredtelegramreal time + bulkregisteredall
viber.registeredviberbulk (real time paused)registeredall
signal.registeredsignalbulk onlyregisteredall
imessage.registeredimessagebulk onlyregisteredall except CN
rcs.registeredrcsbulk onlyregistered, device_osall
line.registeredlinebulk onlyregisteredall
zalo.registeredzalobulk (real time paused)registeredall
botim.registeredbotimbulk onlyregisteredall
messenger.registeredmessengerbulk onlyregisteredall
facebook.registeredfacebookreal time + bulkregisteredall
instagram.registeredinstagramreal time + bulkregisteredall
threads.registeredthreadsreal time + bulkregisteredall
x.registeredx, twitterreal time + bulkregisteredall
tiktok.registeredtiktokbulk onlyregisteredall
snapchat.registeredsnapchatbulk onlyregisteredall
linkedin.registeredlinkedinbulk onlyregisteredUS, IN
apple.registeredapplereal time + bulkregisteredall (bulk: except CN)
amazon.registeredamazonreal time + bulkregisteredall
microsoft.registeredmicrosoftreal time + bulkregisteredall
netflix.registerednetflixreal time + bulkregisteredall
network.carrier (beta)carrierreal time + bulkline_type, carrier, original_carrier, countryall (coverage varies)
network.carrier_us—bulk onlyline_type, carrierUS, CA
number.spamspamreal time + bulkrisk_level, risk_score, reason_regulator, reason_government, reason_community, reason_unassigned, voip_range, top_category, first_seen, last_seen, sourcesall (limited access)
number.hlrhlrreal time + bulkstatus, ported, roaming, network, mcc_mnc, countryall
number.mnpmnp, portingreal time + bulkporting, mcc_mnc, countryall

number.hlr asks the mobile network live whether a number is reachable, ported or roaming. number.mnp answers only whether a number was ported and which network it belongs to now. See HLR lookup and MNP lookup. Access to number.spam is limited while it is in review. Ask us if you need it. Its report coverage is strongest for North American and European numbers.

Which e-mail services are there?

CodeAliasModesOutputs
email.validemailreal time + bulkregistered (mailbox exists; major webmail providers, others → UNSUPPORTED_PROVIDER)
gmail.emailgmailbulk onlyregistered
outlook.emailoutlookbulk onlyregistered
yahoo.emailyahoobulk onlyregistered
apple.emailapple.emailreal time + bulkregistered
amazon.email—real time + bulkregistered
facebook.email—real time + bulkregistered
instagram.email—real time + bulkregistered
netflix.email—real time + bulkregistered
spotify.email—real time + bulkregistered
linkedin.email—bulk onlyregistered
x.email—bulk onlyregistered

E-mail services have no country limits. See e-mail checks for normalization and the anti-enumeration rules.

What do the attribute values mean?

AttributeValues
businesstrue / false: WhatsApp Business account
device_osios, android, unknown: handset platform reported with RCS capability
line_typemobile, fixed_line, fixed_line_or_mobile, voip, toll_free, premium_rate, shared_cost, personal, pager, uan, voicemail, unknown
carrier / original_carrierCurrent carrier name / carrier the range was allocated to, when different
risk_levelhigh, medium, low, no_reports (no_reports does not mean safe)
risk_scoreinteger 0–100
top_categorydebt_relief, impersonation, robocall, medical, home_services, warranty, sms_spam, dialer, fraud_hacking, other
first_seen / last_seenYYYY-MM
sourcesinteger 0–10: number of independent signal classes
status (HLR)reachable, unreachable, invalid (not assigned), unknown
ported / roamingtrue / false (roaming never includes a location)
porting (MNP)ported, not_ported, unknown
network / mcc_mncCurrent network name / its code (MCC + MNC)

Each attribute's type (string, boolean, enum, integer), with enum values and integer bounds, is also returned by GET /v1/services. Enums may gain values, so treat unknown values as unknown.

Which countries are never checked?

Numbers from sanctioned countries and regions are never checked, never sent to any network or data source, and never billed. The countries are Cuba, Iran, North Korea, Syria, Russia, Belarus and Venezuela, plus sanctioned regions. Every check on such a number answers unsupported_country, which is free. They don't appear in our coverage tables, country guides or datasets. We review the list when sanctions programmes change.

The same rule applies to e-mail addresses on Russian and Belarusian mail domains. Every e-mail check, including the account checks, answers unsupported_country for an address on:

  • a Russian or Belarusian country domain: .ru, .su, .рф, .by or .бел, and the Russian city and regional domains .рус, .москва, .moscow and .tatar;
  • a Yandex or Mail.ru (VK) mail domain, for example yandex.com, yandex.kz, yandex.ua, yandex.com.tr, ya.ru, mail.ru, inbox.ru, list.ru, bk.ru or vk.com.

Subdomains count too (name@sub.mail.ru), and domains are matched without regard to case. These addresses are never sent to any data source and never billed. Job estimates count them as unsupported, not billable.

How do I get the live list?

curl https://api.mobilevalidate.com/v1/services \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym"

Runs as pasted with the public sandbox key, which answers the test values only. In the SDKs, omit the key to use MOBILEVALIDATE_API_KEY.

Each entry ("object": "service") has these fields:

FieldMeaning
codeCheck code to send in checks, for example whatsapp.registered
name, platform, descriptionDisplay name, the platform or data the check is about, and a one-line description
family, namespaceGroup (messaging, network, email, …) and the part of code before the dot
input_typephone (goes in numbers) or email (goes in emails)
result_kindboolean (answers registered) or attributes (answers data in attributes)
fieldsThe result fields the check fills: registered and/or attribute keys
attributesEach attribute's key, type (string, boolean, enum, integer), values for enums, min/max for integers, and description
realtime, batch, modesWhether the check runs in POST /v1/lookup and in bulk jobs, and the same as a list
status, betaactive or unavailable, and whether the check is in beta
countriesCountries the check covers; an empty list means all countries
unsupported_countries{"realtime": [...], "batch": [...]}: countries the check does not cover in that mode (answered unsupported_country, free)
pricesrealtime and batch price per check as money objects with decimal strings; realtime is null for bulk-only checks
unitWhat one price unit is, in words

Frequently asked questions

Is this table always current?

It reflects the catalog on the date shown. GET /v1/services is authoritative at run time and shows exactly what your key can use, with prices.

What does bulk only mean?

The service answers in bulk jobs (POST /v1/jobs) but not on the real-time endpoint, which refuses it with 403 service_disabled.

Are numbers from sanctioned countries checked?

No. Numbers from Cuba, Iran, North Korea, Syria, Russia, Belarus and Venezuela, plus sanctioned regions, are never checked and never billed. Every check answers unsupported_country.

Are e-mail addresses on Russian or Belarusian domains checked?

No. Addresses on .ru, .su, .рф, .by and .бел domains and on Yandex and Mail.ru (VK) mail domains, such as yandex.com or mail.ru, are never checked and never billed. Every e-mail check on them answers unsupported_country.