No restrictions while working, unlike the official API
API Functions - Whatsgate
- Creating and adding new devices
- Display and transmission of QR code
- Getting results via Webhook
- Checking connection status
- Reset, reconnect and other functions
- Checking for new messages
- Sending a text
- Sending media files
- Reception of messages and media files and other functions
- Sending messages to groups
- Sending media to groups
- Receive messages and media from groups
- Inviting participants and other features
Are you using another service and are looking for a replacement?
In 99% of cases, our API
beats the official one
Official API (WABA)
- You cannot connect on your own; a provider is required. Company verification can take several weeks
- You can message only using prebuilt and approved HSM templates
- With WABA, you cannot fully use the mobile app, make calls, or join group chats
- A registered legal entity is required
Our Whatsgate API
- Connect any WhatsApp account in 5 minutes
- Any message format and any number to start a conversation
- Use your account as usual, including calls, group invites, and more
- Work as an individual without legal-entity requirements
Setup takes no more than 5 minutes
Sign up and get 14 days for free
In your dashboard, click Add WhatsApp. In the mobile app, choose "Link a device". Scan the QR code
Wait for the "Ready to work" status. API is connected
API Pricing Plans
You pay only for API access, not per message
- Free support
- 3 accounts
- 19% discount*
- Send text and media messages
- Webhook for receiving text and media messages
- Get information about chats and groups
- Get group participant lists
- Cannot start new chats
- Free support
- 3 accounts
- 19% discount*
- Send text and media messages
- Webhook for receiving text and media messages
- Get information about chats and groups
- Get group participant lists
- Can start new chats
- Free support
- 10 accounts
- 20% discount*
- Send text and media messages
- Webhook for receiving text and media messages
- Get information about chats and groups
- Get group participant lists
- Can start new chats
Developers will love it
Any preferred language can be connected to the WhatsApp API through JSON
You can use ready-made SDKs
for the most popular platforms and languages
Integrate the API gateway with your preferred programming language
- Shell
- PHP
- Python
- Shell
- PHP
- Python
- Shell
- PHP
- Python
- Shell
- PHP
- Python
- Shell
- PHP
- Python
The API runs stably
- Fault-tolerant Hetzner cloud servers
- Data centers certified according to DIN ISO/IEC 27001
- 2nd-gen AMD EPYC and Intel Xeon Gold CPUs
- Ultra-fast NVMe SSD storage
You can verify it yourself We provide free access
Try 14 days for free70% of our clients came from other companies and do not want to leave
Frequently Asked Questions
No. The service provides programmatic interaction with the WhatsApp Web version running on our servers, which ensures high reliability, speed, and 24/7 access to sending and receiving messages.
Getting started takes no more than 5 minutes: register, connect your WhatsApp account, get your X-Api-Key and identifier, and start sending messages. A 14-day free trial is available so you can evaluate the service capabilities and usability.
Yes. WhatsApp policies do not allow third-party automation services, but you can minimize this risk: avoid sending large volumes of repetitive messages to unfamiliar users and avoid spam reports from recipients.
We do not encourage mass messaging, but the service itself does not enforce mailing limits. Use these capabilities at your own risk.
Yes. You can work with group chats the same way as with regular contacts. Group chats have their own identifiers, so you can send and receive messages similarly. Group chat details include the list of users and their roles.
Not sure whether the required features are available? Will the service solve your tasks?
curl -X POST\
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
'https://whatsgate.org/api/v1/send' \
-d '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"async": false,
"recipient": {
"id": "79999999999@c.us"
},
"message": {
"body": "Hello world!"
}
}'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://whatsgate.org/api/v1/send');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"async": false,
"recipient": {
"id": "79999999999@c.us"
},
"message": {
"body": "Hello world!"
}
}');
$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'X-API-Key: YOUR_API_KEY';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
import requests
from json
url = "https://whatsgate.org/api/v1/send"
headers = {
'Accept' : 'application/json'
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
payload = {
"WhatsappID": "YOUR_WHATSAPP_ID",
"async": false,
"recipient": {
"id": "79999999999@c.us"
},
"message": {
"body": "Hello world!"
}
}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.text)
curl -X POST\
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
'https://whatsgate.org/api/v1/get-chats' \
-d '{
"WhatsappID": "YOUR_WHATSAPP_ID"
}'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://whatsgate.org/api/v1/get-chats');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"WhatsappID": "YOUR_WHATSAPP_ID"
}');
$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'X-API-Key: YOUR_API_KEY';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
import requests
from json
url = "https://whatsgate.org/api/v1/send"
headers = {
'Accept' : 'application/json'
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
payload = {
"WhatsappID": "YOUR_WHATSAPP_ID"
}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.text)
curl -X POST\
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
'https://whatsgate.org/api/v1/get-media' \
-d '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"mediaKey": "MESSAGE_MEDIA_KEY"
}'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://whatsgate.org/api/v1/get-media');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"mediaKey": "MESSAGE_MEDIA_KEY"
}');
$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'X-API-Key: YOUR_API_KEY';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
import requests
from json
url = "https://whatsgate.org/api/v1/get-media"
headers = {
'Accept' : 'application/json'
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
payload = {
"WhatsappID": "YOUR_WHATSAPP_ID",
"mediaKey": "MESSAGE_MEDIA_KEY"
}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.text)
curl -X POST\
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
'https://whatsgate.org/api/v1/seen' \
-d '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"recipient": {
"id": "79999999999@c.us"
}
}'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://whatsgate.org/api/v1/seen');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"recipient": {
"id": "79999999999@c.us"
}
}');
$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'X-API-Key: YOUR_API_KEY';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
import requests
from json
url = "https://whatsgate.org/api/v1/seen"
headers = {
'Accept' : 'application/json'
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
payload = {
"WhatsappID": "YOUR_WHATSAPP_ID",
"recipient": {
"id": "79999999999@c.us"
}
}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.text)
curl -X POST\
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
'https://whatsgate.org/api/v1/set-hook' \
-d '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"url": "YOUR_URL"
}'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://whatsgate.org/api/v1/set-hook');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"WhatsappID": "YOUR_WHATSAPP_ID",
"url": "YOUR_URL"
}');
$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'X-API-Key: YOUR_API_KEY';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
import requests
from json
url = "https://whatsgate.org/api/v1/set-hook"
headers = {
'Accept' : 'application/json'
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
payload = {
"WhatsappID": "YOUR_WHATSAPP_ID",
"url": "YOUR_URL"
}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.text)










