Bulk Whatsapp number checker

 

 How to know if a telephone number has WhatsApp?

The answer is here.

CheckWa has designed this exclusive tool to provide masive information about the phone numbers. Through this API you can check millions of numbers in a short time and provides very valuable information about them. Find out if the user uses whatsapp application and data when it was their last connection, their status phrase and profile picture. If you are interested in this tool you can start a free demo account with 50 credits here https://checkwa.online/wp/register/

PHP Example

<?php

ini_set('display_errors',1);
ini_set('max_execution_time', 9999999);

class CW {
    public function __construct() {
        $this->ch = curl_init();
        $this->url = "https://webservice.checkwa.com/";
        $this->user = "YOUR-USER";
        $this->apikey = "YOUR-API-KEY";
    }
    public function check($action,$cod,$num) {
        $data = array("user" => $this->user, "apikey" => $this->apikey, "action" => $action, "num" => $num, "cod" => $cod); $data_string = json_encode($data,JSON_UNESCAPED_UNICODE);
        curl_setopt($this->ch, CURLOPT_URL, $this->url);
        curl_setopt($this->ch, CURLOPT_POST,true);
        curl_setopt($this->ch, CURLOPT_POSTFIELDS, $data_string);
        curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($this->ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: '. strlen($data_string)));
        curl_setopt($this->ch, CURLOPT_FRESH_CONNECT, true);
        curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($this->ch, CURLOPT_ENCODING , "");
        $response = curl_exec($this->ch);
        return json_decode($response);
    }
}
$cw = new CW();
$check = $cw->check('check','34','666666666');
print_r($check)

?>

PHP Standalone Example

<?php
ini_set('display_errors',1);
ini_set('max_execution_time', 9999999);
class CW {
public function __construct() {
$this->ch = curl_init();
$this->url = "https://webservice.checkwa.com/";
$this->user = "YOUR-USER";
$this->apikey = "YOUR-API-KEY";
}
public function check($action,$cod,$num) {
$data = array("user" => $this->user, "apikey" => $this->apikey, "action" => $action, "num" => $num, "cod" => $cod); $data_string = json_encode($data,JSON_UNESCAPED_UNICODE);
curl_setopt($this->ch, CURLOPT_URL, $this->url);
curl_setopt($this->ch, CURLOPT_POST,true);
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: '. strlen($data_string)));
curl_setopt($this->ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($this->ch, CURLOPT_ENCODING , "");
$response = curl_exec($this->ch);
return json_decode($response);
}
}
?>
<html>
<head>
<style>body { text-align:center;}</style>
</head>
<body>
<form method="POST">
<label for="cod">Prefix</label> <input type="text" name="cod" placeholder="Prefix without +"><br>
<label for="num">Number</label> <input type="text" name="num" placeholder="Number without prefix"><br>
<button type="submit" name="send">Send</button>
</form>
<?php
if ((!empty($_POST['num'])) && (!empty($_POST['cod']))) {
$cw = new CW();
$check = $cw->check('check',$_POST['cod'],$_POST['num']);
if ($check->code == 001) {
echo $check->number.' uses WhatsApp<br>';
echo '<img src="'.$check->picture.'"><br>';
if (!empty($check->lastseen)) { echo 'Last Seen: '.$check->lastseen.'<br>'; }
if (!empty($check->status)) { echo 'Status: '.$check->status.'<br>'; }
}
else if ($check->code == 002) { echo $check->number.' don\'t uses WhatsApp'; }
else { echo 'Error: '.$check->code.' - '.$check->code_desc; }
}
?>
</body>
</html>

Python Example

import requests

username = 'your-username'
apikey = 'your-api-key'
action = 'check'
cod = '34'
num = '666666666'

r = requests.get("https://webservice.checkwa.com/", params={"user": username, "apikey": apikey, "action": action,"num": num,"cod": cod})

print(r.text)

Post example

POST:
https://webservice.checkwa.com/
RAW DATA (Json):
{"user":"YOUR-USER","apikey":"YOUR-API-KEY","action":"check","num":"666666666","cod":"34"}
Response:
{
    "code": "001",
    "checks": 1,
    "limit": 50,
    "number": "34666666666",
    "num": "666666666",
    "cod": "34",
    "lastseen": "now",
    "status": "Hey there! I am using WhatsApp.",
    "picture": "https://mworksdns.com/whatsapp/img/n/34666666666.jpg"

}

Response codes

001 : Use WhatsApp
002 : Don’t use WhatsApp
003 : Username or Password wrong
004 : Unknow action
005 : Number format incorrect
006 : Credit limit exceeded
007 : Account disabled
008 : Your queue is full, wait (Only for public servers)

How it works

First, with a public server, you send your query through our API. And it responds when it obtains the information requested, in this case, the waiting time will depend on several factors, one of them the time that our server takes to obtain the information and another very important factor to be taken into account, is that being a public server, many other users may be using it, so your query will go to the queue.

Second, using private servers guarantees you do not have to wait for that queue. You can also configure it to measure to obtain the best performance according to your requirements. The most common case, get only if this number uses WhatsApp or not, it takes 4 seconds in case of number don’t use WhatsApp and 5 seconds if use it.
That guarantees at least 15,000 numbers per day
If the image is required, the time is extended up to 10 seconds by checking.

In the case of private servers, you can also configure a url for the callback. So you can add thousands of numbers without having to wait for the answer, and you will reach the url indicated with the format you want.

What you need for CWD Pack?

Responses are served in POST mode in callback url.

You need a server with SSL cert and next headers in file:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: x-test-header, Origin, X-Requested-With, Content-Type, Accept");