whatsapp-number-verify
v1.0.1
Published
Verify phone numbers on WhatsApp using Wassenger API
Downloads
44
Maintainers
Readme
WhatsApp Number Verify
A Node.js package to verify if phone numbers exist on WhatsApp and can receive messages.
Provides both programatic API for Node.js / Deno / Bun and command-line interface.
Features
- Verify a single phone number or multiple phone numbers in series
- Verifies if phone numbers are active on WhatsApp
- Returns number is WhatsApp Personal, Business or Enterprise
- Returns number related information such as country, languages, time zone and currencies
- Accepts phone numbers from JSON or CSV files
- Command-line support with human-readable or JSON output
- Programmatic usage for use in your own applications
Requirements
- Node.js 14+ (one-command installation:
curl -L https://bit.ly/n-install | bash) - A Wassenger account (sign up for a free trial)
- Connect your WhatsApp number to Wassenger (2 minutes required)
- Wassenger API token
Installation
Global Installation (for CLI usage)
npm install -g whatsapp-number-verifyOr using yarn:
yarn global add whatsapp-number-verifyLocal Installation (for programmatic usage)
npm install whatsapp-number-verify --saveUsage
CLI Usage
The whatsapp-number-verify command-line tool requires a Wassenger API token, which can be provided via the --token option or the WASSENGER_API_TOKEN environment variable.
# Verify a single phone number
whatsapp-number-verify +1234567890
# Verify multiple phone numbers
whatsapp-number-verify +1234567890 +14155552671
# Verify phone numbers from a JSON file
whatsapp-number-verify --file numbers.json
# Verify phone numbers from a CSV file
whatsapp-number-verify --file numbers.csv
# Output results as JSON
whatsapp-number-verify +1234567890 --json
# Save results to a file
whatsapp-number-verify +1234567890 --output results.jsonProgrammatic Usage
// ESM imports
import { verifyPhoneNumber, verifyPhoneNumbers } from 'whatsapp-number-verify'
// Verify a single phone number
async function checkSingleNumber () {
try {
const result = await verifyPhoneNumber('+1234567890', {
apiToken: process.env.WASSENGER_API_TOKEN
})
console.log(`WhatsApp status: ${result.exists ? 'Exists' : 'Does not exist'}`)
console.log(result)
} catch (error) {
console.error('Error:', error.message)
}
}
// Verify multiple phone numbers
async function checkMultipleNumbers () {
try {
const numbers = ['+1234567890', '+14155552671']
const results = await verifyPhoneNumbers(numbers, {
apiToken: process.env.WASSENGER_API_TOKEN
})
results.forEach(result => {
console.log(`${result.phone}: ${result.exists ? 'Exists' : 'Does not exist'} on WhatsApp`)
})
} catch (error) {
console.error('Error:', error.message)
}
}Input File Formats
JSON
The JSON file can have one of the following structures:
["+1234567890", "+14155552671"]or
[
{ "phone": "+1234567890" },
{ "phone": "+14155552671" }
]or
{
"numbers": ["+1234567890", "+14155552671"]
}CSV
The CSV file should have a column named phone, phoneNumber, phone_number, or simply have the phone numbers in the first column:
phone
+1234567890
+14155552671API Reference
verifyPhoneNumber(phoneNumber, options)
Verifies a single phone number on WhatsApp.
phoneNumber: The phone number to verify (string)options: Configuration objectapiToken: Your Wassenger API token (required)apiUrl: Custom API URL (optional)
Returns: Promise that resolves to the verification result object
verifyPhoneNumbers(phoneNumbers, options)
Verifies multiple phone numbers on WhatsApp in series.
phoneNumbers: Array of phone numbers to verify (string[])options: Configuration objectapiToken: Your Wassenger API token (required)apiUrl: Custom API URL (optional)
Returns: Promise that resolves to an array of verification result objects
Response Example
{
"exists": true,
"phone": "+44234567890",
"wid": "[email protected]",
"isBusiness": true,
"businessInfo": {
"name": "Business Name",
"isApi": false,
"isSmb": true,
"privacyMode": null
},
"link": "https://wa.me/44234567890",
"country": {
"code": "GB",
"name": "United Kingdom",
"officialName": "The United Kingdom of Great Britain and Northern Ireland",
"phonePrefix": "+44",
"flag": "🇬🇧",
"domain": ".gb",
"currency": "GBP",
"currencyName": "Pound",
"languages": [
"en",
"cy",
"gd"
],
"locales": [
"en-GB",
"cy-GB",
"gd"
],
"timezones": [
"Europe/Belfast",
"GB",
"GB-Eire",
"Europe/London"
]
}
}License
MIT
