Pricing
You pay per check, and only when the check gives a conclusive answer. Each service has one price for real-time lookups and a lower price for bulk jobs. The table on this page shows current prices per check and per 1,000 checks. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate).
Last updated
Messaging apps
| Service | Realtime / check | Realtime / 1,000 | Bulk / check | Bulk / 1,000 |
|---|---|---|---|---|
| Check if a phone number is registered on WhatsApp | $0.0018 | $1.80 | $0.00012 | $0.12 |
| Check if a number is a WhatsApp Business account | $0.0018 | $1.80 | $0.00015 | $0.15 |
| Check if a phone number is registered on Telegram | $0.0005 | $0.50 | $0.0003 | $0.30 |
| Check if a phone number is registered on Viber | $0.00015 | $0.15 | $0.00008 | $0.08 |
| Check if a phone number is registered on Signal | Bulk only | — | $0.0003 | $0.30 |
| Check if a phone number is registered for iMessage | Bulk only | — | $0.0003 | $0.30 |
| Check if a phone number can receive RCS messages | Bulk only | — | $0.0003 | $0.30 |
| Check if a phone number is registered on LINE | Bulk only | — | $0.0008 | $0.80 |
| Check if a phone number is registered on Zalo | $0.0005 | $0.50 | $0.0003 | $0.30 |
| Check if a phone number is registered on Botim | Bulk only | — | $0.0008 | $0.80 |
| Check if a phone number is registered on MAX | Bulk only | — | $0.0015 | $1.50 |
| Check if a phone number is registered on Messenger | Bulk only | — | $0.0005 | $0.50 |
Social networks
| Service | Realtime / check | Realtime / 1,000 | Bulk / check | Bulk / 1,000 |
|---|---|---|---|---|
| Check if a phone number has a Facebook account | $0.00008 | $0.08 | $0.00005 | $0.05 |
| Check if a phone number has an Instagram account | $0.00008 | $0.08 | $0.00005 | $0.05 |
| Check if a phone number has a Threads account | $0.0002 | $0.20 | $0.00015 | $0.15 |
| Check if a phone number has an X (Twitter) account | $0.0003 | $0.30 | $0.00015 | $0.15 |
| Check if a phone number has a TikTok account | Bulk only | — | $0.0015 | $1.50 |
| Check if a phone number has a Snapchat account | Bulk only | — | $0.003 | $3.00 |
| Check if a US or Indian number has a LinkedIn accountUS, IN only | Bulk only | — | $0.0008 | $0.80 |
| Check if a Russian phone number has a VK accountRU only | $0.0015 | $1.50 | $0.0008 | $0.80 |
Consumer apps & accounts
| Service | Realtime / check | Realtime / 1,000 | Bulk / check | Bulk / 1,000 |
|---|---|---|---|---|
| Check if a phone number is linked to an Apple Account | $0.0005 | $0.50 | $0.0003 | $0.30 |
| Check if a phone number has an Amazon account | $0.0005 | $0.50 | $0.0003 | $0.30 |
| Check if a phone number has a Microsoft account | $0.0005 | $0.50 | $0.0003 | $0.30 |
| Check if a phone number has a Netflix account | $0.002 | $2.00 | $0.0015 | $1.50 |
Network & risk
| Service | Realtime / check | Realtime / 1,000 | Bulk / check | Bulk / 1,000 |
|---|---|---|---|---|
| Carrier and line type lookup for any phone numberBeta | $0.0005 | $0.50 | $0.0003 | $0.30 |
| US and Canada carrier lookup for phone numbersUS, CA only | Bulk only | — | $0.003 | $3.00 |
| Phone number spam reputation check (US, CA, DE)Limited accessUS, CA, DE only | $0.0008 | $0.80 | $0.0004 | $0.40 |
Not priced yet: HLR lookup: live mobile network status (coming soon) (coming soon).
Estimate your monthly cost
Pick a volume and the checks you need. The estimate is a maximum; you only pay for conclusive answers. For exact job quotes use the free POST /v1/jobs/estimate.
Estimated maximum per month
$4.20
$0.00042 per identifier × 10,000
- WhatsApp$0.00012
- Carrier lookup$0.0003
Maximum: you're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate), and cache hits are free.
What you are charged for
Every check in a request gets its own answer, and each answer is billed on its own: conclusive answers are charged, everything else is free.
- 1
Send one request
A phone number or an e-mail address, plus up to 20 checks.
- 2
Checks run in parallel
Each check runs on its own, at the same time as the others.
- 3
One answer per check
Yes, no or unknown, with the time we checked.
- 4
Pay only for conclusive answers
Unknown, timeouts, invalid input and duplicates are never charged.
How is a check counted?
A check is one identifier (a phone number or an e-mail address) run against one service. A lookup of 10 numbers with checks: ["whatsapp", "telegram"] contains 20 checks. Each check is billed on its own, and only when its answer is conclusive:
- Account checks (for example "registered on Telegram"): billed for
registered: trueorfalse. Not billed fornull. - Data checks (for example the carrier lookup): billed when the answer carries the service's main data, such as a carrier. "No data" comes back as
unknownand is free. - Spam reputation: every level, including
no_reports, is a conclusive answer and is billed. Unknown and unsupported-country results are free.
Invalid numbers, invalid e-mail addresses, duplicates within a request and suppressed identifiers are never checked, so they never cost anything. Each result shows billed: true or false, so you can reconcile every charge.
How does the balance work?
Your account has a prepaid USD balance. When you send a request, we reserve the most it could cost, meaning every billable check answering conclusively. As answers arrive, we charge only the conclusive ones and give the rest back to your available balance. For a bulk job you can follow this in the job's cost object: estimated_max, reserved, charged and released.
If your balance can't cover the maximum cost, the request is refused with insufficient_balance before anything is checked. GET /v1/account shows your balance, the amount currently reserved and today's usage.
How do I control spend?
max_coston any lookup or job: if the most the request could cost is higher, it's refused withcost_limit_exceededand nothing is charged.- Free estimates:
POST /v1/jobs/estimatereturns the maximum cost of a list before you commit. - Caching: repeat checks inside the freshness window come from your account's cache and are free (
cached: true,billed: false). Sendmax_age: 0only when you need a fresh answer. - Daily caps: each account has a daily cap on numbers, and agent keys can have a daily spend cap.
GET /v1/limitsshows both. - Test keys: build and test your integration for free with the test numbers.
Real time or bulk: which price applies?
The price depends on how you send the check. POST /v1/lookup uses the real-time price. POST /v1/jobs uses the bulk price, whatever the service. Some services, such as the Signal, iMessage and RCS checks, are available in bulk jobs only. For those, the pricing table shows only the bulk price.
Use real time when a person or a process is waiting for the answer, for example during sign-up. Use bulk for lists, scheduled refreshes and anything that can wait a few minutes.
Are there volume prices?
For large or committed volumes, tell us your expected monthly volume and services when you request access. We will discuss committed-volume pricing with you. Prices shown during the private preview may change before public launch. The price that applies to a request is fixed when the request is accepted.
Frequently asked questions
What counts as a conclusive answer?
A completed yes or no for account checks, or a completed answer with data for data checks such as the carrier lookup. Anything else, such as unknown, unsupported country, timeout, invalid or duplicate, is free.
Why is bulk cheaper than real time?
Bulk jobs can be scheduled and batched, so they cost less to run. Real-time lookups answer within the request, which costs more. Every active service is available in bulk; some are available in bulk only.
How do I know what a job will cost before it runs?
Call POST /v1/jobs/estimate. It is free and returns the maximum cost of the job, along with counts of invalid, duplicate, cached and unsupported rows.
Is a spam reputation answer of no_reports charged?
Yes. For spam reputation every level, including no_reports, is a conclusive answer. Unknown and unsupported-country results are free.
Do repeat checks cost money?
Not inside the freshness window. A repeat check of the same number or address for the same service can be served from your account's cache, and cache hits are free. Sending max_age 0 forces a fresh, billed check.
Are test keys charged?
No. Test keys only answer for the documented test numbers and addresses, never reach a real network and are never billed.
Know before you send.
Tell us about your use case. We review every request and set you up with test and live keys.

