# Check if a phone number is registered on Viber

> Find out whether a phone number has a Viber account before you send a code or notification. Real time or bulk; unknown answers are free.

Canonical: https://mobilevalidate.com/services/viber-number-check · Last updated: 2026-09-25

![A phone with chat bubbles; one messaging-app check says registered, another is unknown.](https://mobilevalidate.com/images/messaging-app-registration-check.svg)

*Messaging-app checks answer registered, not registered or unknown, with the time we checked.*


The Viber check answers whether a phone number has a Viber account. It returns `registered: true`, `false` or `null` (unknown) with the time of the check. It runs in real time or in bulk jobs, for numbers from any country. Nothing is sent to the number, and no name, photo or online status is returned.

## What does the Viber check tell you?

It tells you whether a Viber account is associated with the number. Viber identifies users by their phone number: you install the app on a phone, confirm the number, and your contacts see you under that number. There is no username layer on top, so the number is the account.

- `registered: true`: a Viber account exists for the number.
- `registered: false`: a conclusive answer that there is no account.
- `registered: null`: no conclusive answer; `status` and `reason` explain why. It is not charged.

Viber launched in 2010 and has been owned by the Japanese company Rakuten since 2014 (Rakuten press release, February 2014). Accounts can outlive the phone they were created on, and numbers get recycled by carriers, so read `registered` together with `checked_at`, and keep `max_age` short where freshness matters.

## Who uses it, and why?

Viber's footprint is regional. In several countries of Eastern Europe, the Balkans, the Middle East and Southeast Asia it is one of the most-used messengers. Elsewhere it plays a smaller part.

- **Cheaper delivery of expected messages.** Viber offers paid business messaging with a branded sender, which many companies in Viber-heavy markets use for transactional messages and codes, falling back to SMS when the person has no account. Checking first keeps undeliverable Viber attempts, and the delay they cause, out of the flow. See [SMS cost reduction](/use-cases/sms-cost-reduction).
- **Channel order per market.** Teams operating across countries check [WhatsApp](/services/whatsapp-number-check), [Telegram](/services/telegram-number-check) and Viber in one request and choose the channel the customer opted into and actually has.
- **Deliverability signal.** A Viber account shows the number passed a phone-based activation at some point. Together with a [carrier lookup](/services/carrier-lookup), this helps separate live mobile numbers from typos and landlines.

## What do you get back?

One result per number in `checks["viber.registered"]`; no extra attributes.

| Field | Type | Meaning |
|---|---|---|
| `registered` | boolean or null | `true` account exists, `false` no account, `null` unknown |
| `status` | enum | `completed`, `pending`, `unknown`, `unsupported_country` or `failed` |
| `confidence` / `confidence_score` | enum / 0–1 | How sure the answer is |
| `checked_at` | timestamp | When the answer was obtained |
| `cached` / `age_seconds` | boolean / integer | Cache details |
| `billed` | boolean | Whether the check was charged |
| `reason` | string or null | Why the answer is not conclusive |

## How is it billed?

Per number, only for conclusive answers. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Real-time and bulk checks have separate prices. See [pricing](/pricing).

Within the freshness window a repeat check can be answered from your account's cache, free of charge (`cached: true`, `billed: false`). Use `max_age: 0` for a fresh, billed answer and `max_cost` to cap a request.

## What are the limits?

The Viber check works in real time (`POST /v1/lookup`, up to 100 numbers, wait up to 30 seconds) and in bulk jobs (`POST /v1/jobs`, up to 50,000 numbers and e-mails). All countries are accepted.

- Up to 20 checks per request, and numbers × checks up to 2,000 per lookup or 100,000 per job.
- Requests that look like sequential number ranges or generated e-mail lists are rejected (`suspected_enumeration`).
- Each account has a daily number cap (`GET /v1/limits`).
- Numbers written without a country code need `default_country` to be read correctly.

## How do I use it responsibly?

Use the check to decide how to reach customers who asked to hear from you, not to find new people to message. Viber's business messaging requires approved senders and opted-in recipients, and our [acceptable use policy](/legal/acceptable-use) forbids unsolicited bulk messaging and scanning number ranges. Keep a lawful basis for every list you check. People whose numbers were checked can object via the [opt-out form](/opt-out).

## Example request

Test keys are free and never reach a real network. `+447700900001` answers "registered". See [test mode](/docs/test-mode).

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

Response (excerpt, test mode: the first item of `results`):

```json
{
  "kind": "phone",
  "input": "+447700900001",
  "e164": "+447700900001",
  "country": "GB",
  "number_status": "valid",
  "checks": {
    "viber.registered": {
      "service": "viber.registered",
      "status": "completed",
      "registered": true,
      "attributes": null,
      "confidence": "high",
      "confidence_score": 0.99,
      "checked_at": "2026-09-25T14:25:29.589Z",
      "cached": false,
      "age_seconds": 0,
      "billed": false,
      "reason": null,
      "poll_after_ms": null
    }
  },
  "test": true
}
```

## Frequently asked questions

### In which countries is the Viber check most useful?

The check works for numbers from any country. It is most useful where Viber is a leading messenger, which includes several countries in Eastern Europe, the Balkans, the Middle East and Southeast Asia.

### Does a Viber account mean the number is a mobile number?

Usually. Viber is registered on a phone with the number activated by a code, so an account is a good sign the number was used on a smartphone. It is not proof of the current owner.

### Can I use the result to send Viber business messages?

Only to people who agreed to receive them. Viber business messaging has its own rules and approval process; our check only tells you whether the number has an account.

### What makes a Viber answer unknown?

Mostly a check that did not complete in time. Unknown answers have registered set to null and are never charged.

### Is the Viber name or photo returned?

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

## Service code and modes

- Code: `viber.registered` (input: phone number)
- Modes: realtime and bulk · worldwide

## Price (live)

- Realtime (POST /v1/lookup): $0.00015 per check ($0.15 per 1,000)
- Bulk (POST /v1/jobs): $0.00008 per check ($0.08 per 1,000)
- You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate).

## Response fields (from the public catalog)

| Field | Type | Meaning |
|---|---|---|
| registered | boolean or null | true = found, false = not found, null = unknown (not charged) |
| status | enum | completed, pending, unknown, unsupported_country, failed |
| checked_at | timestamp | When the answer was obtained |

_Platform and brand names are used only to describe which service a check refers to. MobileValidate is not affiliated with, endorsed by or sponsored by any of these companies; all trademarks belong to their owners._
