How to Check if a Phone Number Is on WhatsApp (API)
If you collect phone numbers — from sign-up forms, CRM imports, ad leads, or purchased lists — a surprising share of them won’t be reachable on WhatsApp. Sending campaigns or onboarding flows to numbers that were never registered wastes budget and hurts delivery rates. A WhatsApp number checker solves this by telling you, before you send anything, whether a number is actually registered on WhatsApp.
This guide shows how to check a single number and how to validate numbers in bulk using the WhatsApp Number Validation API.
What “checking a number” returns
A registration check takes a phone number and returns whether it is linked to an active WhatsApp account. Depending on the endpoint, you can also pull public profile data for registered numbers — such as the display name, avatar, “about” text, business profile, and last-seen/presence — which is useful for enrichment and lead scoring.
Step 1 — Get an API key
All requests are authenticated with an API key:
Every new account includes free credits, so you can test the API without paying anything.
Step 2 — Check a single number
Call the check-exist-by-phone operation with the full number in international format (digits only, no +, spaces, or dashes):
curl "https://api.opendata-api.com/api/project/whatsapp/check-exist-by-phone?key=YOUR_API_KEY&phoneNumber=15551234567"
The response tells you whether the number is registered. If you already store the country code and national number separately, the check-exist-by-cc-phone variant accepts them as two fields instead of one combined string.
Number format matters. Always normalize to E.164 digits without the leading
+.15551234567works;+1 (555) 123-4567does not.
Step 3 — Validate numbers in bulk
Checking thousands of leads one request at a time is slow and burns through rate limits. The batch-check-10 operation validates up to 10 numbers in a single request:
curl "https://api.opendata-api.com/api/project/whatsapp/batch-check-10?key=YOUR_API_KEY&accounts=15551234567,15557654321,442071234567"
Pass a comma-separated list and you get back a per-number result in one call — roughly 10× fewer requests for list-cleaning jobs. For larger lists, loop in batches of 10.
Common use cases
- Lead list cleaning — drop numbers that aren’t on WhatsApp before a campaign so you only pay to message reachable contacts.
- Sign-up verification — confirm a user’s number is WhatsApp-enabled before routing OTP or support to it.
- CRM enrichment — attach avatar, about text, and business-profile data to registered contacts.
- Fraud screening — flag throwaway or never-registered numbers during onboarding.
Best practices
- Normalize first. Strip everything but digits and keep the country code.
- Deduplicate your list before checking so you don’t spend credits twice on the same number.
- Cache results. Registration status doesn’t change minute-to-minute; re-check on a schedule (e.g. every few weeks) rather than every send.
- Respect the platform. Only check numbers you have a legitimate basis to process, and follow WhatsApp’s terms and applicable privacy laws (GDPR, etc.) for your region.
Try it now
You can test the checker interactively — no code required — on the WhatsApp Number Validation page, or read the endpoint reference for check-exist-by-phone and batch-check-10. When you’re ready to integrate, grab an API key and start with the free credits on your account.