Skip to content

WhatsApp API Overview

The WhatsApp API lets you send and receive WhatsApp messages programmatically at scale. You can connect multiple WhatsApp phone numbers (sessions), send text, images, documents, and template messages, manage groups, and receive real-time delivery events via webhooks.

Base URL

All WhatsApp API requests are made to:

https://sendapi.co/v1/whatsapp

Authentication

All requests require a Bearer token in the Authorization header:

Authorization: Bearer sk_live_YOUR_API_KEY

Endpoints

MethodEndpointDescription
POST/v1/whatsapp/sessionsCreate a new WhatsApp session
GET/v1/whatsapp/sessionsList all sessions
GET/v1/whatsapp/sessions/{id}Get a single session
DELETE/v1/whatsapp/sessions/{id}Delete a session
GET/v1/whatsapp/sessions/{id}/qrGet QR code for pairing
POST/v1/whatsapp/sendSend a message
POST/v1/whatsapp/send-bulkSend bulk messages
GET/v1/whatsapp/messagesList message history
GET/v1/whatsapp/messages/{id}Get a single message
POST/v1/whatsapp/groupsCreate a group
GET/v1/whatsapp/groupsList all groups
PUT/v1/whatsapp/groups/{id}Update a group
GET/v1/whatsapp/contactsList contacts
GET/v1/whatsapp/contacts/{phone}/checkCheck if a number is on WhatsApp

Rate Limits

PlanMessages per minuteMessages per day
Starter10500
Growth605,000
Business20050,000

Anti-ban Protection

To protect your WhatsApp account from being banned, the API enforces a maximum of 30 messages per minute and 1,000 messages per day per session. Random delays of 1–3 seconds are applied between messages automatically.

Message Types

The WhatsApp API supports the following message types:

TypeDescription
textPlain text message with optional formatting
imageImage message (URL or base64)
videoVideo message
audioAudio message
documentFile attachment with filename
locationGeographic location (lat/lng + label)
contactvCard contact
templatePre-approved Meta Business template
interactiveButtons or list messages
pollPoll with multiple options

Session Lifecycle

A WhatsApp session represents a connected phone number. Sessions go through the following states:

PENDING → CONNECTED → DISCONNECTED → (reconnecting) → CONNECTED
  • PENDING: Session created, waiting for QR code scan
  • CONNECTED: Phone paired, messages can be sent
  • DISCONNECTED: Session lost, auto-reconnect in progress

Next Steps

Released under the MIT License.