How to Send WhatsApp Messages via REST API (Without an Official Business Account)
A step-by-step guide to integrating WhatsApp messaging into your app using a simple REST API — no Meta approval, no Business API waitlist. Works with Node.js, Python, PHP, or plain cURL.
The official WhatsApp Business API requires Meta approval, a verified Facebook Business account, and often weeks of onboarding. For developers who need to send WhatsApp messages today — for order confirmations, OTP codes, appointment reminders, or chatbot flows — there is a faster path: a hosted WhatsApp REST API that wraps the WhatsApp Web multi-device protocol.
This guide walks through sending your first WhatsApp message in under 10 minutes using WA SaaS.
What you need
- A WA SaaS account — free 7-day trial, no credit card required
- A WhatsApp number to use as your sender (a regular personal number works fine)
- Any HTTP client: cURL, Axios, Python requests, or your framework's HTTP library
Step 1 — Connect your WhatsApp number
After signing up, open the dashboard and go to Sessions → New Session. A QR code appears on screen. Open WhatsApp on your phone, go to Settings → Linked Devices → Link a Device, and scan the code. Your number is now connected and ready to send.
You can connect multiple numbers as separate sessions — useful if you manage different brands or need failover.
Step 2 — Generate an API key
Go to Settings → API Keys → Generate Key. Copy the key somewhere safe. It is used as a Bearer token in every API request.
Step 3 — Send your first message
A single POST request is all it takes:
curl -X POST https://wasaas.org/api/v1/messages/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"session_id": "YOUR_SESSION_ID",
"phone": "966501234567",
"message": "Hello from WA SaaS!"
}'
Phone numbers must be in international format without the + prefix. For a Saudi number, that is 966 followed by the 9-digit local number.
A successful response returns {"status":"sent","message_id":"..."}. That is it — the message has been delivered.
Step 4 — Send images, documents, and audio
Text is just the start. You can send any media type that WhatsApp supports:
// Image with caption
{
"session_id": "YOUR_SESSION_ID",
"phone": "966501234567",
"type": "image",
"media_url": "https://example.com/product-photo.jpg",
"caption": "Your order is ready for pickup!"
}
// PDF document
{
"session_id": "YOUR_SESSION_ID",
"phone": "966501234567",
"type": "document",
"media_url": "https://example.com/invoice.pdf",
"filename": "Invoice-1042.pdf"
}
Step 5 — Receive inbound messages via webhook
To handle replies, go to Settings → Webhooks and enter your endpoint URL. Every time someone responds to your number, WA SaaS sends a POST request to your endpoint:
{
"type": "inbound",
"session_id": "YOUR_SESSION_ID",
"phone": "966501234567",
"message": "Yes, please confirm my order",
"timestamp": "2026-06-25T09:14:00Z"
}
Your server can then reply programmatically using the same send endpoint, creating a two-way conversation loop.
Step 6 — Use message templates for consistency
Rather than building message strings in code, WA SaaS lets you create reusable templates with variable placeholders. A shipping notification template might look like:
"Hi {{name}}, your order #{{order_id}} has shipped and will arrive by {{date}}. Track it here: {{link}}"
At send time, pass the variable values in the request body. This keeps your code clean and makes it easy for non-developers to update the wording later.
Avoiding bans: what to watch out for
WhatsApp's anti-spam systems flag unusual sending patterns. A few rules of thumb:
- Warm up new numbers gradually. Start with a low volume — 50–100 messages per day — and increase over 1–2 weeks.
- Only message people who expect to hear from you. Cold-blasting purchased lists is the fastest way to get a number banned.
- Use bulk campaigns for large sends. The built-in campaign feature adds random delays between messages, which mimics human behaviour and reduces flagging.
- Keep opt-out simple. Let people reply "STOP" and honour it immediately.
What to build next
With a working API integration, common next steps include:
- E-commerce notifications — order confirmed, shipped, delivered, review request
- Two-factor authentication (2FA) — WhatsApp OTP has higher delivery rates than SMS in many regions
- Customer support chatbot — keyword-triggered auto-replies handle common questions around the clock
- Appointment reminders — reduce no-shows with an automated reminder 24 hours before
- Bulk promotional campaigns — send offers to segmented contact lists with real-time delivery tracking
The complete API reference is available inside your WA SaaS dashboard under Docs. Every endpoint includes a live request builder so you can test without writing any code first.
Ready to send WhatsApp messages via API?
Start your free 7-day trial — no credit card required, first message in 10 minutes.
Get started free →