WhatsApp API for developers & integrations
Full WhatsApp automation, without Meta limits.
Send and receive every message type, manage groups and channels, and build any automation with simple HTTP requests. A fast, developer-ready WhatsApp API for any integration, running on infrastructure that never loses a message and never sends a duplicate. No approvals, no templates, no per-message fees.
Free developer sandbox · pair a number in minutes · no per-message fees.
+1 555 0134
Support · North America
Warmup
Stage 2 of 4
Trust score
82/ 100
linked device · phone and WhatsApp Web still work
msg_01j8x · delivery timeline
- queued
- dispatched
- sent
- delivered
- read
POST /v1/sessions/sess_01j.../messages
Idempotency-Key: 4f0b...
{ "to": "+15551234567", "type": "text",
"body": { "text": "Order shipped ✅" } }Everything the official API will not let you do.
Stable multi-device API
Drive any existing number while your phone and WhatsApp Web keep working
Groups, channels & communities
Create, manage and broadcast, all through the API
17 message types, one endpoint
Text, media, location, contacts, reactions, polls, buttons, lists and more
Real-time signed webhooks
Every message, receipt, reaction and group update, HMAC-signed
No templates. No approvals.
Send instantly, with no Meta moderation queue to wait on
No per-message fees
A flat price per connected number, whatever the volume
Three lines of code
Send your first WhatsApp message in three lines.
Pick your language and go. Official SDKs for Node, Python, and PHP, and a REST API that behaves the way you expect: predictable errors, real status codes, idempotency built in.
import { WALayer } from '@walayer/sdk';
const wa = new WALayer(process.env.WALAYER_API_KEY);
const msg = await wa.messages.send({
sessionId: 'sess_01j...',
to: '+15551234567',
type: 'text',
body: { text: 'Hello from WALayer' },
}, { idempotencyKey: crypto.randomUUID() });
console.log(msg.status); // 'queued'The art of the possible
What you can build with it.
One API, and most of the WhatsApp automation surface opens up. Each of these is a few HTTP calls plus a webhook.
Notifications & transactional
The messages that have to arrive now, with proof that they did.
- Order & delivery updatesFire “order confirmed”, “shipped”, “out for delivery” from your backend and get a real delivery-and-read receipt back over webhook.
- OTPs & verification codesSend one-time codes on WhatsApp. Idempotency guarantees a retry on your side never double-sends a code to a real person.
- Appointment & payment remindersSchedule sends for a future time and let warmup and pacing keep the number safe at volume.
- Internal alertsPipe monitoring, on-call or ops alerts into a WhatsApp group your team already reads.
Conversational bots
Inbound arrives as a signed webhook; your logic decides what happens next.
- FAQ and support botsReceive inbound messages by webhook, run your own logic or LLM, and reply through the API in the same thread.
- Interactive flowsDrive buttons, lists and quick replies for menus, booking and lead qualification, and capture the taps as structured events.
- Voice-note handlingReceive inbound voice notes as media and hand them to your own transcription or AI pipeline.
CRM, ERP & SaaS
Put WhatsApp inside the system your team already works in.
- Two-way CRM syncMirror every inbound and outbound message into HubSpot, Salesforce, Pipedrive, Zoho or your own database over webhooks.
- Embed WhatsApp in your productAdd “message on WhatsApp” to any SaaS, ERP or website with a few HTTP calls, and no Meta onboarding for your users.
- Lead capture pipelinesCheck a number is on WhatsApp, greet, qualify and route it into your sales system, fully programmatic.
Groups & channels
The surface the official Cloud API does not give you at all.
- Community managementCreate groups, add and remove members, promote admins, rotate invite links, and react to join and leave events.
- Broadcast to channelsPublish updates to WhatsApp channels and newsletters, reaching followers straight from your backend.
- Group-driven workflowsTrigger backend actions from group messages: support triage, standup bots, alert acknowledgements.
Campaigns, done responsibly
Volume the platform will actively stop you from sending badly.
- Personalized bulk sendsOne bulk call with per-recipient variables. The platform paces delivery like a human and refuses to exceed a young number's safe cap.
- Number validation at scaleCheck whether numbers are on WhatsApp before you send, so you do not burn a list of dead numbers, a classic spam signal.
No-code & automation
For the integrations that should not need a backend at all.
- n8n, Make and ZapierWire WhatsApp into visual workflows with native and community nodes, or plain HTTP and webhooks. Non-developers ship without a backend.
- Sheets senders and form respondersThe same API powers copy-paste starter projects for the most common automations.
If it can be expressed as “when X happens, message someone on WhatsApp”, or “when someone messages us, do X”, you can build it on WALayer in an afternoon, and it will still be sending reliably a year later.
Why WALayer
Most WhatsApp APIs are a thin wrapper around a library. WALayer is infrastructure.
The hard part of running WhatsApp at scale is not exposing a /send endpoint. It is safely operating a fleet of long-lived, independently owned, cryptographically stateful sessions without corrupting one, losing a message, or getting a number banned. That is the whole product.
Four promises, each backed by architecture
- 1
Never lose a message
Your database of record is Postgres, not a message queue. A message row exists before any job does, and a reconciler re-drives anything that stalls. Flush our queue mid-flight and every message still lands or fails visibly, never silently.
- 2
Never send a duplicate
Every send carries an idempotency key. If a send times out and we do not know whether it landed, we quarantine it as “unknown” and let a reconciler decide. We never blindly retry, because a blind retry is a second real message to a real person.
- 3
Honest delivery states
queued, dispatched, sent, delivered, read, plus unknown and undelivered. The API never answers with a fake “sent” the instant you call it, so the delivery data you build reporting on is data you can trust.
- 4
One process owns a session. Ever.
Two processes touching one session’s encryption state corrupts it and forces a QR re-scan. WALayer makes that impossible with strict ownership, so a server can restart, a node can die, and your number stays linked and recovers in under 90 seconds, with no action from you.
SDKs & libraries
Official SDKs for your stack.
Fully typed, webhook verification built in, copy-paste quickstarts.
Node.js / TypeScript
GAnpm i @walayer/sdk
REST + OpenAPI
GAwalayer.com/docs/openapi.yaml
Python
GApip install walayer
PHP / Laravel
GAcomposer require walayer/walayer
n8n / Make / Zapier
GACommunity + native nodes
How it works
Three steps from a phone number to a production integration.
- 01
Connect your number
Connect any existing WhatsApp number by scanning a QR code, or use a pairing code. Your phone and WhatsApp Web keep working alongside it.
- 02
Send and automate
Use the REST API or an SDK to send any of 17 message types to people, groups, and channels. Schedule sends, run personalized campaigns, and let warmup pace everything safely.
- 03
Receive and react
Get every inbound message, delivery receipt, and status change as a signed webhook in real time, verified, retried, and replayable from event history.
One API, everything WhatsApp can do
17 message types. People, groups, and channels. Both directions.
Send and receive through a single unified endpoint, with real-time webhooks for everything that comes back.
Supported message types
- Text
- Image
- Video
- Audio / voice note
- Document
- Sticker
- Location
- Contact card
- Reaction
- Poll
- Buttons
- List
- Reply / quote
- Forward
- Revoke
- Edit
- Presence
- Short video (PTV)
- GIF
- Link preview
- Live location
- Contact list
Send to any recipient type
- People
- Direct one-to-one conversations.
- Groups
- Full participant and admin management, invite links, mentions.
- Channels
- Broadcast to newsletter subscribers.
What teams build on WALayer
From a single notification to a full conversational product.
Customer support automation
Answer FAQs instantly, route to a human when needed, and collect feedback, without a customer ever waiting on hold.
Real-time business alerts
Order confirmations, appointment reminders, delivery tracking, OTPs, delivered the moment they matter, with a real delivery receipt.
Lead nurturing & outreach
Personalized, paced follow-ups that qualify and convert, with warmup keeping every new number safe.
E-commerce & sales
Cart recovery, order updates, and one-tap reorders in the channel your customers already live in.
CRM & analytics sync
Every message and status flows to your systems over signed webhooks. Your data, your warehouse.
Pricing
Free sandbox to build on. A flat price per number to ship on.
Solo
$6/mo
1 number
Starter
$19/mo
4 numbers
Growth
$45/mo
10 numbers
Scale
$79/mo
20 numbers
Reseller
from$279/mo
80+ numbers
You pay per connected number, not per message. Groups, channels, media and webhooks are in every plan. There is no feature tier and no usage meter.
See full pricingHonest by design
The section our competitors will not write.
WALayer connects real WhatsApp accounts, the same way WhatsApp Web does. That means a number can be rate-limited or banned by WhatsApp. No provider can promise otherwise, and any that does is lying.
What we promise is different, and we can keep it: everything on our side is fault-free: no lost messages, no corrupted sessions, no silent failures. And when WhatsApp does act on a number, we detect it, freeze sends, export your queue, and walk you through recovery onto a fresh number.
Honesty is the product.
Questions
The things developers ask us first.
Skip Meta approvals. Skip message fees. Skip the dropped messages.
Free developer sandbox, ready in minutes. No approvals, no templates, no per-message fees.
3-day free trial · connect in under 5 minutes · cancel anytime.