Stable WhatsApp API

for developers and business owners who value their time and budget
From $10/month for 1 account
without restrictions on messages and functions

Try 14 days for free

Try it
We’ll help you move from another service

No restrictions while working, unlike the official API

Program for your tasks without overpaying for unnecessary functions
A ready-made service is always limited to a set of functions
But using our API, any functionality can be programmed
The range of applications is limited only by imagination and business tasks
1
Write first
2
Send messages in bulk
3
Create chatbots
4
Integrate with CRM

API Functions - Whatsgate

Device management
  • Creating and adding new devices
  • Display and transmission of QR code
  • Getting results via Webhook
  • Checking connection status
  • Reset, reconnect and other functions
Message management
  • Checking for new messages
  • Sending a text
  • Sending media files
  • Reception of messages and media files and other functions
Group management
  • 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?

We’ll help you quickly move to our API and give you 14 days free
Technical support will help you transfer your work scenarios
Try 14 days free

In 99% of cases, our API
beats the official one

See the difference
Setup
Ability to message first
Calls and chat usage
Business registration required
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

after that, the API is ready to use immediately

Sign up and get 14 days for free

Register

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

Among the lowest prices on the market
You pay only for API access, not per message
Need more accounts? We will offer custom terms for your use case Contact us and we will work it out
Pay using any convenient method (bank cards, wallets, bank transfer)

Developers will love it

Anyone can handle it, even junior developers
Webhook
User-defined HTTP callbacks are triggered when a message is received or delivery status changes
Full-featured JSON API
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

Send message
  • Shell
  • PHP
  • Python
Returns a list of active chats
  • Shell
  • PHP
  • Python
Returns the media file object attached to a message
  • Shell
  • PHP
  • Python
Sends a command to mark the latest chat messages as seen
  • Shell
  • PHP
  • Python
Sets a webhook to process incoming notifications
  • Shell
  • PHP
  • Python

                    

The API runs stably

with any number of connected accounts and sent messages
No server overload
The number of serving servers scales with load. No more than 5 clients per CPU core
All client sessions are isolated
Each browser runs in its own isolated environment
Your users will always receive messages on time

You can verify it yourself We provide free access

Try 14 days for free
Responsive IT support
We reply to any question within 15 minutes during business hours: Monday-Friday, 07:00-16:00 (UTC)

70% of our clients came from other companies and do not want to leave

Want the same results?

You can verify it yourself.
We provide free access
Try 14 days for free
or get a consultation
?

Frequently Asked Questions

Do you connect the official WhatsApp API?

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.

How do I get started with the service?

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.

Can my account be banned for using the service?

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.

Can I run bulk messaging campaigns?

We do not encourage mass messaging, but the service itself does not enforce mailing limits. Use these capabilities at your own risk.

Is group chat support available?

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?

Let me help and answer any questions you have
or contact us through any channel
Denis
Service creator
Personally faced the challenge of automating WhatsApp routine work in his online store
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)