WhatsApp API
Start at USD $ 19 /month
The most stable y fast
API for WhatsApp
2 styles supported
Native and Chat-api
Chat-api alternative available !!
QR scanning - Not Official - 360dialog not required
Send and receive messages
via HTTP requests
Api for Developers
Designed to integrate WhatsApp with CRM, ERP or website.
Text, image, audio, video, files and location.
Simple and Customizable
Status and Webhook notifications.
We are the only ones that offer Custom Developments !!
Quick access
Scan QR code and enjoy
Small
USD $ 19 /month
- 200 Messages/day
Medium
USD $ 28 /month
- 600 Messages/day
Pro
USD $ 34 /month
- 1.800 Messages/day
Full
USD $ 39 /month
- Over 5.400 Messages/day
* Send image, audio, video and files included in all plans. Max. file size: 2MB.
* Only sent messages are counted. You can receive twice the number of messages of the Plan.
Example: Small Plan, Send 200 and receive 400.
* Only sent messages are counted. You can receive twice the number of messages of the Plan.
Example: Small Plan, Send 200 and receive 400.
Stable, safe and fast chat API
MY_CLIENT_ID='123456'
MY_TOKEN='xyz'
#### Native style ####
curl -X POST "https://api.apichat.io/v1/sendText" \
-H "Content-Type: application/json" \
-H "client-id: $MY_CLIENT_ID" -H "token: $MY_TOKEN" \
-d '{"number": "12345678901", "text": "Hello!"}'
#### Chat-api style ####
curl -X POST "https://api.apichat.io/instance$MY_CLIENT_ID/sendMessage?token=$MY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"phone": 12345678901, "body": "Hello!"}'
//bash: npm install node-fetch import fetch from 'node-fetch'
const MY_CLIENT_ID = '123456'
const MY_TOKEN = 'xyz'
/***** Native style *****/
const body = {number: '12345678901', text: 'Hello!'}
fetch('https://api.apichat.io/v1/sendText', {
method: 'POST',
body: JSON.stringify(body),
headers: {
'Content-Type': 'application/json',
'client-id': MY_CLIENT_ID,
'token': MY_TOKEN
}
})
.then(res => res.json()).then(json => console.log(json))
/***** Chat-api style *****/
const body = {phone: 12345678901, body: 'Hello!'}
fetch(`https://api.apichat.io/instance${MY_CLIENT_ID}/sendMessage?token=${MY_TOKEN}`, {
method: 'POST',
body: JSON.stringify(body),
headers: {'Content-Type': 'application/json'}
})
.then(res => res.json()).then(json => console.log(json))
import requests
MY_CLIENT_ID = '123456'
MY_TOKEN = 'xyz'
#### Native style ####
url = "https://api.apichat.io/v1/sendText"
headers = {
"Content-Type": "application/json",
"client-id": MY_CLIENT_ID,
"token": MY_TOKEN
}
body = {"number": "12345678901", "text": "Hello!"}
res = requests.post(url, json=body, headers=headers)
print(res.json())
#### Chat-api style ####
url = f"https://api.apichat.io/instance{MY_CLIENT_ID}/sendMessage?token={MY_TOKEN}"
headers = {"Content-Type": "application/json"}
body = {"phone": 12345678901, "body": "Hello!"}
res = requests.post(url, json=body, headers=headers)
print(res.json())
Receive messages (Webhook)
Example to mount a basic server to receive new message notification
import express from "express"
const app = express()
app.use(express.json())
app.post('/webhook', async (req, res) => {
res.sendStatus(200)
console.log(req.body)
})
const port = 3000
app.listen(port, async () => {
console.log(`Get a public url using ngrok.com and start with port: ${port}`)
})
from flask import Flask, request
app = Flask(__name__)
@app.route("/webhook", methods=["POST"])
def webhook():
print(request.get_json())
MY_CLIENT_ID='123456'
MY_TOKEN='xyz'
#### Native style ####
curl -X GET "https://api.apichat.io/v1/messages" \
-H "client-id: $MY_CLIENT_ID" -H "token: $MY_TOKEN"
#### Chat-api style ####
curl -X GET \
"https://api.apichat.io/instance$MY_CLIENT_ID/messagesHistory?page=0&count=50&token=$MY_TOKEN"
//bash: npm install node-fetch import fetch from 'node-fetch'
const MY_CLIENT_ID = '123456'
const MY_TOKEN = 'xyz'
/***** Native style *****/
fetch('https://api.apichat.io/v1/messages', {
method: 'GET',
headers: {'client-id': MY_CLIENT_ID, 'token': MY_TOKEN}
})
.then(res => res.json()).then(json => console.log(json))
/***** Chat-api style *****/
fetch(`https://api.apichat.io/instance${MY_CLIENT_ID}/messagesHistory?page=0&count=100&chatId=&token=${MY_TOKEN}`, {
method: 'GET'
})
.then(res => res.json()).then(json => console.log(json))
import requests
MY_CLIENT_ID = '123456'
MY_TOKEN = 'xyz'
#### Native style ####
url = "https://api.apichat.io/v1/messages"
headers = {"client-id": MY_CLIENT_ID, "token": MY_TOKEN}
res = requests.get(url, headers=headers)
print(res.json())
#### Chat-api style ####
url = f"https://api.apichat.io/instance{MY_CLIENT_ID}/messagesHistory?page=0&count=50&token={MY_TOKEN}"
res = requests.get(url)
print(res.json())