v1.0 · liveMarketing Infrastructure API

Ship marketing like you ship software.

One API for WhatsApp, Email, SMS, Voice, and RCS — plus campaigns, workflows, and AI agents on top. Typed, idempotent, observable. Nothing else to install.

WhatsAppEmailSMSVoice AIRCSAI Agents

+ campaigns, workflows, AI chatbots, payments, analytics & 50+ integrations

4.2Brouted50+integrations184msp5099.99%uptime
$ npm install zaptick
events/api/v1/events · taillive · 2.8k/min
timeeventchannelstatuslatencycost
00:00.142order.shippedwhatsappdelivered184ms$0.0049
00:00.086cart.abandonedwhatsappdelivered228ms$0.0049
00:00.061otp.requiredsmsdelivered 96ms$0.0150
00:00.038receipt.sentemaildelivered312ms$0.0002
00:00.024renewal.callvoice_airinging$0.08/m
00:00.015review.requestrcsdelivered201ms$0.0200
00:00.008lead.reengagedwhatsappdelivered156ms$0.0049
00:00.002support.handoffai_agentrouting 72ms$0.0010
channels livewhatsappemailsmsvoice_aircsai_agent
6 channels·50+ integrations·typed webhooks

Built on the platform trusted by

SabyasachiMalabarPantaloonsBirla BraniacsBVC VenturesWalking Tree
Every channel

One API for every channel
your customers live on.

Stop stitching Twilio for SMS, SendGrid for email, Bird for WhatsApp, and Vapi for voice. Zaptick is one SDK for every marketing channel — with unified logs, unified billing, unified webhooks.

WhatsApp
zap.whatsapp

The channel your customers actually read.

Official WhatsApp Business API — templates, interactive lists, buttons, catalogs, flows, and WhatsApp Pay. Zero meta friction.

  • Approved message templates
  • Interactive lists & buttons
  • Media, catalogs, flows
  • Click-to-WhatsApp ads (CTWA)
  • Business verification handled
  • Delivery & read receipts
184msLatency (p50)
~98%Open rate
WhatsApp docs
whatsapp.ts
await zap.whatsapp.send({
  phone: "+919876543210",
  templateName: "order_confirmed",
  variables: { "1": "Priya", "2": "#A-2847" },
  buttons: [{ type: "url", text: "Track", url }],
});
delivered · 184msPOST /api/v1/whatsapp
Unified billing

One invoice. Per-channel meter. No contract juggling.

Unified webhooks

Same signature scheme. Same replay semantics. Every event.

Unified logs

Search across channels, filter by conversation, replay in the dashboard.

Positioning

Twilio sells sendSMS().
Zaptick sells the whole marketing stack.

Channels are a commodity — the orchestration above them isn't. Zaptick gives you every channel (WhatsApp, Email, SMS, Voice, RCS) plus the entire marketing OS on top — campaigns, workflows, agents, commerce, analytics — in one typed SDK.

Without Zaptick

The stitched stack

You stitch together 5 services and a week of plumbing

Twilio + Plivo
for SMS across regions
SendGrid or Resend
for transactional email
Bird / Gupshup / Wati
for WhatsApp Business
Vapi + Retell
for voice AI agents
Zapier / Make / cron
to glue it all together
OpenAI + pgvector + RAG
for the chatbot layer
Razorpay + webhooks
for payments inside threads
Segment + custom DB
for attribution & ROI
With Zaptick

One SDK. Typed end-to-end.

Every piece of the marketing stack, same auth, same error shape, same rate-limit budget.

zaptick-stack.ts
import Zaptick from 'zaptick'
 
const zap = new Zaptick(apiKey)
 
// Every channel
zap.whatsapp.send(…)
zap.email.send(…)
zap.sms.send(…)
zap.rcs.send(…)
zap.agents.call(…)
 
// Plus the marketing OS
zap.campaigns.launch(…)
zap.workflows.trigger(…)
zap.payments.createOrder(…)
zap.analytics.get(…)
One auth key
One rate-limit budget
One error shape
One SDK to learn
Uniform retries
Typed webhooks

The mental model

Stripe

Payments as code

Clerk

Auth as code

Vercel

Deploys as code

Zaptick

Marketing as code

Primitives

Beyond channels. The full marketing OS.

Channels get messages out. These are the primitives that turn messages into real marketing — campaigns, workflows, agents, commerce, intelligence.

Featured

Dispatch

zap.dispatch

One call routes across WhatsApp, Email, SMS, RCS, and Voice. Cascades to the next channel if the first doesn't land. Unified webhooks back to your app.

send()cascade()broadcast()status()
example
await zap.dispatch.send({
  to: '+14155551234',
  channels: ['whatsapp', 'rcs', 'sms', 'email'],
  fallback: 'cascade',
  content: { text: 'Your order #A-2847 shipped' },
})

Campaigns

zap.campaigns

Broadcast to thousands across any channel. Segment, schedule with timezones, track delivery in real time.

create()launch()progress()cancel()
Featured

Workflows

zap.workflows

Customer journeys as code. Trigger on any event, branch on conditions, call your APIs, delay between steps — across every channel.

create()trigger()pause()resume()runs.list()
example
await zap.workflows.trigger('wf_onboarding', {
  contact: { phone: '+14155551234' },
  variables: { plan: 'premium', source: 'shopify' },
})
Featured

AI Agents

zap.agents

Autonomous voice & chat agents with sub-200ms turn-taking, tool use, human handoff. They book appointments, close renewals, confirm deliveries.

create()call()chat()handoff()
example
const agent = await zap.agents.create({
  name: 'Renewal Closer',
  voice: 'aura-asteria-en',
  tools: ['zap.payments', 'crm.updateLead'],
});
await zap.agents.call({ agentId: agent.id, phone });

Chatbots

Beta
zap.chatbots

RAG-powered bots across WhatsApp, email, and web. Guardrails, handoff, multi-turn memory built in.

create()chat()trainOn()

Payments

zap.payments

In-thread checkout on WhatsApp, email, and RCS. UPI, cards, Stripe, Razorpay, PayU — webhooks on every state change.

createOrder()refund()status()

Contacts

zap.contacts

Unified identity across phone, email, and device. Consent state, tags, custom fields, duplicate-safe upserts.

create()list()get()bulk.upsert()

Segments

zap.contactGroups

Dynamic segments with rule-based filtering — wire straight into campaigns or workflows.

create()members()update()
Featured

Analytics

zap.analytics

One call for the full picture. Delivery trends, campaign ROI, channel-by-channel cost, AI-generated insights.

get()channels.*costs()funnels()insights()
example
const { analytics } = await zap.analytics.get({
  timeRange: 'month',
  groupBy: 'channel',
});
console.log(analytics.costMetrics.totalSpent);

Templates

zap.templates

One template system for every channel — WhatsApp, email, SMS, RCS.

create()list()sync()

Flows

Preview
zap.flows

WhatsApp Flows — multi-screen forms for lead gen, bookings, onboarding.

create()publish()

Interactive Lists

zap.interactiveLists

Structured menus with sections — catalogs, support routing, bookings.

create()list()

Webhooks

zap.webhooks

Typed payloads, signed secrets, replay for debugging. Same signature scheme across every channel.

subscribe()rotate()replay()

Inbox

Beta
zap.inbox

Programmatic access to the support inbox. Stream events, assign, tag, close.

stream()assign()labels.*

Coming next

Webinars · Ads (CTWA + CTEM) · Offers · Membership tiers · MCP tooling

Follow changelog
What devs ship with Zaptick

Real products. Real code. Real outcomes.

These aren't hypotheticals. They're patterns pulled straight from Zaptick customers — with the code you'd actually write.

E-commerce
real pattern from a real customer

D2C brand recovers 34% of abandoned carts — at 2 AM

34%cart recovery

Customer adds a ₹4,999 kurta and bounces. Shopify fires a webhook to your Next.js route handler. You wait 30 minutes, send a template with the product image + 10% coupon + one-tap checkout. She buys at 2 AM from bed. The follow-up order-status updates are on the same SDK.

WorkflowsTemplatesWebhooksWhatsApp Pay
api/webhooks/shopify-cart.tstypescript
1import Zaptick from 'zaptick'
2import { z } from 'zod'
3
4const zap = new Zaptick(process.env.ZAPTICK_API_KEY!)
5
6export async function POST(req: Request) {
7 const cart = await parseShopifyWebhook(req)
8
9 // Nudge after 30 minutes
10 await zap.workflows.trigger('wf_cart_recovery', {
11 contact: { phone: cart.customer.phone, name: cart.customer.firstName },
12 variables: {
13 product: cart.items[0].title,
14 image: cart.items[0].image,
15 coupon: 'COMEBACK10',
16 checkoutUrl: cart.checkoutUrl,
17 },
18 delay: '30m',
19 })
20
21 return Response.json({ ok: true })
22}
Meet your stack

Built for every framework you already use.

The Node SDK is GA today. Python is in beta. Framework adapters drop webhook handlers into Next, Hono, and Express in a single import.

Next.js
@zaptick/next
Beta
React
@zaptick/react
Beta
Express
@zaptick/express
Beta
Hono
@zaptick/hono
Beta
Nuxt
@zaptick/nuxt
Soon
Bun
native
GA
Go
go-zaptick
Soon
PHP
zaptick-php
Soon
Ruby
zaptick-ruby
Soon
.NET
Zaptick.NET
Soon
send.ts
import Zaptick from 'zaptick'

const zap = new Zaptick(process.env.ZAPTICK_API_KEY!)

await zap.messages.send({
  phone: '+919876543210',
  templateName: 'welcome',
  variables: { '1': 'Rahul' },
})
0
runtime deps
<2s
cold start
18+
Node / Bun
New · AI-native

Zaptick speaks Claude, Cursor, Windsurf.

One command and your AI IDE can send messages, launch campaigns, query analytics, and manage contacts. The entire SDK — exposed as an MCP server. No glue code. No function calling boilerplate.

Claude$ claude mcp add zaptick
Cursor$ cursor mcp install zaptick
Windsurf$ windsurf mcp add zaptick
Claude / Zaptick MCP14 tools connected
Send a campaign to all premium users about the Friday launch.
I'll use the Zaptick MCP. Pulling the premium segment first — 2,847 contacts. Checking template approval status… `friday_launch` is approved. Estimated cost ₹2,417. Shall I schedule for 9 AM IST Friday?
tool: zap.contactGroups.get
Yes — send it.
Campaign scheduled. `cmp_01HZYABC…` — I'll notify you when it completes.
tool: zap.campaigns.launch
Ask Zaptick anything…
Developer experience

DX details that actually matter.

We borrowed the best from Stripe, Resend, and Clerk — and adapted it for marketing infrastructure. Here's what you don't have to build yourself.

P99 latency < 200ms

API served from edge locations in Mumbai, Singapore, and Frankfurt. Real-time dashboards don't lie.

01

Typed end-to-end

Every request, response, and webhook is strongly typed. IntelliSense for every method and field.

02

Automatic retries

Built-in exponential backoff on 429 and 5xx. You never write try/catch around rate limits again.

03

Typed webhooks

Publish & subscribe pattern with signed payloads. Replay any event for local debugging.

04

Idempotent by default

Every mutation accepts an idempotency key. Safe retries, guaranteed once-only delivery.

05

Secure by design

Publishable + secret keys, key rotation, scoped permissions, signed webhooks — Stripe-level primitives.

06

OpenAPI 3.1

Every endpoint auto-documented. Generate clients in 40+ languages. Postman and Insomnia collections included.

07

Zero runtime deps

The Node SDK uses native fetch. 11KB gzipped. Works on Bun, Cloudflare Workers, Deno, and Node 18+.

08
Engineers shipping on Zaptick

Built by developers. Loved by developers.

"We replaced Twilio + Wati + three custom cron jobs with one SDK. Our WhatsApp ops went from 2,000 lines of glue code to about 80."

AR
Ananya R.
CTO · Trellix Edtech
Next.jsVercelPostgres

"The typed webhooks are absurd. Every event has IntelliSense. I haven't had a production webhook bug in 4 months."

KM
Kabir M.
Staff Engineer · Haveli D2C
NodeHonoCloudflare

"Set up WhatsApp Pay with Razorpay in an afternoon. The SDK handles Meta's ToS handshake, webhook retries, refund API — all of it."

DS
Diya S.
Head of Engineering · Sahara Wellness
TypeScriptAWSRazorpay
Pricing

Pay for calls, not seats.

Developer-native plans — self-serve, metered per API call, no sales gate. Channel fees are pass-through at Meta & carrier rates with 0% platform margin.

Looking for business plans?

Hobby

For indie hackers, tinkerers, side projects.

$0forever
10k API calls / mo
  • 10,000 API calls / month
  • Unlimited test mode
  • All 6 channels, all primitives
  • Typed webhooks + MCP server
  • Community support
  • Channel fees pass-through at cost
Start building
Most popular

Developer

For teams shipping real products on the API.

$29/ month + usage
100k API calls included
  • 100,000 API calls / month included
  • $0.001 per call over quota
  • Workflows + chatbots + AI agents
  • Framework adapters (Next, Hono, Bun)
  • Priority queue + webhooks replay
  • Email support · 24h SLA
Start Developer

Scale

Pay only for what you use. No ceilings.

$0.0008/ API call
No subscription. No seats.
  • No base fee · metered per call
  • Volume breakpoints auto-applied
  • Unlimited seats, WABAs, webhooks
  • Streaming events + per-endpoint SLOs
  • Priority engineering support
  • Dedicated throughput on request
Go usage-based

Enterprise

Dedicated infra, compliance, SLAs.

Customtalk to us
99.99% uptime · SOC 2 · DPA
  • Dedicated compute + region pinning
  • 99.99% uptime SLA (credit-backed)
  • SOC 2, GDPR, DPA, MSA
  • Procurement-friendly invoicing
  • Dedicated TAM + Slack channel
  • Volume committed discounts
Contact sales
WhatsApp template rates
Exact rates synced from your Zaptick account
Country / regionMarketingUtilityAuthentication
🇺🇸North AmericaUS & Canada$0.0281$0.0056$0.0152
🇬🇧United Kingdom$0.0595$0.0306$0.0402
🇮🇳India$0.012$0.0019$0.0016
🇧🇷Brazil$0.0703$0.0111$0.0354
🇩🇪Germany$0.1534$0.0765$0.0863
🇲🇽Mexico$0.034$0.0118$0.0095
🇦🇪United Arab Emirates$0.056$0.0218$0.0176
🇮🇩Indonesia$0.0462$0.0278$0.0337
Published by Meta · billed per message · 0% platform margin on usage
RCS · plain text
$0.003per message

rich card $0.006 · carousel $0.009 · auto-fallback to SMS

SMS · transactional
$0.0014per message

DLT template $0.0018 · promotional $0.0024 · country surcharges apply

Email · per-send
$1.81per 1,000

at Elevate scale · Launch tier at $2.41/1k · SPF, DKIM, DMARC

Voice AI · per-minute
$0.18per minute

TTS + STT + tool-use agent runtime · outbound & WhatsApp calls

All prices in USD. Platform fees cover infra & support — channel fees are pass-through from Meta & carriers at 0% margin.

Live — v1.0.0

Your first campaign ships in the next 10 minutes.

Grab an API key, drop the SDK into your app, and send a WhatsApp template before your coffee gets cold. Free tier, test mode unlimited, no card required.

$ npm install zaptick

3 minutes to first message · No credit card · MIT licensed