Zernio
WhatsApp API made easy and free

Ship WhatsApp Integration Today

One API. No Meta approval maze. No per-message markup.

37 WhatsApp endpoints behind a single API key. Broadcasts, templates, delivery tracking. Free for your first 2 accounts.

Meta Connected to the official WhatsApp API via Meta.

2 accounts free forever. Used by 20,000+ developers.

send-whatsapp.js
JavaScript
import Zernio from '@zernio/node';
const zernio = new Zernio();

// Send a WhatsApp message — one call, done
const { data } = await zernio.inbox.createConversation({
  body: {
    accountId: 'YOUR_WHATSAPP_ACCOUNT_ID',
    participantId: '1234567890',
    templateName: 'hello_world',
    templateLanguage: 'en',
    templateParams: []
  }
});
console.log('Message sent:', data.data.id);

Why not direct Meta API?

Stop fighting Meta's developer portal

The WhatsApp Cloud API requires navigating 5+ Meta products, surviving App Review, and absorbing unannounced breaking changes. Zernio wraps it all behind one clean REST API.

Direct Meta API

  • 5+ Meta products to navigate
  • App Review takes weeks (sometimes denied)
  • Webhooks silently fail - no replay, no logs
  • Breaking changes shipped without warning
  • 250 msgs/day cap for new accounts
  • Template reclassification without notice

Zernio WhatsApp API

  • 1 API key, ready in 30 seconds
  • No Meta App Review - Embedded Signup handles it
  • Webhooks with built-in retry logic
  • Breaking changes absorbed by Zernio
  • No artificial rate limits on your account
  • Template category tracking via API

Broadcast in 3 API calls

broadcast-campaign.js
JavaScript
// Step 1: Create broadcast
const broadcast = await fetch("https://zernio.com/api/v1/broadcasts", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk_your_api_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    profileId: "prof_123",
    accountId: "wa_account_123",
    platform: "whatsapp",
    name: "Order Confirmations",
    template: {
      name: "order_update",
      language: "en",
      components: [{
        type: "body",
        parameters: [{ type: "text", text: "{{customer_name}}" }]
      }]
    }
  })
});

// Step 2: Add recipients (up to 100 per request)
await fetch(`https://zernio.com/api/v1/broadcasts/${broadcast.id}/recipients`, {
  method: "POST",
  headers: { "Authorization": "Bearer sk_your_api_key" },
  body: JSON.stringify({
    phoneNumbers: ["+5215512345678", "+5511987654321"]
  })
});

// Step 3: Send
await fetch(`https://zernio.com/api/v1/broadcasts/${broadcast.id}/send`, {
  method: "POST",
  headers: { "Authorization": "Bearer sk_your_api_key" }
});

Full coverage

37 WhatsApp Endpoints. One API Key.

Everything you need to build production WhatsApp features - broadcasts, templates, contacts, phone numbers, delivery tracking, and conversation management.

Broadcast Campaigns

Personalized template messages to 100 recipients per request. Schedule, track delivery, cancel before send.

Summer Sale BlastSending

847 recipients · Scheduled 10:00 AM

Template Management

Full CRUD via API. Category reclassification tracking. Submit, approve, update without Meta Business Manager.

order_confirmation✓ Approved

"Your order {{1}} has been confirmed! Track at {{2}}"

Contact CRM

Bulk import, tags, custom fields, opt-in tracking. Auto-label contacts from conversation workflows. Segment audiences for targeted broadcasts.

Phone Provisioning

Buy WhatsApp-ready numbers via API. 50+ countries including Brazil, Mexico, and more. Auto-verification - no OTP, no manual Meta setup.

🇺🇸 +1 (555) 012-3456Active
🇧🇷 +55 11 9876-5432Active
🇲🇽 +52 55 1234-5678Active

WhatsApp Calls

Inbound and outbound voice calls via WhatsApp. Route to SIP endpoints (Vapi, custom voice AI). Call logs, recording consent, and forwarding - all configurable from dashboard or API.

Delivery Tracking

Per-message status: sent, delivered, read, failed. Webhooks fire on every state change in consistent format.

Sent10:42
Delivered10:42
Read10:43

Workflow Automation

Visual node-based workflow builder. AI intent classification routes messages through branching logic. Auto-respond, auto-tag contacts, fire webhooks. Execution logs for every run.

Support TriageActive
TriggerAI ClassifyRouteReply

WhatsApp Flows

Build interactive in-chat forms and multi-step experiences. Define flows with JSON, preview the UX, test with real delivery. Collect data without leaving the conversation.

24h Window Management

Auto-tracks the Meta 24-hour service window per conversation. Clear errors instead of silent failures.

Text Messages Template Messages Images & Video Interactive Buttons List Messages WhatsApp Flows Workflows Location Sharing Contact Cards Documents

20,000+

paid developers

15+

social platforms

99.7%

uptime SLA

30s

to first message

Used in production by teams at

ClickUp
RE/MAX
PwC
Warner Music Group
Holo
SOC 2 certified
GDPR certified
30-day money-back guarantee

Real code, not marketing

Copy, paste, ship.

Every example below is a working API call. Bearer token auth. JSON in, JSON out. SDKs for Node.js, Python, Go, Ruby, Java, PHP, .NET, and Rust.

Create a message template

create-template.js
JavaScript
// Create a WhatsApp message template
const { data } = await zernio.whatsapp.createWhatsAppTemplate({
  body: {
    accountId: 'YOUR_ACCOUNT_ID',
    name: 'order_confirmation',
    category: 'UTILITY',
    language: 'en',
    components: [{
      type: 'BODY',
      text: 'Hi {{1}}, your order {{2}} has been confirmed!'
    }]
  }
});
console.log(`Template created: ${data.template.name} (${data.template.status})`);

Send a broadcast campaign

broadcast-campaign.js
JavaScript
import Zernio from '@zernio/node';
const zernio = new Zernio();

// Step 1: Create a broadcast with a template
const { data: broadcast } = await zernio.broadcasts.createBroadcast({
  body: {
    profileId: 'YOUR_PROFILE_ID',
    accountId: 'YOUR_WHATSAPP_ACCOUNT_ID',
    platform: 'whatsapp',
    name: 'Welcome Campaign',
    template: { name: 'hello_world', language: 'en' }
  }
});

// Step 2: Add recipients by phone number
await zernio.broadcasts.addBroadcastRecipients({
  path: { broadcastId: broadcast.broadcast.id },
  body: { phones: ['+1234567890', '+0987654321'] }
});

// Step 3: Send the broadcast
const { data: result } = await zernio.broadcasts.sendBroadcast({
  path: { broadcastId: broadcast.broadcast.id }
});
console.log(`Sent: ${result.sent}, Failed: ${result.failed}`);

AI-native

Or let AI build it for you

MCP server + LLM-optimized docs. Any coding agent can integrate Zernio in a single prompt.

Claude Code

~/my-saas

> Integrate Zernio WhatsApp API. Send order confirmations when a purchase is completed.

✓ Reading Zernio MCP schema...

✓ Found 37 WhatsApp endpoints

✓ Generated src/lib/whatsapp.ts

✓ Added webhook handler at /api/webhooks

✓ Integration complete. Ready to test.

~/my-saas $

Claude Code
Claude Code

Anthropic

Cursor
Cursor

Anysphere

Codex
Codex

OpenAI

Works with any MCP-compatible coding agent. Full API parity - every endpoint available through the MCP server.

vs Twilio

100K messages. $1,500+ saved per month.

Twilio charges $0.005 on every WhatsApp message - in and out - plus $0.015/msg for scheduling. Zernio passes through Meta's fees with zero markup.

Zernio at 100K msgs/mo

~$572

Meta fees only, zero markup

Twilio at 100K msgs/mo

~$2,072

Platform fees + scheduling add-on

Zernio Twilio
Per-message platform fee $0 $0.005/msg (in + out)
Failed message fee $0 $0.001/msg
Message scheduling Built-in, free $0.015/msg add-on
Broadcast campaigns Full API (draft/schedule/send) Not built-in (DIY)
Contact management Groups, tags, import, search Not included (BYO)
Phone provisioning 50+ countries (incl. Brazil, Mexico) US-only numbers
WhatsApp Calls Inbound + outbound, custom routing Basic, no routing control
Other social platforms 15 platforms + 6 ad networks WhatsApp/SMS only
Setup time Minutes 1-4 weeks
Free tier 2 accounts, all features None (pay from msg 1)
Support Human (Crisp + email) AI-first

Twilio holds a 1.1/5 rating on Trustpilot (721 reviews). Common complaints: AI-only support, account suspensions without warning, silent webhook failures.

Nothing to lose

Free. For real.

Your first 2 connected accounts are completely free - no credit card, no time limit, all features included. No plans, no tiers, no add-ons. Pay only when you grow.

First 2 accounts Free forever
Accounts 3-10 $6 /account/mo
Accounts 11-100 $3 /account/mo
Accounts 101-2,000 $1 /account/mo
2,001+ Custom
Scheduling & publishing
Analytics & metrics
DM inbox
Comments & reviews
Ad campaigns
Webhooks
Full API access
8 SDKs
MCP server

WhatsApp numbers: from $2/mo per dedicated number. 50+ countries. Zero markup on Meta conversation fees.

No credit card required
No contracts or setup fees
30-day money-back guarantee

3 steps to first message

quickstart.sh
Bash
# 1. Get your free API key at zernio.com/signup
# 2. Connect WhatsApp (one-click Meta OAuth)
# 3. Send your first message

curl -X POST https://zernio.com/api/v1/posts \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["whatsapp"],
    "accountId": "wa_account_123",
    "content": "Hello from Zernio!"
  }'

Beyond WhatsApp

Same API. 15+ platforms.

Same auth, same request format, same webhooks — learn once, ship everywhere.

Instagram TikTok YouTube X / Twitter LinkedIn Facebook Threads Pinterest Reddit Bluesky Telegram Snapchat Google Business Discord

Plus 6 ad networks

Meta Ads Google Ads TikTok Ads LinkedIn Ads Pinterest Ads X Ads
MCP Server - full API parity for AI agents. Works with OpenAI, Claude, or custom backends.

FAQ

Common questions

Start now

Integrate WhatsApp. Today.

No credit card. No Meta approval. No per-message markup. Nothing to lose.

SOC 2 + GDPR certified. 99.7% uptime SLA.