Deliverability

Viber number check: a practical guide for businesses

How to check if a number has Viber, where Viber matters most, how checks relate to Viber Business Messages, and a cost model for Viber-first sending.

By Published 7 min read

On this page

To check if a phone number has Viber, send it to a registration-check API and read back a yes, no or unknown answer stamped with the time of the check. With MobileValidate that's checks: ["viber"], in real time for up to 100 numbers per request or in bulk jobs for lists. For businesses, the answer is most useful in markets where Viber is a leading messenger: it tells you which opted-in customers can receive a Viber message before you pay for, or wait on, a failed attempt. This guide covers what the check means, where it matters, how it fits with Viber Business Messages, and a cost model.

What does a Viber check tell you?

It tells you whether a Viber account is associated with the number. On Viber, the phone number is the account: you install the app, confirm the number with a code, and contacts see you under that number. There's no username layer that hides the number from discovery, which makes Viber answers comparatively clear:

AnswerMeaningWeight
registered: trueA Viber account exists for the numberStrong
registered: falseA conclusive answer that there is noneStrong, in markets where Viber is common
registered: null (unknown)No conclusive answer; status and reason say whyNone; not charged

Accounts can outlive the phone they were created on, and carriers recycle numbers. Read every answer with checked_at, and keep max_age short where freshness matters. The check never returns names, photos or online status.

A balance scale weighs a gradient chat bubble with one coin against an SMS bubble with two coins, with a channel split donut and regional reach bars.A balance scale weighs a gradient chat bubble with one coin against an SMS bubble with two coins, with a channel split donut and regional reach bars.
Where the app is popular, sending there first can cost less than SMS.

Where does Viber matter most?

Viber's footprint is regional. When Rakuten agreed to buy it in February 2014 for about $900 million, Viber reported "approximately 280 million global registered users, and monthly active users over 100 million" (Rakuten, 2014). Today Viber describes its reach as "hundreds of millions of people" connecting each month (Viber). Neither figure is broken down by country in those sources, so we describe regional patterns qualitatively:

RegionTypical role of ViberCheck to pair with
Parts of Eastern Europe and the BalkansOften one of the leading messengerswhatsapp, telegram
Parts of the Middle EastUsed alongside other messengerswhatsapp
Parts of Southeast AsiaLeading in some markets, minor in otherswhatsapp, zalo (Vietnam)
Western Europe, North AmericaUsually minorwhatsapp, rcs

Country tables go stale quickly. The only numbers that matter are the rates on your own consented base, and a bulk job gives you those. Our channel-by-country guide shows the method.

How does a check relate to Viber Business Messages?

They solve different problems. Viber Business Messages is Viber's paid channel for brands: an official business account, "business-initiated conversations", delivery through an API "with SMS fallback", and a model where you "pay only for messages that are delivered" (Rakuten Viber). It's usually accessed through a messaging partner.

A registration check answers a narrower question earlier: does this customer have Viber at all? That helps in four situations:

  • Time-sensitive messages. A passcode that first waits on a failed Viber attempt and then falls back to SMS arrives later. Sending straight to SMS for customers without Viber avoids the delay.
  • Channel mix and budgeting. Before you sign up for a business account, you need to know what share of your customers could receive Viber messages.
  • Your partner's fallback rules. Fallback behaviour and pricing depend on your contract. A pre-check lets your own system decide the route.
  • Data quality. A Viber account shows the number passed phone-based activation, which helps separate live mobile numbers from typos and landlines.

The check sends nothing and doesn't create a conversation.

How do I check Viber in real time?

Use POST /v1/lookup with checks: ["viber"]. This call uses test numbers and a short wait, so one answer is still pending:

Shell
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+447700900001", "+447700900002", "+447700900003", "+447700900004"],
       "checks": ["viber"], "wait": 2}'

The real test-mode response had "status": "pending" and this summary:

JSON
"summary": {"total": 4, "registered": 1, "not_registered": 1, "unknown": 1, "pending": 1, "invalid": 0, "suppressed": 0},
"next": {"poll_url": "/v1/lookups/lkp_0VWGAce108LGOKS7kKqh", "poll_after_ms": 2000}

Polling GET /v1/lookups/{id}?wait=10 a few seconds later returned the fourth answer as {"status": "completed", "registered": true, "confidence": "high"}. The third was unknown with reason: "UPSTREAM_TIMEOUT". You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Test keys never bill.

In a user-facing flow, don't block on a pending answer: send by your default channel and use the answer next time.

How should my application route on each answer?

A routing table for messages the customer opted into:

AnswerPasscodeOrder or delivery updateStored record
registered: trueViber first if you support it, short timeout, then SMSViber if the customer chose ittrue + checked_at
registered: falseSMS or voice straight awaySMS or e-mailfalse + checked_at
unknown / pendingYour default channelKeep previous routingDon't overwrite a stored answer
number_status: invalid_numberAsk the user to correct the numberFix the recordFlag for cleanup

Two habits keep this reliable. Refresh answers monthly and after any failed Viber delivery; repeat checks inside the freshness window come from your account's cache for free. And check several apps in one request, for example ["viber", "whatsapp", "telegram"], so each customer gets a channel they actually have.

What does a Viber-first cost model look like?

The decision is whether checking first saves more than it costs. A check costs a small fraction of a message (see current per-check prices for real-time and bulk on the pricing page), and only conclusive answers are billed. The savings depend on your own message prices, so this example uses invented, illustrative prices. Replace them with your contract's.

Assume 100,000 passcodes a month, a Viber message at $0.010, an SMS at $0.040, and that 55% of your customers have Viber.

StrategyViber messagesSMSMonthly cost (illustrative)
SMS only0100,000$4,000
Viber first, pre-checked (bulk, monthly)55,00045,000$550 + $1,800 = $2,350, plus 100,000 checks in a bulk job at your current price

If your Viber contract already charges only for delivered messages, the pre-check's value is mostly speed, fewer failed attempts in time-critical flows, and planning. If you pay for attempts, it also saves money directly. Either way, run the numbers on your base before committing. Our SMS cost reduction use case covers the broader levers.

How do I measure Viber reach on my customer base?

Run one bulk job over customers who opted in to messages:

Shell
curl https://api.mobilevalidate.com/v1/jobs \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -F file=@opted-in-customers.csv -F checks=viber,whatsapp,telegram
# GET /v1/jobs/{id}?wait=30, then GET /v1/jobs/{id}/download?format=csv

Then compute, per country, true ÷ (true + false) for each app, leaving unknowns out. Estimate the job first with the free POST /v1/jobs/estimate; it returns the maximum cost along with invalid, duplicate and cached counts. The result tells you where a Viber integration pays off and where SMS or another app should stay the main route.

What limits apply to Viber checks?

The same limits apply as for every check, and they're checked before anything is stored or charged:

LimitValue
Numbers and e-mails per real-time lookup100
Numbers and e-mails per bulk job50,000
Checks per request20
Identifiers × checks2,000 per lookup, 100,000 per job
Request rate per key10 per second, burst 20
Consecutive numbers in one request19 at most; 20 or more → 403 suspected_enumeration

Each account also has a daily cap on identifiers checked; GET /v1/limits shows it. For real-time use at sign-up, one request per user is typical, so the rate limit rarely matters. For monthly refreshes, one job of up to 50,000 numbers is far more efficient than many lookups. If you need higher caps for an established use case, ask us. See rate limits and abuse for the full rules.

  • Registration isn't consent. Viber's own business channel is for existing customers and people who expect your messages; the check doesn't change that.
  • Lawful basis and minimal data. Checking a customer's number is likely to be processing of personal data. Under the GDPR you need a lawful basis (Article 6) and should store only the answer and its date (Article 5(1)(c)). Your counsel can confirm what applies to you.
  • No list building. Requests with 20 or more consecutive numbers are refused (403 suspected_enumeration), and our acceptable use policy forbids finding recipients for unsolicited messages.
  • Objections. People can object through our opt-out form; suppressed numbers are skipped and never charged.

Viber is named here descriptively. MobileValidate is not affiliated with Rakuten Viber.

What are the key takeaways?

  • A Viber check answers whether a Viber account exists for a number: registered, not registered or unknown, with checked_at.
  • Because the number is the account, Viber answers are clearer than on username-based apps.
  • Viber matters most in parts of Eastern Europe, the Balkans, the Middle East and Southeast Asia. Measure it on your own base.
  • It runs in real time and in bulk. Don't block users on pending answers, and never overwrite a stored answer with unknown.
  • A pre-check pays off through speed, fewer failed attempts and better planning, even when your Viber contract charges only for delivered messages.
  • See the Viber check and the messaging-app checks guide for every other app.

Sources

  1. Announcement of 100% Acquisition of Viber Media Ltd. — Rakuten, 2014
  2. About Viber — Rakuten Viber, 2026
  3. Viber Business Messages — Rakuten Viber, 2026
  4. General Data Protection Regulation (EU) 2016/679 — European Union, 2016

Frequently asked questions

How do I check if a phone number has Viber?

Send the number to POST /v1/lookup with checks: ["viber"] for up to 100 numbers in real time, or to POST /v1/jobs for lists of up to 50,000. Each answer is registered, not registered or unknown, with the time of the check.

In which countries is a Viber check most useful?

Where Viber is a leading messenger, which includes several countries in Eastern Europe, the Balkans, the Middle East and Southeast Asia. The check accepts numbers from any country, but elsewhere most answers will be not registered.

Do I need a Viber check if Viber Business Messages already falls back to SMS?

Not always. A pre-check helps when you want to avoid the delay of a failed Viber attempt for time-sensitive messages, when you pay for attempts, or when you plan channel mix and budgets across your base.

Does the Viber check return a name or online status?

No. Only whether a Viber account is associated with the number. Names, photos and online status are never returned.

All articles

Know before you send.

Tell us about your use case. We review every request and set you up with test and live keys.