Developers
A WhatsApp API that behaves the way you would design it.
Predictable REST. Real status codes. Idempotency on every send. Signed webhooks you can actually verify. Typed SDKs and an OpenAPI spec. Read the quickstart and send a message in five minutes.
Quickstart
Four steps to a live integration.
- 01
Create an account and a session
Sign up, open a session, and scan the QR in WhatsApp under Linked Devices. Your phone and WhatsApp Web keep working alongside it.
- 02
Grab your API key
From the dashboard, API keys. Keys are scoped and can be locked to a single session.
- 03
Send a message
One POST to /v1/sessions/:id/messages with an Idempotency-Key.
- 04
Receive events
Register an HTTPS webhook, verify the signature over the raw body, and you are live.
import crypto from 'node:crypto';
export function verify(req, secret) {
const sig = req.headers['x-signature']; // 'v1,sha256=<hex>'
const ts = req.headers['x-timestamp'];
// Reject anything outside a 5-minute replay window.
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected = 'v1,sha256=' + crypto
.createHmac('sha256', secret)
.update(ts + '.' + req.rawBody) // RAW body, not re-serialized
.digest('hex');
return crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected));
}Two things go wrong most often: hashing a re-serialized body instead of the raw bytes, and skipping the replay window. Both are handled above.
Honest comparison
WALayer vs the official WhatsApp Cloud API.
You already know the trade-off. Here it is written down, including the rows we lose.
| WALayer | Official Cloud API | |
|---|---|---|
| Pricing | Flat per-number, no per-message fee | Per-conversation billing |
| Setup | Scan a QR (minutes) | Business verification + app review |
| Message templates | Not required | Required for business-initiated |
| 24-hour reply window | Not applicable | Enforced |
| Groups | Full send + admin | Not supported |
| Channels | Send supported | Not supported |
| Groups & communities | Create and manage by API | Not supported |
| Terms-of-service standing | Unofficial, and we say so | Sanctioned |
| Ban risk | Real; mitigated + handled gracefully | None beyond policy enforcement |
| Best for | Automation, bots, groups, cost-sensitive volume | Regulated, high-durability comms |
If you need a guaranteed-durable, regulated channel, use the official API, and keep WALayer for everything it cannot do.
SDKs & libraries
Typed clients, an OpenAPI spec, and no-code nodes.
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
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.