The WhatsApp Checker API allows you to check if phone numbers are registered on WhatsApp. This documentation provides details about available endpoints, authentication, and usage guidelines.
To use this API, you need an API key that can be obtained through our Telegram bot or via the registration endpoint described below.
All API requests (except registration and verification) require an API key to be included in the request headers:
x-api-key: your_api_key_here
Keep your API key secure. Do not share it with others or expose it in client-side code.
Register with your phone number to get a verification code.
{
"phoneNumber": "+12025550108",
"telegramId": "1234567890" // Optional, if you want code sent to your Telegram
}
{
"message": "Verification code generated",
"code": "123456",
"expires": "2025-04-27T15:42:00.000Z"
}
Verify your phone number with the code received to get an API key.
{
"phoneNumber": "+12025550108",
"code": "123456"
}
{
"message": "Phone verified successfully",
"apiKey": "your_api_key_here"
}
Check if phone numbers are registered on WhatsApp.
x-api-key: your_api_key_here
{
"numbers": ["+12025550108", "+12025550109"]
}
{
"success": true,
"results": [
{
"number": "+12025550108",
"registered": true,
"status": "registered"
},
{
"number": "+12025550109",
"registered": false,
"status": "not_registered"
}
]
}
Maximum 10 numbers per request.
Get usage statistics for your API key.
x-api-key: your_api_key_here
{
"success": true,
"stats": {
"totalChecks": 100,
"registeredCount": 75,
"notRegisteredCount": 25,
"registeredPercentage": "75.00",
"recentChecks": [
{
"number": "+12025550108",
"result": "registered",
"timestamp": "2025-04-28T12:34:56.789Z"
},
// ... more checks
]
}
}
const axios = require('axios');
// Step 1: Register your phone number
async function registerPhone() {
try {
const response = await axios.post('http://192.168.102.35:3000/api/register', {
phoneNumber: '+12025550108',
telegramId: '1234567890' // Optional, if you want code sent to your Telegram
});
console.log('Verification code:', response.data.code);
console.log('Expires:', response.data.expires);
// Save the verification code to use in the next step
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
// Step 2: Verify your phone with the code
async function verifyCode() {
try {
const response = await axios.post('http://192.168.102.35:3000/api/verify', {
phoneNumber: '+12025550108',
code: '123456' // The code you received from the registration response
});
console.log('Your API key:', response.data.apiKey);
// Save this API key securely
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
// Step 3: Use the API key to check phone numbers
async function checkNumbers() {
try {
const response = await axios.post('http://192.168.102.35:3000/api/check', {
numbers: ['+12025550108', '+12025550109']
}, {
headers: {
'x-api-key': 'your_api_key_here'
}
});
console.log(response.data);
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
import requests
# Step 1: Register your phone number
def register_phone():
url = 'http://192.168.102.35:3000/api/register'
payload = {
'phoneNumber': '+12025550108',
'telegramId': '1234567890' # Optional
}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
print(f"Verification code: {data['code']}")
print(f"Expires: {data['expires']}")
# Save the verification code to use in the next step
else:
print(f"Error: {response.status_code}", response.text)
# Step 2: Verify your phone with the code
def verify_code():
url = 'http://192.168.102.35:3000/api/verify'
payload = {
'phoneNumber': '+12025550108',
'code': '123456' # The code you received from registration
}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
api_key = data['apiKey']
print(f"Your API key: {api_key}")
# Save this API key securely
else:
print(f"Error: {response.status_code}", response.text)
# Step 3: Use the API key to check phone numbers
def check_numbers():
api_key = 'your_api_key_here'
url = 'http://192.168.102.35:3000/api/check'
headers = {
'x-api-key': api_key
}
payload = {
'numbers': ['+12025550108', '+12025550109']
}
response = requests.post(url, json=payload, headers=headers)
if response.status_code == 200:
print(response.json())
else:
print(f"Error: {response.status_code}", response.text)
// Step 1: Register your phone number
function registerPhone() {
$url = 'http://192.168.102.35:3000/api/register';
$data = [
'phoneNumber' => '+12025550108',
'telegramId' => '1234567890' // Optional
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($data)
]);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
$result = json_decode($response, true);
echo "Verification code: " . $result['code'] . "\n";
echo "Expires: " . $result['expires'] . "\n";
// Save the verification code to use in the next step
} else {
echo "Error: $httpCode - $response";
}
curl_close($curl);
}
// Step 2: Verify your phone with the code
function verifyCode() {
$url = 'http://192.168.102.35:3000/api/verify';
$data = [
'phoneNumber' => '+12025550108',
'code' => '123456' // The code you received from registration
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($data)
]);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
$result = json_decode($response, true);
echo "Your API key: " . $result['apiKey'] . "\n";
// Save this API key securely
} else {
echo "Error: $httpCode - $response";
}
curl_close($curl);
}
// Step 3: Use the API key to check phone numbers
function checkNumbers() {
$apiKey = 'your_api_key_here';
$url = 'http://192.168.102.35:3000/api/check';
$data = [
'numbers' => ['+12025550108', '+12025550109']
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
"x-api-key: $apiKey"
],
CURLOPT_POSTFIELDS => json_encode($data)
]);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
$result = json_decode($response, true);
print_r($result);
} else {
echo "Error: $httpCode - $response";
}
curl_close($curl);
}
Status Code | Description |
---|---|
400 | Bad Request - Invalid parameters or request format |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - API key is disabled |
429 | Too Many Requests - Rate limit exceeded |
500 | Server Error - Please contact support |