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

Plan Limits

WhatsApp is governed by your plan's session count and overall API rate limit (see Rate Limits).

PlanWhatsApp sessionsAPI requests / min
Starter160
Growth3300
Business101,000
EnterpriseUnlimited2,000

Anti-ban Protection

WhatsApp's own anti-spam logic may temporarily throttle your session if you send too quickly. SendAPI's bulk endpoint already paces deliveries between recipients. For direct sends from your own code, keep volume modest — there's no hard per-session limit at the API layer, but burst traffic can get your phone number flagged by WhatsApp itself.

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.