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

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.
  • Outputs: registered means the answer is yes/no/unknown. Named attributes appear in attributes for conclusive answers.
  • Countries: "all" means any country. Numbers outside a service's countries return unsupported_country and are not billed.
  • 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
whatsapp.business—real time + bulkregistered, businessall
telegram.registeredtelegramreal time + bulkregisteredall
viber.registeredviberreal time + bulkregisteredall
signal.registeredsignalbulk onlyregisteredall
imessage.registeredimessagebulk onlyregisteredall
rcs.registeredrcsbulk onlyregistered, device_osall
line.registeredlinebulk onlyregisteredall
zalo.registeredzaloreal time + bulkregisteredall
botim.registeredbotimbulk onlyregisteredall
max.registeredmaxbulk 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
vk.registeredvkreal time + bulkregisteredRU
apple.registeredapplereal time + bulkregisteredall
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, sourcesUS, CA, DE
number.hlr (coming soon)hlr—status, ported, roaming, network, mcc_mnc, country—

number.hlr (live network status) is not available yet. Requests for it return 403 service_disabled. Access to number.spam is limited while it is in review. Ask us if you need it.

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
yandex.emailyandexbulk onlyregistered
mailru.emailmailrubulk 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

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.

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 has code, name, platform, family, input_type, result_kind, attributes, realtime, batch, modes, status, beta, countries and prices (realtime and batch, as decimal strings per check). Without a key, you get the public catalog. Platform names are used only to describe which service a check refers to.

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.