WASenderPlus
EN

Language

ENEnglish
Start free

Unofficial WhatsApp API for your code and your team

Low-cost WhatsApp API for developers, from $6 a month

REST API and webhooks on your own number, with no Meta per-message fees — plus a web app, Chrome extension and Google Sheets add-on for your team.

  • No credit card required
  • 7-day free trial
  • Cancel anytime

Every plan includes

Web app & inbox Chrome extension Sheets add-on Desktop & mobile
cURL
curl -X POST https://api.wasenderplus.com/v1/messages \
  -H "Authorization: Bearer $WS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550132",
    "text": "Hi Emily, your order #4821 ships today."
  }'
Response
HTTP/1.1 202 Accepted
{ "id": "msg_8f2a91", "status": "queued" }

Paste the key from your dashboard and run it, or try it in Postman.Get a free API key →

Webhook eventsLive

POST https://your-app.com/webhooks/whatsapp

  1. 200message.queued msg_8f2a91
  2. 200message.sent paced, gap 6 s
  3. 200message.delivered +1 415•••• 0132
  4. 200message.read
  5. 200message.replied “Can I pick it up instead?”
  1. 1Scan a QR code to link your number
  2. 2Send with one REST API call
  3. 3Get replies and receipts by webhook
12,400
teams sending
61
countries
4
ways to send
$6
per month, flat

WASenderPlus is an unofficial WhatsApp API for developers that runs through a linked WhatsApp Web session, not Meta’s Cloud API. Connect your number by QR code, send through a REST API, and receive replies and delivery events by webhook. Plans start at $6 a month, and your team answers replies in a shared inbox.

WhatsApp automation for developers, support teams and marketers

Three jobs, three starting points. Pick the one that sounds like your week.

Four surfaces, one account

One WhatsApp account: API, web app, Chrome extension and Google Sheets

Contacts, message library, opt-out list and history stay shared across every surface and your API. Pick the interface each person needs without rebuilding customer records.

Web app

Manage the shared inbox, claim conversations, and hand over chats with tags and internal notes attached.

Chrome extension

Work inside your existing WhatsApp Web tab, with sending controls connected to your current session.

Google Sheets

Use column headers as merge fields and write delivery status and replies back to each row.

Desktop & mobile

Answer assigned conversations away from the browser, with push notifications for new assignments.

For developers

WhatsApp REST API and webhooks: send, receive and track delivery

WASenderPlus works through your linked WhatsApp Web session; it is not Meta’s official Cloud API. Every plan includes the REST API and webhooks, with Bearer token authentication on every request. Numbers, pacing and opt-outs stay shared with your team.

REST API integrationIntegrate from PHP, Python or JavaScript with any HTTP client — no SDK to install. Keep the key server-side for security. Webhook event streamReceive delivered, read, replied and opted-out events at the callback URL you configure. Zapier workflowsTrigger WhatsApp messages from connected apps without running your own event service. n8n automationBuild self-hosted automations with the WASenderPlus node and your existing workflow logic.
Read the API docs
curl -X POST https://api.wasenderplus.com/v1/messages \
  -H "Authorization: Bearer $WS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550132",
    "text": "Hi Emily, your order #4821 ships today."
  }'
const res = await fetch('https://api.wasenderplus.com/v1/messages', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.WS_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    to: '+14155550132',
    text: 'Hi Emily, your order #4821 ships today.',
  }),
});
import os, requests

requests.post(
    "https://api.wasenderplus.com/v1/messages",
    headers={"Authorization": f"Bearer {os.environ['WS_API_KEY']}"},
    json={
        "to": "+14155550132",
        "text": "Hi Emily, your order #4821 ships today.",
    },
)
$ch = curl_init('https://api.wasenderplus.com/v1/messages');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('WS_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'to' => '+14155550132',
        'text' => 'Hi Emily, your order #4821 ships today.',
    ]),
]);
curl_exec($ch);

Unofficial API, not Meta’s Cloud API. Every API send passes the same pacing and opt-out checks as the web app.

Every kind of message

Send text, media, documents and voice notes through the WhatsApp API

Text, media, documents, voice notes and locations — send them from the app or from your own code.

Message types

TextMerge fields and three body variants
Image & videoWith a caption per contact
DocumentPDF invoices, price lists, tickets
Voice noteAudio recorded once, sent as a voice message
Contact cardShare an agent or a branch number
LocationA map pin to the store or venue

Send to

ContactsOne-to-one chats
GroupsGroups you already admin
ChannelsUpdates to followers
EC
Emily C.online
Sent via API
Hi Emily — your Black Friday order #4821 ships today. Here is the invoice.
Invoice-4821.pdfPDF · 184 KB
Thank you! Can I pick it up instead?
Store, 5th Street — open until 9 pm
▶0:14

What you get

WhatsApp API features that keep your code and your team in sync

Bulk messaging queue

Send a mass campaign as individual chats, with personalized text per contact and pacing controls on the queue.

Automated replies

Answer recurring questions with keyword responses that work like a simple chatbot, then route the customer to an agent when a person is needed.

Shared team inbox

Claim conversations, add internal notes and assign follow-ups while the customer context stays attached.

Scheduled follow-ups

Schedule a campaign ahead of time and use reply-aware follow-ups to manage ongoing conversations.

Contact records

Keep custom fields, audience tags and conversation history together before you pick recipients.

Shared opt-out list

Honour recognised opt-out keywords across every surface and the API, even when a contact is imported again.

See all 27 features

Use cases

WhatsApp API use cases: orders, reminders, alerts and follow-ups

Start with the customer event — an order, an OTP or 2FA code, a booking — then define the message and who owns the reply. Review each workflow before automating it.

Route support conversations

Route incoming questions to a shared inbox where agents claim chats and keep the conversation history.

Send order updates

Connect order confirmation, dispatch notice and delivery update from your website or store to the customer’s current purchase.

Confirm appointments

Send a booking reminder with the appointment details and a clear way to ask for a change.

Qualify incoming leads

Use keyword replies to collect qualifying details before the conversation is assigned to sales.

Follow up with customers

Segment consenting customers by purchase history and invite a reply with a relevant follow-up.

Recover abandoned carts

Send a consenting shopper the cart link, then check the current purchase state before another reminder.

All use cases

Live in an afternoon

Connect your WhatsApp number and send your first API message

1

Link your sending number

Link your WhatsApp number — personal or Business app — by QR code. No Meta business verification needed; a spare number makes a good sandbox for testing.

2

Import consenting recipients

Bring recipients from CSV, Google Sheets, Shopify or WooCommerce, keeping consent sources on the contact records.

3

Preview each message

Map merge fields, prepare body variants and preview the exact message each recipient will receive.

4

Monitor the paced queue

Watch delivered, read and replied statuses per recipient, and pause the run whenever you need to review it.

Built-in CRM

WhatsApp CRM: the customer record behind every reply

Every reply arrives with the customer record behind it: purchase details, consent source and agent notes. Your team reads the context before answering, without switching tools. See how it works as a WhatsApp CRM.

  • Fill contact fields and tags from your spreadsheet or store data
  • Read conversation history alongside broadcasts and automated replies
  • Check each contact’s consent source and current opt-out status
  • Keep assignment notes attached when another agent takes over
  • Reuse saved audience segments for later campaigns
See contact management
EC
Emily Carter+1 415•••• 0132 · Austin, TX
Last order
#4821 · $84.50
Opted in
Checkout · 12 Mar
Assigned to
Rachel K.
Last reply
4 minutes ago
Repeat buyerBlack-Friday-24Free shipping

Free WhatsApp tools to prepare your messages

Prepare chat links, check numbers and format messages before your first campaign — no account needed.

All 28 tools
Link & QR generator Number checker Message formatter Chat widget builder Message personaliser Group link builder

By sector

WhatsApp automation set up for your industry

Each industry page ships with the four features that matter for it and message copy you can clone.

E-commerce Education Healthcare Real estate Finance Travel Restaurants Automobile Gym & fitness All 40 industries →

WhatsApp integrations: Shopify, WooCommerce, Zapier, n8n and Sheets

Google Sheets Shopify WooCommerce Zapier Make n8n All integrations →

Why teams move their WhatsApp sending to WASenderPlus

“First response went from three hours to four minutes, with the same two people answering.”
RKRachel KimSupport lead, Kettle & Co
“12,000 messages went out on a Saturday. Two people opted out and nothing got flagged.”
MVMarco VidalGrowth, Terrazo Living
“Our admissions list lives in Sheets. Now the sheet sends and logs the replies itself.”
ABAisha BelloRegistrar, Lumen Academy

WhatsApp API pricing: $6 a month, unlimited messages

Every plan unlocks every feature, the REST API and all four ways to send, with unlimited messages. Plans differ only in how many numbers you connect.

Solo

$6/ month

For a solo founder or developer

  • 1 connected WhatsApp number
  • Unlimited messages
  • Every feature and all four apps
Start Solo free

Team

MOST CHOSEN
$19/ month

For a team sharing one inbox

  • 3 connected WhatsApp numbers
  • Unlimited messages
  • Every feature and all four apps
Start Team free

Scale

$49/ month

For high-volume senders

  • 10 connected numbers with rotation
  • Unlimited messages
  • Every feature and all four apps
Compare plans

Included in every plan

Four ways to send

  • Web app & shared inbox
  • Chrome extension
  • Google Sheets add-on
  • Desktop & mobile apps

For developers

  • REST API
  • Delivery & reply webhooks
  • n8n and Zapier
  • Shopify & WooCommerce

For your team

  • Unlimited agents
  • Unlimited messages
  • Auto-reply, scheduling & drip
  • Contacts & CRM

7-day free trial on every plan, no credit card, cancel anytime. WASenderPlus runs on WhatsApp Web through your own number, not Meta’s Cloud API — so there are no per-message fees, and we pace sends to protect your number.

Deliverability

No message cap — pacing that protects your WhatsApp number

These are WASenderPlus’s default queue settings, not sending limits published by WhatsApp. They apply to each connected number’s session instance, whether a message comes from your code or the app. No tool is truly anti-ban: random delays between sends and a gradual warm-up lower the risk, they do not remove it. Blocks, reports and automated bulk messaging can all contribute to account restrictions. Review the sending limits guide before queuing campaigns. These defaults do not prevent restrictions or replace consent.

Every plan has unlimited messages — no monthly cap. WASenderPlus controls pace instead: a new number sends slower and speeds up as it warms. If a run would go faster than your number can safely handle, we flag it first and tell you why.

Default pacing per number to protect your account — not a monthly or plan limit
Number ageSuggested per dayGap between sends
Week 125020–40s
Week 2–380012–25s
Month 22,5006–11s
Warmed, low reports6,0004–8s

Switching?

Switching WhatsApp API providers? Compare first

Moving from other WhatsApp APIs or platforms? Compare endpoints, documentation, reliability and pricing first — we note where they beat us.

Alternative
Wati alternative
Alternative
AiSensy alternative
Alternative
Interakt alternative
Compare
WASenderPlus vs Wati
Compare
All head-to-heads
All
Every alternative →

WhatsApp API support: guides, live chat and status

Help centreSetup, pacing and billing guidesTalk to supportOn WhatsApp, the same daySystem statusLive uptime and incidents

Get your WhatsApp API key and send your first message today

No card. 7 days. API included from $6/mo.

WhatsApp API questions, answered

What is the WhatsApp API and how do I use it?

A WhatsApp API lets your software send messages and receive events without anyone opening a chat. WASenderPlus’s API is unofficial and runs through your linked WhatsApp Web session, not Meta’s Cloud API. You send and schedule through a REST API on your connected numbers. Webhooks bring replies and delivery updates back into your system.

How do I send my first API message?

Connect your number and create an API key. Then send an HTTPS POST with the key in the Authorization header. The JSON body holds the recipient and the text, sent to a test contact who has opted in. Check the response, then watch for the delivery event.

Is the WhatsApp API free?

Not free, but it is not an add-on either. The REST API and webhooks come with every plan, starting at $6/mo, with unlimited messages. The 7-day trial needs no card. When you compare providers, check per-message fees, extra numbers and your own hosting — WASenderPlus charges no per-message fees.

How do I get and protect my API key?

Create the key as the API docs describe. Keep it on your server in an environment variable, as the examples do. Never put it in browser code, a repository or a screenshot. Rotate it straight away if it leaks or a team member with access leaves.

How do I send WhatsApp messages from PHP?

Adapt the PHP example on this page. It uses cURL, reads the key from an environment variable and builds the body with json_encode. With Guzzle, keep the same endpoint, headers and fields. Add a timeout, check the response and handle errors before you send from production code.

How do webhooks deliver replies and delivery updates?

You set a URL, and WASenderPlus posts delivered, read, replied and opted-out events to it. Verify each request as the API docs describe, and match it to the right message and contact. Make the handler safe to run twice, because the same event can arrive more than once.

What is the difference between the Cloud API, a Web gateway and the Business App?

The Cloud API is Meta’s official hosted platform, with onboarding and approved templates. Meta prices it per message, with rates that vary by message category and country. A Web gateway works through a linked WhatsApp Web session. The Business App is the phone app for one person. WASenderPlus is an unofficial API of the gateway kind: it links your number by QR code, not through Meta.

Which message types can I send?

Text, images and video, PDF documents, voice notes, contact cards and locations. The code examples on this page send text. The API docs list which formats each endpoint accepts before you build media into an integration.

How should I handle failed requests and timeouts?

Read the HTTP status and the response body before retrying. A timeout does not tell you whether the message was accepted. Store your own event ID with each send and reconcile before trying again. Check the opt-out list and the order state first, too.

When do I need approved WhatsApp message templates?

Meta-approved templates belong to the official WhatsApp Business Platform. There they are required to start conversations outside the customer service window. Saved templates in WASenderPlus are reusable message bodies, not Meta approvals. An unofficial API like WASenderPlus does not need them.

Can I send OTP codes over WhatsApp?

An API key authorises your software; a one-time password verifies your customer. The two are separate workflows. You can send a code as a normal message. Before you design a login flow around WhatsApp, check delivery speed in the API docs. Keep SMS or email as a fallback.

Can I automate ecommerce order and delivery notifications?

Yes. Connect order, payment and shipping events to WhatsApp messages from Shopify, WooCommerce or your own backend. Check consent and relevance before each send. Cancel a notice when the order is cancelled or already resolved, rather than retrying it blindly.

Can I message someone without saving them as a contact?

Yes. With the API you put the phone number in the request body. Nobody has to save the contact on a phone first. You still need their consent and a correctly formatted international number. A click-to-chat link is different: it only opens a chat for the customer to start.

Can I schedule messages and personalise each one?

Yes. Use merge fields and up to 3 body variants, and preview the exact text each contact will see. Then schedule the run from the app or through the API. Every send, whichever way it starts, goes through the same pacing and opt-out checks.

Can I keep my existing WhatsApp number?

Yes. You scan a QR code once and keep using WhatsApp on your phone as before. Your chats stay where they are. WASenderPlus adds the API, shared conversations, sending controls and contact history on top of the number you already use.

Can API messaging get my number restricted?

It can. WhatsApp says it uses automated detection and user reports to find unwanted bulk messaging. Any unofficial API or third-party automation carries account risk. Pacing controls your workload but cannot replace consent. Message people who opted in, honour every withdrawal, and read how to avoid a WhatsApp ban before your first campaign.

How many messages can I send per day?

There is no message cap on any plan — what WASenderPlus manages is pace. A fresh number starts at about 250 sends a day and climbs to about 6,000 once it is warm and reports stay low. These are queue defaults that protect your number, not limits published by WhatsApp. The full ladder is on sending limits.

What happens when someone replies STOP?

The contact is suppressed on the web app, extension, Sheets and API within seconds. It stays suppressed after a re-import, so your code cannot message them by mistake. Opt-out keywords are matched in 9 languages. See the opt-in rules for collecting consent.

How is the Chrome extension different from the API?

The extension works inside your own WhatsApp Web tab and paces sends for someone working by hand. The REST API lets your own code send messages and receive events. Both use the same connected number, contacts, pacing and opt-out list. Both work through the linked WhatsApp Web session, not Meta’s Cloud API.

Is this the same as “WhatsApi”, a “wsp API” or a “whats app” sender?

Yes. People search for a WhatsApp API under many spellings — WhatsApi, whatapp, whstapp, whatup, wats, or wsp, the Spanish chat shorthand. They all mean the same thing: sending and receiving WhatsApp messages from your own code. Many developers look for a free API; WASenderPlus is not free, but the 7-day trial needs no card.

Build your WhatsApp API integration around the complete workflow

Connect your backend to WhatsApp messaging and team replies

A WhatsApp messaging API lets your backend send messages from events, such as an order, a booking or a sign-up. Nobody has to open a chat. With WASenderPlus your application shares connected numbers, pacing and suppression checks with the people answering customers.

When a customer replies, the agent needs the original message and the customer’s context. Keep that on the WhatsApp CRM record, and compare the messaging workflows that match your application. Decide who owns each reply before you switch on automated follow-ups.

Choose your connection model before you choose a tool

Three models sit behind the words “WhatsApp API”. Meta’s WhatsApp Cloud API runs through the Business Platform, with onboarding and approved templates. Meta prices it per message, with rates that vary by message category and country. A WhatsApp Web gateway drives a linked session instead. The WhatsApp Business App is the phone app itself, built for one person answering chats.

WASenderPlus is an unofficial WhatsApp API: it links your number with a QR code and works through that WhatsApp Web session. You can send from your code, the web app, the Chrome extension or Sheets. Setup takes minutes, with no template approval and no Meta message fees. The session has to stay connected, and account restrictions remain possible.

Send your first authenticated request

Start with a connected number and a test recipient who has opted in. The examples above make an HTTPS POST with a bearer token in the Authorization header. The JSON body holds the recipient in to and the message in text.

Keep the API key on the server, never in browser code, repositories or screenshots. A successful response means the request was accepted, not that the message was delivered. Delivery arrives later as a webhook event or in the message status.

Send from PHP with cURL or Guzzle

The PHP example uses the cURL extension, reads the key from an environment variable and encodes the payload with json_encode. Keep the recipient in the request body exactly as shown, and send from a server, never from the browser.

With Guzzle through Composer, keep the same endpoint, headers and fields. In Laravel, Symfony or WordPress, set a request timeout, inspect the response and catch exceptions. Do that before you connect live order events to a queue worker. Log failures with enough context to replay them safely.

Handle webhooks as events, not final outcomes

Webhooks report delivered, read, replied and opted-out events to a URL you configure. Match each event to the outbound message and the contact before you update a record or start more work.

Build the handler to accept the same event twice and events that arrive out of order. Verify each request as the API docs describe, respond quickly, and do the heavy processing in a queue. Log failures so you can replay them later.

Pick message formats and templates per channel

Plan each conversation around the format it needs: text, an image, a PDF invoice, a voice note or a location pin. In the web app, the extension and Sheets these sit side by side in one run, each personalised per contact.

Saved templates in WASenderPlus are reusable message bodies, not Meta-approved templates. An unofficial API does not need template approval. If you also run the official Cloud API elsewhere, its template rules still apply there. For API sends, the API docs list which formats each endpoint accepts.

Turn ecommerce events into notifications customers expect

Map purchase, payment, fulfilment and shipping events to separate messages. Shopify, WooCommerce or your own backend should supply the order context. That way agents never rebuild it by hand when a customer replies.

Check relevance before every send: cancel a dispatch notice if the order was cancelled, and route delivery exceptions to support. Confirm consent is still valid. A retry should look at the current order state, not the state when the first attempt failed.

Join API broadcasts to inbox ownership

A broadcast-to-reply workflow starts with an audience, an API-triggered message and a shared number. When a reply arrives it lands on the contact record. The agent who picks it up sees the original message, the order and the consent source.

Assignment and internal notes in the team inbox handle the handover between people. If your code also sends to the same customers, track which system owns the conversation. That stops an automated follow-up from landing on top of an agent’s reply.

Carry consent through imports, API calls and suppression

Record the consent source, the date and the purpose before you import a contact. A phone number captured at checkout does not say what the customer agreed to receive. The glossary defines each term so your team uses them the same way.

Opt-outs are matched in 9 languages and stay suppressed after a re-import. For API integrations, check withdrawals again before a scheduled send or a retry. Require a fresh opt-in before messaging someone who said stop, and keep withdrawal records for later audits. U.S. businesses should also check applicable federal and state rules before automating promotional messages.

Treat pacing as queue management, not account protection

Plan bulk sending around consent, the age of the number and WASenderPlus’s default workload settings. Pacing controls when each message leaves the queue. It cannot stop a recipient from blocking or reporting you. WhatsApp also says it detects unwanted automated and bulk messaging, so restrictions remain possible with any unofficial API.

The defaults warm a new number over 2 weeks and space sends 4–40 seconds apart. They are WASenderPlus queue settings, not limits published by WhatsApp. Watch queue delays during the first campaigns, and read the sending guides before you scale a list.

Separate the subscription from messaging charges

Compare the workspace subscription with what an official provider would charge. Check Meta’s current per-message rates by message category and country. Providers bill in different ways, so a cheaper plan can cost more once message fees are added.

WASenderPlus starts at $6/mo with the REST API and webhooks included. The Team plan at $19/mo covers a team of any size with no per-agent billing. Add hosting and monitoring to the estimate before comparing the total with another tool.

Prepare credentials, retries and reconnects for production

Before launch, name an owner for key rotation and secret storage, and redact phone numbers from request logs. Keep separate keys for staging and production so a test run can never reach real customers.

Store the business event with each send so a retry cannot message the same customer twice. Test what happens when the linked session reconnects and when an opt-out arrives mid-campaign. Test the case where an agent has already answered the customer, too.