Send bulk campaigns from the dashboard — no code required — or integrate our REST API into your app. Connect multiple numbers, no per-message fees, real-time webhooks. Add Human-mode when outreach needs natural pacing and typing indicators.
# Send a WhatsApp message curl -X POST \ 'https://api.enosend.com/v1/instances/INSTANCE_ID/messages/text' \ -H 'Authorization: Bearer wa_live_…' \ -d '{"number":"233244000000","text":"Hello!"}'
Enable Human-mode on any connected number and every send flows through presence, typing, and natural pacing — your code stays exactly the same. Bulk Messaging is free; Human-mode is the optional upgrade for campaign-style outreach.
await fetch(`${API}/messages/text`, { method: 'POST', headers: { 'Authorization': `Bearer ${KEY}` }, body: JSON.stringify({ number: '233244000000', text: '{Hi|Hey|Hello}, your order is on the way!', }), });
{Hi|Hey|Hello} → pick a variantEach product is a clean REST surface with shared billing, auth, and webhooks. Plug in once — get the whole platform.
A clean REST API to send messages, manage sessions, receive webhook events, and connect WhatsApp to any system — your AI, n8n, Zapier, or your own backend.
Learn moreBuild contact lists, launch scheduled WhatsApp campaigns, and track delivery in real time — included free. Add Human-mode on your connected number when you want presence, typing, and paced delivery for campaign-style sends.
Free campaigns · Human-mode optionalMost competitors sell only an API. EnoSend gives marketers a full campaign builder for free — and developers the REST endpoints they expect.
Import contacts, write your message, schedule or send now. Track delivery and read rates from one dashboard. Perfect for promotions, reminders, and customer updates.
Send and receive from your backend, bot, or automation. Signed webhooks, multiple instances, and SDK-friendly JSON — integrate in minutes.
Full documentation, an interactive API tester, signed webhooks, and code examples — go from zero to your first message in minutes.
// 1. Receive webhook app.post('/webhook', async (req, res) => { const { event, data } = req.body; if (event === 'MESSAGES_UPSERT' && !data.key.fromMe) { // 2. Send to your AI const reply = await askAI(data.message.conversation); // 3. Reply via the API await fetch(`${API}/instances/${INSTANCE}/messages/text`, { method: 'POST', headers: { 'Authorization': `Bearer ${KEY}` }, body: JSON.stringify({ number: data.key.remoteJid.split('@')[0], text: reply }) }); } res.sendStatus(200); });
Pure REST + JSON — official SDK examples for the popular stacks, plus copy-paste snippets in the docs.
Not just plain text — everything WhatsApp supports, surfaced as clean endpoints.
Formatted text, mentions, links — markdown-style bold and italic.
JPG, PNG, GIF, MP4 — with caption support and inline previews.
PDF, DOCX, XLSX, CSV — anything up to WhatsApp's 100 MB limit.
OGG / MP3 voice messages, play-once mode, recorded audio.
vCards with multiple numbers, emails and addresses.
Pin a location, run an interactive poll, button menus.
Link your WhatsApp once — then launch a bulk campaign from the dashboard or integrate the API into your stack.
Scan a QR code to link your number securely. We hold the session server-side — your phone can stay in your pocket.
Fire POST /messages/text from your app, or launch a Bulk Messaging campaign from the dashboard. Text, media, polls — all supported.
Set a webhook URL for incoming messages and delivery events. Build bots, notifications, or a full inbox on top.
Anything that needs to send, receive, or react to a message — you own the logic.
Hook MESSAGES_UPSERT, pass the text to your AI (OpenAI / Claude / Gemini), reply via the send API. Full bot in under 50 lines.
Use the webhook URL as a trigger. Route messages, send notifications, update CRMs — no code needed.
Order confirmations, booking reminders, payment receipts — fire a POST when an event happens, message lands instantly.
Agencies can spin up isolated WhatsApp sessions per client via the API. Volume discounts on the Partner plan.
Pull message history, chats, contacts. Sync into your helpdesk or build your own inbox UI.
Bulk Messaging is free — import lists, schedule campaigns, and track delivery in real time. Upgrade a number with Human-mode when you want natural pacing and typing indicators on outreach sends.
It's REST + JSON — if it can speak HTTP, it can use this API.
402 insufficient_funds. Set up auto top-up to avoid interruption — refills automatically when balance drops below a threshold you define.Get your API key and send your first message in minutes. No per-message fees — start building today.