Skip to content

The WhatsApp API that stays online 24/7.Every number isolated, no message left behind.

It keeps working with the phone switched off. If your server goes down, we hold your messages and deliver them when it’s back, for up to 24 hours.

  • Isolated environment per number
  • One-click token rotation
  • Every request logged in your dashboard
POST /v1/messages200 OK"text": "Your order is confirmed!"24/7 sessionCustomer · onlineYour order is confirmed!12:04Thanks! Arriving tomorrow?Webhook → your backendmessage.receivedUnlimited messages

You connect once. We keep it online.

Three steps and your number is live. The connection stays up 24/7 in our cloud, with no server of yours to look after.

  1. Create an instance

    One click in the dashboard or one API call. Your number gets its own dedicated, isolated environment.

  2. Scan the QR code

    Just once. The session stays live 24/7 in our cloud, even with the phone switched off.

  3. Send and receive

    Send messages from your system and get replies instantly in your backend, n8n or Make.

Works with your stack

  • Node.js
  • Python
  • Go
  • PHP
  • TypeScript
  • OpenAI
  • Cursor
  • Windsurf
  • Bolt
  • Lovable
  • n8n
  • Make
  • Typebot

An OpenAPI 3.1 spec and no heavyweight SDK: if your code speaks HTTP, it already integrates.

Other APIs go down.Restzapi stays up.

Numbers offline, messages lost, customers left waiting: that’s life on a makeshift server or an API shared with hundreds of others.

Your own server: breaks with every update

Month one looks like a bargain. Then every WhatsApp update eats more memory until the server crashes at 3 a.m., with corrupted sessions and messages lost without warning.

Shared APIs: their spike becomes yours

Hundreds of customers on one server, no isolation. When someone else hits a traffic spike, your messages lag and notifications vanish with no retry.

Restzapi: every number in its own environment

Every number runs isolated, with automatic load balancing and queues that hold everything. We own the infrastructure, and no message gets left behind.

When WhatsApp updates, that’s our problem. Your system just sends and receives.

Easy to integrate. Hard to break.

No message goes out twice, every notification arrives in the same format and even your AI editor understands the docs.

No message ever sent twice

Add an Idempotency-Key header and a network blip mid-send never turns into a duplicate message for your customer.

Read the docs
send-message.ts
fetch('https://api.restzapi.com/v1/messages', {  method: 'POST',  headers: {    'Authorization': 'Bearer YOUR_TOKEN',    'Content-Type': 'application/json',    'Idempotency-Key': 'req_987654321' // No more duplicate messages  },  body: JSON.stringify({    to: "5511999999999",    type: "text",    content: { text: "Your order is confirmed!" }  })});

Test it from your terminal

Same call, zero dependencies. If your system can make an HTTP request, it already speaks Restzapi.

Read the docs
terminal
curl -X POST https://api.restzapi.com/v1/messages \  -H "Authorization: Bearer YOUR_TOKEN" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: req_987654321" \  -d '{    "to": "5511999999999",    "type": "text",    "content": { "text": "Your order is confirmed!" }  }'

Every event, one shape

From read receipts to incoming audio, every event arrives in real time as one consistent JSON payload that’s easy to parse.

Read the docs
webhook.json
{  "event": "message.received",  "instance_id": "inst_123abc",  "data": {    "from": "5511999999999",    "push_name": "João Silva",    "type": "audio",    "content": {      "url": "https://api.restzapi.com/media/audio_xyz.ogg",      "mime_type": "audio/ogg",      "duration_seconds": 14    },    "timestamp": 1715094320  }}

Integrate with one prompt

Paste the prompt into Cursor or Lovable. The AI reads llms.txt and writes the integration with no made-up methods or CORS errors.

Open llms.txt
prompt.md
Use the documentation at https://docs.restzapi.com/llms.txt. Build a service in [Your Stack] that:1. connects a number to Restzapi;2. renders the QR code in the UI for the user to scan;3. sets up an endpoint that listens for new-message webhooks.

Nothing gets lost.Nobody gets in without a key.

If your server goes down, we resend everything for up to 24 hours. Every number runs isolated and every request is logged in your dashboard.

  • Automatic retries for 24 hours

    Server offline or mid-update? Restzapi holds your messages and keeps retrying on its own until your system answers.

  • Every number in its own lane

    Resources isolated per number. Another company’s traffic spike never touches your app’s delivery speed.

  • Rotate your key in one click

    Every request is validated with an encrypted key. Rotate tokens from the dashboard and audit every call in the detailed logs.

Ready for your product

Voice notes, media, groups, AI agents and automatic reconnection. Plus your customers’ numbers connected under your brand.

  • Your brand, inside your SaaS

    Create instances, generate QR codes and connect your customers’ numbers through the API. They never see Restzapi.

  • PTT voice notes and media

    Audio lands with a waveform, as if it were recorded on the spot. PDFs, videos and images too.

  • Groups under control

    Create groups, manage participants, export the member list and ping everyone with a hidden mention in one call.

  • Made for AI agents

    On n8n or OpenAI, the webhook delivers transcription-ready audio and keeps the quoted message ID for context.

  • Reconnects on its own

    If a number’s WhatsApp Web session flickers, we restore it in the background, with no new QR scan.

  • Migrate in minutes

    Coming from another unofficial API? In most cases it takes under 10 minutes: swap the Base URL and the token.

Run the numbers

Restzapi, Meta’s Official API, your own server and legacy APIs: what it costs, how long it takes and what stays up.

  • Cost per message

    Restzapi
    R$ 0,00 (unlimited)
    Official API (Meta)
    Paid (in USD)
    Self-hosted VPS (Docker)
    R$ 0,00
    Legacy APIs
    R$ 0,00
  • Setup time

    Restzapi
    2 minutes
    Official API (Meta)
    Days of paperwork
    Self-hosted VPS (Docker)
    Hours to days
    Legacy APIs
    Minutes
  • Maintenance time

    Restzapi
    Zero
    Official API (Meta)
    Low
    Self-hosted VPS (Docker)
    High (outages/updates)
    Legacy APIs
    Medium (outages)
  • Traffic isolation

    Restzapi
    Yes (isolated)
    Official API (Meta)
    Yes
    Self-hosted VPS (Docker)
    Depends on your server
    Legacy APIs
    No (shared)
  • Simulation (typing/PTT)

    Restzapi
    Native and automatic
    Official API (Meta)
    Not available
    Self-hosted VPS (Docker)
    Needs custom work
    Legacy APIs
    Rare / unreliable

The math is simple: one fixed cost instead of per-message fees in dollars and engineering hours spent restarting servers.

Fewer outages, fewer on-call nights, the same bill every month.

Flat price per number. Unlimited messages.

No per-message fees and no surprise on the bill: you pay the same every month, however much you send.

Plan Restzapi

For solo devs, MVP validation, local testing and internal automations.

R$ 89,99 per month, per instance

7-day free trial · no card required

Included in the plan

  • 1 isolated instance
  • Unlimited messagesR$ 0,00 per send
  • Real-time webhooks
  • No lock-incancel anytime

Frequently asked questions

  • What happens if my server goes down? How do webhook retries work?

    If your system goes offline or returns an error (like a 500 or a timeout), Restzapi doesn't drop the event. Smart Retry stores it safely and keeps retrying delivery at progressive intervals for up to 24 hours. As soon as your system is back up, the webhook is delivered.

  • Why pay for Restzapi instead of running an open-source script on my own VPS?

    The VPS might cost US$5 a month, but the real cost is your team's time. Meta updates WhatsApp Web constantly. When the script breaks, your developer has to drop everything to debug, update libraries and restart instances, not to mention the out-of-memory crashes. With Restzapi, we take on 100% of that maintenance. You pay for stability, not for on-call hours.

  • How do I embed the QR code inside my own SaaS?

    Through the API itself. Call the create-instance endpoint and we return the QR code as base64. Render that image in your SaaS frontend so your customer can scan it with their phone. The whole connection happens without your customer ever knowing Restzapi exists.

  • How does a one-prompt integration with Cursor or Lovable work?

    Our docs are also published as llms.txt, structured to be read by AI. Just ask your agent or editor (Cursor, Windsurf, Lovable) to read the docs on our domain: it picks up the methods, keys and webhook formats and writes working integration code on the first try.

  • Does my phone need to stay connected to the internet all the time?

    No. Restzapi uses WhatsApp's Multi-Device architecture. Once the QR code is scanned, your phone can go offline or even be switched off. The instance stays active, sending and receiving messages directly through our servers.

  • Is it hard to migrate my existing code to Restzapi?

    In most cases it takes less than 10 minutes. If you already use a popular library or a legacy REST API, just swap the base URL, update the token in the header and make small tweaks to the JSON payload. If your messaging logic is already in place, the switch is painless.

Didn’t find your answer? Read the docs

You focus on your product. We keep WhatsApp online.

Try it free for 7 days, no card required. Then R$ 89,99 flat per number, with unlimited messages.