On this page
To check a list of Philippine numbers for WhatsApp, convert every row to E.164 (+639…), drop the rows that aren't valid mobiles, remove duplicates, upload the file as a bulk job with the whatsapp check, read the free estimate, and download one answer per number: registered, not registered or unknown. Philippine mobiles are written 09XX XXX XXXX at home and have exactly 10 digits after +63, so the conversion is simple. The traps are a few real mobile blocks that start with 08, SIMs that were switched off when SIM registration closed in 2023, and Viber, which many Filipino customers use alongside or instead of WhatsApp. Check only numbers your customers gave you: the Data Privacy Act needs a lawful basis for every check, and the 2024 anti-scam law targets exactly the kind of mass texting that bought lists feed.
This guide covers what is specific to the Philippines. The general flow is in our bulk WhatsApp number check guide. Facts are as of 8 November 2026, and every price below carries its date. This is general guidance, not legal advice.
How do you format Philippine numbers for a WhatsApp check?
Use the international form: +63, then the number without its leading 0. A CRM export from the Philippines usually holds several spellings of the same mobile:
| Cell in your file | What happened | Fix |
|---|---|---|
0917-XXX-XXXX | National format, as dialled at home | Drop the 0, add +63 |
+63 917 XXX XXXX | International, with spaces | Remove the spaces |
63917XXXXXXX | International without the plus (the wa.me link style) | Add + |
0063 917 XXX XXXX | Dialled from abroad with 00 | Replace 0063 with +63 |
+63 0917 XXX XXXX or +63 (0)917… | International with the trunk 0 kept | Drop the 0 |
917XXXXXXX | The leading 0 was dropped by a spreadsheet | Add +63 |
6.39E+11 | A spreadsheet stored the number as a value and shows it in scientific notation | Can't be fixed: re-export the column as text |
The last row is the one to watch. 639XXXXXXXXX is 12 digits long, and spreadsheets often show numbers that long in scientific notation. If the file is saved that way, the digits behind the E are gone. Format the phone column as text before you open or save the export.
The good news is that a default country is safe for the Philippines. In some countries a cell without a plus can be read as a different, valid national number. We tested that on 2026-11-08 with libphonenumber-js 1.13.13: we generated 94,000 valid Philippine mobile numbers across every 08 and 09 sub-block and parsed each in five spellings (09…, 639…, 9…, +63 09… and 0063…) with the default region PH. All five gave the same +63 number every time, with no mismatches. So default_country: "PH" is safe for a Philippine list, as long as numbers from other countries carry their own +.
This converter does the same for a mobile list. It returns null for anything that isn't a valid Philippine mobile:
import { parsePhoneNumberFromString } from "libphonenumber-js/max";
/** One Philippine list cell → E.164 mobile (+639…), or null. */
export function toE164Ph(raw) {
const s = String(raw).trim();
if (/^\d(\.\d+)?E\+\d+$/i.test(s)) return null; // 6.39E+11: the spreadsheet already lost digits
const p = parsePhoneNumberFromString(s, "PH"); // 09…, 639…, +63 9…, 0063…, 9…, +63 (0)9…
return p?.isValid() && p.country === "PH" && p.getType() === "MOBILE" ? p.number : null;
}We ran it on 2026-11-08 with Node 24 and libphonenumber-js 1.13.13, on libphonenumber's own example number for the Philippines. Digits are masked with X here:
| Input | Output |
|---|---|
0905-XXX-XXXX | +63905XXXXXXX |
+63 905 XXX XXXX | +63905XXXXXXX |
63905XXXXXXX | +63905XXXXXXX |
0063 905 XXX XXXX | +63905XXXXXXX |
+63 (0)905 XXX XXXX | +63905XXXXXXX |
+63 0905 XXX XXXX | +63905XXXXXXX |
905XXXXXXX | +63905XXXXXXX |
6.39051E+11 | null |
0900 XXX XXXX (unused block) | null |
0905XXXXXXXX (one digit too many) | null |
(02) 8XXX XXXX (Metro Manila landline) | null |
+84 912 XXX XXX (a Vietnamese mobile) | null |
The first seven rows are the same customer, so after conversion they collapse into one number. That is what makes the duplicate count honest. Rows from other countries return null here on purpose: put them in their own file or keep their + form. If you'd rather not write code, the free phone list cleaner does the same conversion and dedupe in your browser for up to 50,000 rows, with Philippines as the default country, and nothing is uploaded.
Which Philippine numbers are mobiles, and which should you drop?
Every Philippine mobile has 10 digits after +63, so a length check is safe. It isn't enough, though, because not every 09XX code is in use, and some mobiles don't start with 09 at all. From libphonenumber's metadata for PH:
| Block | Mobile today? |
|---|---|
092, 093, 095, 096, 097 | Yes, the whole block |
090 | Only 0905 to 0909 |
091 | Yes, except 0913 |
094 | Yes, except 0940 and 0941 |
098 | Yes, except 0980, 0982 and 0984 |
099 | Yes, except 0990 |
081 | Only 0813 and 0817 |
089 | Only 0895 to 0898 |
Two practical points follow:
- Don't filter on "starts with 09". That rule, and the tutorial regex
^(?:\+63|0)?9\d{9}$, delete real customers in the0813,0817and0895–0898blocks. Let the numbering metadata decide. - An unused block is a typo or a made-up number. A number such as
0900 XXX XXXXhas the right shape and still can't be a mobile. The converter above drops it, and so does our job: an invalid number is never checked or billed.
Don't use the 09XX code to guess the network either. Under the Mobile Number Portability Act (Republic Act 11202), porting is "completely free of charge" and "in no case shall the entire porting process take more than forty-eight (48) hours" (RA 11202). For a WhatsApp check the network doesn't matter. For SMS routing it does, which is what an HLR or MNP lookup is for.
Why do old Philippine lists hold so many dead numbers?
Because of SIM registration. The SIM Registration Act (Republic Act 11934, approved 10 October 2022) made registration "a pre-requisite to the activation" of every SIM, and gave existing subscribers 180 days, extendable by up to 120 days, to register, on pain of "automatic deactivation of the SIM" (RA 11934). The deadline fell on 25 July 2023, with a grace period to 30 July. SunStar, citing the National Telecommunications Commission (NTC), reported 113,969,014 registered SIMs as of 30 July 2023, about 67.83% of 168,016,400 subscribers, and more than 54 million unregistered SIMs deactivated (SunStar, 2023).
So a customer list collected before mid-2023 can hold a large group of numbers that were never registered and are now switched off, and some of those numbers may since have been given to someone new. A WhatsApp check alone won't sort them out: it tells you whether an account is tied to the number, not whether the SIM is still active on its network. For an old list, run an HLR check on the numbers you plan to message, then treat both answers as dated facts.
Two other provisions matter for senders:
- Registration data stays confidential. Section 9 says registration data "shall be treated as absolutely confidential and shall not be disclosed to any person", except where a law requires it, on a court order after a finding of probable cause, or with the subscriber's written consent. No lookup returns the registered owner of a number, and you shouldn't trust one that claims to.
- Spoofing is a crime. Under section 11(e), spoofing a registered SIM carries at least six years in prison, a fine of ₱200,000, or both. Sender details that misrepresent where a text comes from are a criminal matter, not only a provider policy.
How do you check a list of Philippine numbers on WhatsApp and Viber?
Five steps, from export to answers:
- Export only customers who gave you their number, with your own ID column (for example
crm_id,phone). Format the phone column as text. Leave out bought lists, scraped numbers and number ranges. - Convert and dedupe. Run every cell through a converter like the one above, or the phone list cleaner. Keep the rows that return
nullaside for a manual fix; don't guess the missing digits. - Estimate. Upload the file in the dashboard (Bulk jobs › Upload a list), or send the numbers to
POST /v1/jobs/estimate. The estimate is free, checks nothing and stores nothing. - Run with a cost cap. Start the job with
max_costset to the estimate, so it can never cost more. Choosewhatsapp, addviberif your customers use it, and usewhatsapp.businessinstead ofwhatsappif you also want to know which numbers run a WhatsApp Business account. - Download and join back. The result file keeps your row order (
row_no, one row per number and app); join it back to your own IDs by row number. Store each answer with itschecked_atdate.
A job holds up to 50,000 numbers, and a dashboard file can be up to 10 MB. Bigger exports go into several jobs.
What does the estimate show for WhatsApp and Viber together?
Here is a real estimate made with the public sandbox key on 2026-11-08. The sandbox accepts only our test values, which are UK drama-range numbers, so this shows the behaviour, not Philippine data. The first number is sent three ways: in E.164, with spaces, and in national format with default_country set:
curl https://api.mobilevalidate.com/v1/jobs/estimate \
-H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
-H "Content-Type: application/json" \
-d '{"numbers": ["+447700900001", "+44 7700 900001", "+447700900002", "+447700900003", "07700 900002"],
"checks": ["whatsapp", "viber"], "default_country": "GB"}'Response (abridged):
{
"object": "estimate",
"total": 5,
"valid": 3,
"invalid": 0,
"duplicate": 2,
"checks": ["whatsapp.registered", "viber.registered"],
"max_cost": { "amount": "0", "currency": "USD" },
"breakdown": [
{ "check": "whatsapp.registered", "price_mode": "realtime", "reason": "small_batch", "checks": 3,
"unit_price": { "amount": "0.004", "currency": "USD" }, "countries": ["GB"], "batch_minimum": 132 },
{ "check": "viber.registered", "price_mode": "batch", "reason": "country_minimum", "checks": 3,
"unit_price": { "amount": "0.00015", "currency": "USD" }, "countries": ["GB"],
"minimum_checks": 500, "minimum_charge": { "amount": "0.075", "currency": "USD" },
"note": "Bulk-only check: each country with fewer than 500 numbers is billed at least $0.075 (the price of 500 checks) when it returns at least one answer. Countries with no answers are free." }
]
}Three things to read:
duplicate: 2is the extra spellings, matched becausedefault_countrytold the job which country the national numbers belong to. For your file that is"PH", and a0917…cell and a+63917…cell become one check. Duplicates are never checked or billed.small_batchmeans the WhatsApp bulk price needs at least 132 numbers from the same country in one job. These three test numbers are below it, so they would be checked the real-time way, at the real-time price. A Philippine customer list clears it easily; the handful of overseas Filipino customers with+971or+966numbers in the same file may not, and the estimate shows them on their own line.country_minimumis the Viber rule. Viber runs in bulk jobs only for now, and for bulk-only checks each country is billed at least the price of 500 checks when it returns any answer. For a few test numbers that is US$0.075; for a real Philippine list of thousands it doesn't apply.
max_cost is 0 because test keys are never billed. Details are in the bulk jobs docs.
What does it cost?
From our public catalog (GET /v1/services), fetched on 2026-11-08:
| Check | Bulk job, per 1,000 | Real time, per 1,000 |
|---|---|---|
WhatsApp registration (whatsapp) | US$0.25 | US$4.00 |
WhatsApp Business account (whatsapp.business) | US$0.30 | US$4.00 |
Viber registration (viber) | US$0.15 | bulk only for now |
Live network status, HLR (number.hlr) | US$5.00 | US$6.00 |
Only conclusive answers are billed. Unknown, invalid, duplicate and unsupported rows are free, and so are repeats served from your account's cache. Prices can change; the pricing page always has the current ones.
A worked example with made-up figures, to show the arithmetic: a 40,000-row export converts to 35,200 unique valid Philippine mobiles; the rest are duplicates, landlines, unused blocks and cells lost to scientific notation. A job with both apps can cost at most 35,200 × (US$0.00025 + US$0.00015) = US$14.08. If 5,000 numbers come back registered on neither app and the list is older than mid-2023, an HLR job on those 5,000 costs at most 5,000 × US$0.005 = US$25.00, and tells you which are still live before you send SMS.
How many Filipinos use WhatsApp and Viber?
No public source gives a share you could apply to your list, and we don't publish one. DataReportal's Digital 2026 report for the Philippines, with data to October 2025, counts 137 million cellular mobile connections, equal to 117% of the population, 98.0 million internet users (83.8%) and 95.8 million social media user identities (81.9%) (DataReportal, 2025). It gives no figure for WhatsApp or Viber.
The figures that do exist for Viber come from the company. In February 2025, Viber's chief executive said the Philippines is among Viber's top five user countries out of 190 and that monthly active users grew 21% (Philippine Star, 2025). In October 2026 the company said the Philippines has the highest daily time spent on Viber worldwide and holds 24% of its live business accounts (Newsbytes.PH, 2026). Those are the company's own statements, not independent measurements, but they point the same way as what many Philippine senders see: a customer without WhatsApp is often on Viber.
Two conclusions for a list:
- Check both apps in one job. A
registered: falseon WhatsApp says nothing about Viber, and the Viber check costs less than the WhatsApp one. One job returns both answers per row. - 117% means second SIMs. Many customers hold more than one line, and the one on your list may be the data SIM, not the one their apps are registered on. Don't read
registered: falseas "wrong number"; ask the customer which number they use for messaging at the next contact they expect.
Is WhatsApp cheaper than SMS for OTP in the Philippines?
The Philippines isn't its own market on Meta's rate card. Meta's pricing page lists it, with Vietnam, among the 16 markets of the Rest of Asia Pacific region (Meta pricing). From our rate-card dataset, transcribed from Meta's USD rate cards:
| WhatsApp category, Rest of Asia Pacific (includes PH) | 1 July 2026 | 1 October 2026 |
|---|---|---|
| Authentication | US$0.0113 | US$0.0113 |
| Utility | US$0.0113 | US$0.0113 |
| Marketing | US$0.0732 | US$0.0842 |
| Service (after 1,000 free per month per number) | free | US$0.0113 |
Prices are per delivered message. Meta charges only for delivered messages, so a code sent to a number without WhatsApp costs nothing but time.
Two Philippine specifics:
- No cross-border surcharge. The Philippines isn't on Meta's list of markets with an authentication-international rate (Meta, 2026), so a business based abroad pays the same list rate for a code to a
+63user as a local one. That is different from Indonesia, Malaysia or Pakistan. - SMS links are blocked. In September 2022 the NTC ordered the mobile operators to "deactivate clickable Uniform Resource Locators (URLs), links, and quick response (QR) codes in text messages" to fight text scams (GMA News, 2022). If a message needs a link, such as a delivery tracking page, a WhatsApp or Viber message to a customer who opted in is often the channel that can carry it. Ask your SMS provider in writing which link rules its Philippine routes apply today.
We don't quote SMS prices here: they vary by route, sender type and contract. Put the rate from your own invoice next to the table above, or use the free WhatsApp cost calculator with Philippines selected. Our WhatsApp OTP vs SMS OTP cost guide has the formula for cost per verified user.
What do the Data Privacy Act and the anti-scam law require?
We read the Acts in the LawPhil Project's reproduction of the official text on 2026-11-08. The National Privacy Commission (NPC) website refused our automated requests, so its rules and circular are cited through a reproduction and a law-firm summary; we say so where it matters.
Data Privacy Act of 2012 (Republic Act 10173)
- A lawful criterion for every check. Section 12 allows processing of personal information when at least one criterion applies: the person's consent; a contract with them, or steps they asked for before one; a legal obligation; vital interests; public functions; or the legitimate interests of the controller or a third party, unless the person's fundamental rights and freedoms override them (RA 10173). A channel check on your own customers' numbers can sit under contract or legitimate interests; a check on numbers from a bought list has no obvious basis at all.
- Consent means a real choice. The Act defines consent as a "freely given, specific, informed indication of will", evidenced by written, electronic or recorded means (section 3(b)).
- People can object to direct marketing. The Implementing Rules give data subjects "the right to object to the processing of his or her personal data, including processing for direct marketing, automated processing or profiling" (section 34), and say data sharing for commercial purposes, including direct marketing, needs a data sharing agreement (section 20) (IRR, via ChanRobles).
- Penalties. Unauthorized processing of personal information carries one to three years in prison and a fine of ₱500,000 to ₱2,000,000 (section 25(a)); processing for purposes the person wasn't told about carries one year and six months to five years and ₱500,000 to ₱1,000,000 (section 28).
The NPC's Circular No. 2023-04, Guidelines on Consent, issued on 7 November 2023, tightens how consent works in practice. According to published summaries, it prohibits vague or blanket consent, requires consent to be given through a clear assenting action, says non-response or implied consent isn't valid consent, and requires an assessment of whether direct marketing can rest on legitimate interest or needs consent (ADM Privacy, 2024). Consent can be withdrawn at any time without cost, and withdrawing must be as easy as, if not easier than, giving it (ACCRALAW). We couldn't open the circular on the NPC's own site, so check the official text with counsel before you rely on any one clause.
Anti-Financial Account Scamming Act (Republic Act 12010, 2024)
This act matters even if you're not a bank, because of how it defines the tools scammers use (RA 12010):
- Electronic communications include phone calls, SMS and social-media-platform messages (section 3(b)).
- A "mass mailer" is "a services or software used to send electronic communications to an aggregate of fifty (50) or more recipients" (section 3(g)).
- Economic sabotage. Obtaining someone's account credentials or sensitive identifying information through deception or fraud is an offence, and committing it using a mass mailer makes it economic sabotage, the act's most serious category (section 4).
- Institutions must protect accounts with risk management such as multi-factor authentication and fraud management systems (section 6).
A legitimate business sending codes or notices to its own customers commits no offence under this act. But your bulk messages travel through the same channels as the scam texts it targets, and Filipino recipients have learned to distrust them. Keep one-time passcodes plain: the code, what it is for, and a warning never to share it, without links. And never message numbers you can't show a customer relationship for.
WhatsApp's and Viber's own opt-in rules
WhatsApp's Business Messaging Policy says you may only contact people on WhatsApp if they have given you their mobile number and you have received opt-in permission confirming they want messages from you (WhatsApp, 2026). Viber's business messaging has its own approval process and rules. A registered: true answer on either app is a fact about the number, not permission to message it. Our consent and law guide covers other regions.
| Do | Don't |
|---|---|
| Check numbers from your own sign-ups, orders and support contacts | Check bought lists, scraped numbers or generated ranges |
| Say in your privacy notice that you check which apps reach customers | Treat "registered" as consent to send marketing |
| Store the answer and its date, and delete old jobs | Try to learn who owns a number; registration data is confidential |
| Honour objections to direct marketing at once | Put links in OTP texts, or send from look-alike sender names |
On our side, a request with long runs of consecutive numbers is refused as suspected enumeration, each account has a daily cap, and our acceptable use policy forbids unsolicited bulk messaging and checking ranges to find out who uses an app. Anyone can object through the opt-out form.
What do you do with numbers that are not on WhatsApp?
Route them to a channel that reaches them, and keep the answer:
| Viber | What to do | |
|---|---|---|
registered: true, opted in | any | Send what they asked for on WhatsApp; keep SMS as the fallback |
registered: false | registered: true, opted in to Viber | Use Viber for that customer |
registered: false | registered: false | Use SMS (no links) or a call; on an old list, run HLR first |
| Unknown | Unknown | Keep the current channel, re-check later; both are free |
null from your converter | — | Fix the record by hand, or ask the customer |
For the group on neither app, an HLR check answers the next question: is the number reachable on its network at all? It also shows whether the number was ported, which matters for SMS routing because the 09XX code doesn't tell you. Treat unknown as missing data, never as a dead number, and don't overwrite a stored conclusive answer with an unknown one. Our list cleaning guide shows how to combine the checks.
Re-check before each campaign to opted-in customers, starting with the oldest answers. Numbers change hands, and a Philippine list from before the 2023 registration deadline has drifted more than most.
How do you start with MobileValidate?
The checks for this guide are WhatsApp number check, Viber number check, WhatsApp Business check and live network status (HLR). WhatsApp and HLR take Philippine numbers in real time and in bulk jobs; Viber runs in bulk jobs only for now. You don't need a WhatsApp or Viber account, a phone or a QR pairing.
- Free, today. Get a free test key to build against fixed test answers, and use the free estimate on any file before you pay. The free tools run in your browser: the phone number validator for a few numbers, the list cleaner for a whole export, and the MCC MNC lookup for network codes. To look at one number's network without an account, the carrier lookup answers three numbers a day.
- Real checks free. Every live account can check 20 phone numbers and 10 e-mail addresses for real, free, on the dashboard's Try it page. Request access to open one.
- Then prepay. Top-ups of US$100 or more get a 5% bonus, US$500 or more 8%, and US$2,000 or more 10%.
Results are kept for your account's retention setting, 30 days by default, and you can delete a job's results at any time. A check returns registration facts only, never a name, address or SIM registration data. WhatsApp and Viber are named descriptively; MobileValidate is not affiliated with WhatsApp, Meta, Viber, the NTC or the NPC.
What are the key takeaways?
- Convert every row to
+639…or+638…before upload.09XX…,639…,0063…,+63 0…and9XX…are the same customer, anddefault_country: "PH"read all five spellings correctly in our test of 94,000 numbers. - Format the phone column as text: a cell shown as
6.39E+11has lost digits for good. - Philippine mobiles have 10 digits after +63, but
0813,0817and0895–0898are mobiles too, and several09codes hold no mobiles. - More than 54 million unregistered SIMs were deactivated after the July 2023 deadline: run HLR on old lists before you message them.
- Check WhatsApp and Viber in the same bulk job: US$0.25 and US$0.15 per 1,000 (catalog, 2026-11-08). Unknowns and duplicates are free.
- A WhatsApp authentication message to the Philippines lists at US$0.0113 (Rest of Asia Pacific, 1 October 2026), with no cross-border surcharge.
- The Data Privacy Act needs a lawful criterion for each check and lets people object to direct marketing; check your own customers' numbers, never bought or scraped lists.
Sources
- Republic Act No. 11934, Subscriber Identity Module (SIM) Registration Act (approved 10 October 2022) — Congress of the Philippines (text via the LawPhil Project), 2022
- 54 million unregistered SIM cards deactivated (1 August 2023) — SunStar, 2023
- Republic Act No. 10173, Data Privacy Act of 2012 — Congress of the Philippines (text via the LawPhil Project), 2012
- Implementing Rules and Regulations of the Data Privacy Act of 2012 (text via ChanRobles) — National Privacy Commission, 2016
- Navigating the Privacy Landscape: A Closer Look at Consent Guidelines in the Philippines (NPC Circular No. 2023-04) — ACCRALAW, 2024
- Summary: NPC Circular No. 2023-04, Guidelines on Consent (2 January 2024) — ADM Privacy, 2024
- Republic Act No. 12010, Anti-Financial Account Scamming Act (approved 20 July 2024) — Congress of the Philippines (text via the LawPhil Project), 2024
- NTC orders telcos to block URLs in text spams (13 September 2022) — GMA News, 2022
- Republic Act No. 11202, Mobile Number Portability Act (approved 8 February 2019) — Congress of the Philippines (text via the LawPhil Project), 2019
- Digital 2026: The Philippines — DataReportal (Kepios), 2025
- Viber: Philippines among top 5 user countries (19 February 2025) — The Philippine Star, 2025
- PH becomes Viber's top market for paid subscriptions (15 October 2026) — Newsbytes.PH, 2026
- WhatsApp Business Messaging Policy — WhatsApp, 2026
- Pricing on the WhatsApp Business Platform — Meta for Developers, 2026
- Authentication-international rates — Meta for Developers, 2026
Frequently asked questions
How do I convert 09XX numbers to +63 for a WhatsApp check?
Drop the leading 0 and add +63: 0917 XXX XXXX becomes +63 917 XXX XXXX, written +63917XXXXXXX in E.164. A cell that starts with 63 (the wa.me style, without a plus) only needs the plus, and a cell that starts with 9 lost its 0 in a spreadsheet and needs +63 in front. Every Philippine mobile has 10 digits after +63.
Can I set default_country to PH for a list that mixes 09 and 639 numbers?
Yes. In our test on 2026-11-08, libphonenumber-js 1.13.13 with the default region PH read 94,000 valid Philippine mobiles the same way in five spellings (09…, 639…, 9…, +63 09… and 0063…), with no mismatches. Cells shown as 6.39E+11 have already lost digits and can't be repaired.
Are Philippine numbers starting 08 mobile numbers?
Some are. In libphonenumber's metadata the 0813, 0817 and 0895 to 0898 blocks hold mobile numbers, so a form rule such as "must start with 09" rejects real customers. Some 09 codes, such as 0900 to 0904, 0913, 0940 and 0941, hold no mobile numbers at all.
Can I check Viber and WhatsApp for Philippine numbers in the same job?
Yes. Add both checks to one bulk job and you get one row per number with an answer for each app. The Viber check runs in bulk jobs only for now; on 2026-11-08 our catalog listed it at US$0.15 per 1,000 numbers, with a minimum charge of 500 checks per country in a job that returns any answer.
How much does a bulk WhatsApp check of Philippine numbers cost?
On 2026-11-08 our public catalog listed the WhatsApp registration check at US$0.25 per 1,000 numbers in bulk jobs and US$4.00 per 1,000 in real time. The bulk price needs at least 132 numbers from the same country in one job. Unknown, invalid and duplicate rows are never billed.
Does the Data Privacy Act allow checking customer numbers for WhatsApp?
It can, with a lawful basis. Section 12 of the Data Privacy Act of 2012 lists the criteria, including consent, a contract and legitimate interests that the person's rights don't override. Tell customers in your privacy notice that you check which channels reach them, and honour objections, including to direct marketing.
Does SIM registration let me see who owns a Philippine number?
No. The SIM Registration Act of 2022 makes registration data absolutely confidential, with narrow exceptions such as a court order on probable cause or the subscriber's written consent. No lookup, ours included, returns the registered owner.
Is WhatsApp cheaper than SMS for OTP in the Philippines?
Meta prices the Philippines inside its Rest of Asia Pacific region: US$0.0113 per delivered authentication message on the rate card effective 1 October 2026, unchanged since July. The Philippines has no authentication-international rate on that card, so foreign senders pay the same list rate. Compare it with the SMS rate on your own invoice.
Related services and guides
- ServiceCheck if a phone number is registered on WhatsApp
- ServiceCheck if a phone number is registered on Viber
- ServiceCheck if a number is a WhatsApp Business account
- ServiceHLR lookup API: live mobile network status
- DatasetWhatsApp Business Platform rate cards (USD), 2026-07 and 2026-10
- Free toolPhone list cleaner: dedupe and normalize to E.164
More from the blog
All articlesGuides
Bulk WhatsApp number check: how to verify a customer list (CSV upload or API)
Check WhatsApp numbers in bulk: prepare a CSV, get a free estimate, cap the cost, run the job in the dashboard or API, and act on each answer.
8 min read
Guides
Bulk WhatsApp number check for Indonesian customer lists (+62)
Check an Indonesian customer list for WhatsApp: fix 08, 62 and 8 formats to +62, dedupe, get a free estimate, and stay within the PDP Law (UU 27/2022).
13 min read
Guides
Bulk WhatsApp number check for Malaysian customer lists (+60)
Check a Malaysian customer list for WhatsApp: fix 01X, 011 and 60 formats to +60, dedupe, get a free estimate, and follow the PDPA 2010 and its 2024 amendments.
13 min read

