WhatsApp Phone Number Validator | Bulk Verification API (2025)

WhatsApp Phone Number Validator | Bulk Verification API (2025)

by clearpath

Check if phone numbers have WhatsApp. Bulk validate up to 10,000 numbers per run from CSV, Excel, or direct input. Returns yes/no for each number. Use...

126 runs
28 users
Try This Actor

Opens on Apify.com

About WhatsApp Phone Number Validator | Bulk Verification API (2025)

Check if phone numbers have WhatsApp. Bulk validate up to 10,000 numbers per run from CSV, Excel, or direct input. Returns yes/no for each number. Used by marketing teams, sales reps, and lead gen agencies to clean contact lists before WhatsApp campaigns.

What does this actor do?

WhatsApp Phone Number Validator | Bulk Verification API (2025) is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.

Key Features

  • Cloud-based execution - no local setup required
  • Scalable infrastructure for large-scale operations
  • API access for integration with your applications
  • Built-in proxy rotation and anti-blocking measures
  • Scheduled runs and webhooks for automation

How to Use

  1. Click "Try This Actor" to open it on Apify
  2. Create a free Apify account if you don't have one
  3. Configure the input parameters as needed
  4. Run the actor and download your results

Documentation

WhatsApp Phone Number Validator | Bulk Verification API (2025) WhatsApp number validation API - Verify up to 10,000 phone numbers per run and instantly know which ones have active WhatsApp accounts. Demo Stop wasting money on invalid WhatsApp contacts. This actor checks any phone number against WhatsApp's registration database and returns a simple yes/no for each number. Perfect for cleaning contact lists, validating leads, or building WhatsApp marketing campaigns. - ✅ Bulk processing - Validate up to 10,000 numbers per run - ✅ Multiple input formats - Direct input, CSV, or Excel files - ✅ Smart parsing - Auto-detects phone columns and normalizes formats - ✅ Global coverage - Works with phone numbers from any country - ✅ No WhatsApp account needed - Fully automated validation --- ## Use Cases ### Marketing Teams Clean lists before WhatsApp campaigns. Stop paying for messages to invalid numbers. ### Sales Teams Prioritize leads with active WhatsApp. Add WhatsApp status to CRM records. ### Lead Gen Agencies Validate purchased or scraped lists before selling. Ensure deliverability. ### E-commerce Identify customers who can receive WhatsApp order updates and support. ### Developers Bulk enrichment via API. Connect with Zapier, Make, n8n for automation. --- ## Pricing | Apify Plan | Per Number | Per 1,000 | |------------|------------|-----------| | Free | 10 numbers free | - | | No subscription | $0.003 | $3.00 | | Bronze | $0.0025 | $2.50 | | Silver | $0.002 | $2.00 | | Gold | $0.001 | $1.00 | ### Examples | Numbers | No subscription | Bronze | Silver | Gold | |---------|-----------------|--------|--------|------| | 100 | $0.30 | $0.25 | $0.20 | $0.10 | | 1,000 | $3.00 | $2.50 | $2.00 | $1.00 | | 10,000 | $30.00 | $25.00 | $20.00 | $10.00 | Duplicates are auto-removed — you only pay for unique numbers. --- ## Quick Start ### Basic - Direct Input json { "phoneNumbers": [ "+1234567890", "+4915123456789", "+447911123456" ] } ### From CSV File json { "csvFile": "https://example.com/contacts.csv" } ### From Excel File json { "csvFile": "https://example.com/contacts.xlsx" } ### Combined Input json { "phoneNumbers": ["+1234567890"], "csvFile": "https://example.com/more-contacts.csv" } --- ## Input Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | phoneNumbers | array | No | List of phone numbers with country code (e.g., +1234567890). Max 10,000. | | csvFile | string | No | URL or Apify Key-Value store key to CSV or Excel (.xlsx) file with phone numbers | | defaultCountryCode | string | No | Country code to prepend to numbers without a + prefix (e.g., 91 for India, 1 for US) | | onlyWhatsappUsers | boolean | No | Only output numbers that have WhatsApp (default: false) | At least one of phoneNumbers or csvFile is required. ### Phone Number Formats The actor accepts phone numbers in various formats and normalizes them automatically: +1234567890 ✅ E.164 (preferred) 1234567890 ✅ Without plus +1 234 567 890 ✅ With spaces +1-234-567-890 ✅ With dashes (123) 456-7890 ✅ US format ### Numbers Without Country Code If your CSV contains local numbers without country code prefix (e.g., 9876543210 instead of +919876543210), use the defaultCountryCode field: json { "csvFile": "https://example.com/indian-contacts.csv", "defaultCountryCode": "91" } | Your CSV | Default Country Code | Result | |----------|---------------------|--------| | 9876543210 | 91 | +919876543210 (India) ✅ | | 5551234567 | 1 | +15551234567 (US) ✅ | | +447911123456 | 91 | +447911123456 (unchanged) ✅ | Numbers that already have a + prefix are not modified. ### CSV/Excel File Requirements - Supported formats: .csv, .xlsx - Delimiters: Comma, semicolon, tab, pipe (auto-detected) - Column detection: Automatically finds phone columns including: - Standard: phone, mobile, cell, tel, telephone, whatsapp - Variations: phone number, mobile number, cell phone, contact number - CRM exports: mobile phone, direct phone, work phone, personal phone, primary phone - International: telefon, telefono, téléphone, celular, handy - Fallback: Uses first column if no phone column detected --- ## Output Each validated number returns: | Field | Type | Description | |-------|------|-------------| | phoneNumber | string | Phone number in E.164 format | | originalInput | string | Original input as provided | | countryCode | string | Detected country code (e.g., US, DE, GB) | | isValidFormat | boolean | Whether the phone number has a valid format (7-15 digits) | | hasWhatsapp | boolean | true if number has WhatsApp, false otherwise | | checkedAt | string | ISO 8601 timestamp of validation | ### Output Example json [ { "phoneNumber": "+1234567890", "originalInput": "+1234567890", "countryCode": "US", "isValidFormat": true, "hasWhatsapp": true, "checkedAt": "2025-01-15T10:30:00.000Z" }, { "phoneNumber": "+4915123456789", "originalInput": "+49 151 23456789", "countryCode": "DE", "isValidFormat": true, "hasWhatsapp": true, "checkedAt": "2025-01-15T10:30:00.000Z" }, { "phoneNumber": "+447911123456", "originalInput": "447911123456", "countryCode": "GB", "isValidFormat": true, "hasWhatsapp": false, "checkedAt": "2025-01-15T10:30:00.000Z" } ] --- ## API Integration ### Python python from apify_client import ApifyClient client = ApifyClient("your_api_token") run = client.actor("clearpath/whatsapp-phone-number-validator-api").call( run_input={ "phoneNumbers": ["+1234567890", "+4915123456789"] } ) for item in client.dataset(run["defaultDatasetId"]).iterate_items(): status = "✅ WhatsApp" if item["hasWhatsapp"] else "❌ No WhatsApp" print(f"{item['phoneNumber']}: {status}") ### JavaScript javascript import { ApifyClient } from 'apify-client'; const client = new ApifyClient({ token: 'your_api_token' }); const run = await client.actor('clearpath/whatsapp-phone-number-validator-api').call({ phoneNumbers: ['+1234567890', '+4915123456789'] }); const { items } = await client.dataset(run.defaultDatasetId).listItems(); items.forEach(item => { const status = item.hasWhatsapp ? '✅ WhatsApp' : '❌ No WhatsApp'; console.log(`${item.phoneNumber}: ${status}`); }); ### cURL bash curl -X POST "https://api.apify.com/v2/acts/clearpath~whatsapp-phone-number-validator-api/runs?token=YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"phoneNumbers": ["+1234567890", "+4915123456789"]}' --- ## Advanced Usage ### Validate from Google Sheets Export your Google Sheet as CSV and use the public URL: json { "csvFile": "https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/export?format=csv" } ### Large Batch Processing For lists over 10,000 numbers, split into multiple runs: python from apify_client import ApifyClient client = ApifyClient("your_api_token") all_numbers = [...] # Your large list # Split into chunks of 10,000 chunks = [all_numbers[i:i+10000] for i in range(0, len(all_numbers), 10000)] all_results = [] for chunk in chunks: run = client.actor("clearpath/whatsapp-phone-number-validator-api").call( run_input={"phoneNumbers": chunk} ) results = list(client.dataset(run["defaultDatasetId"]).iterate_items()) all_results.extend(results) print(f"Validated {len(all_results)} numbers") ### Filter WhatsApp Users Only Use the onlyWhatsappUsers option to only output numbers with WhatsApp: json { "phoneNumbers": ["+1234567890", "+4915123456789"], "onlyWhatsappUsers": true } Or filter programmatically: python whatsapp_users = [item for item in results if item["hasWhatsapp"]] print(f"Found {len(whatsapp_users)} WhatsApp users") --- ## FAQ Q: How accurate is the validation? A: Checks directly against WhatsApp's registration database. Results reflect status at time of validation. Q: What countries are supported? A: All countries where WhatsApp operates. Numbers must include country code. Q: Do I need a WhatsApp account? A: No. Fully automated, no WhatsApp credentials required. Q: How fast is it? A: ~1-2 minutes per 1,000 numbers. Q: What about duplicates? A: Auto-removed after normalization. You're only charged for unique numbers. --- ## Related Actors - Telegram Phone Number Validator - Bulk validate phone numbers for Telegram accounts. Minimum 1,000 numbers per run. --- ## 📧 Support - Email: max@mapa.slmail.me - Feature Requests: Email or submit via issues - Response Time*: Typically within 24 hours --- ## Legal This actor validates publicly available WhatsApp registration status. Users are responsible for complying with WhatsApp's Terms of Service and applicable data protection regulations (GDPR, CCPA).

Common Use Cases

Market Research

Gather competitive intelligence and market data

Lead Generation

Extract contact information for sales outreach

Price Monitoring

Track competitor pricing and product changes

Content Aggregation

Collect and organize content from multiple sources

Ready to Get Started?

Try WhatsApp Phone Number Validator | Bulk Verification API (2025) now on Apify. Free tier available with no credit card required.

Start Free Trial

Actor Information

Developer
clearpath
Pricing
Paid
Total Runs
126
Active Users
28
Apify Platform

Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.

Learn more about Apify

Need Professional Help?

Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.

Find a Specialist

Trusted by millions | Money-back guarantee | 24/7 Support