A free, self-hosted WhatsApp API on your own machine
SocialMate gives you a real WhatsApp REST API with 35 webhook events, running locally on your own machine and number. No WhatsApp Business API, no Meta approval, no per-message fees. Free tier includes text sending.
SocialMate runs a real WhatsApp REST API locally: download the app, link your number by QR, switch the API server on, and http://localhost:3456 answers with key-authenticated endpoints for messages, contacts, groups and media — plus 35 webhook events pushed to your code the moment something happens. No WhatsApp Business API, no Meta approval, no per-message fees, and the Free tier includes reading data and sending text. Every send passes the anti-ban engine — your script cannot burn your number by accident.
Send your first WhatsApp API message
- Download SocialMate and link WhatsApp. Install the free desktop app (Windows, macOS, Linux) and scan the QR code with WhatsApp on your phone — your own number, no Business API.
- Turn on the local API server. In the app → API & Integrations, switch the API server on. It is off by default and binds to 127.0.0.1:3456 — private to your machine until you expose it yourself.
- Create an API key. API & Integrations → API Keys. The key's scope (read / send / admin) decides what it may do; pass it as the x-api-key header.
- Send a text. POST /v1/accounts/{id}/messages with a chatId (any phone format with country code) and text. The response carries the message id and status.
- Subscribe to webhooks. POST /v1/webhooks with your endpoint URL and the events you want — message.received, message.sent, and 33 more — and SocialMate pushes signed payloads to your code as they happen.
Your first two requests
Paste an API key from the app where the placeholder is. The server answers on localhost — nothing leaves your machine unless you put a tunnel in front of it.
Send a WhatsApp message — curl
curl http://localhost:3456/v1/accounts/ACCOUNT_ID/messages \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "chatId": "15551234567", "text": "Hello from the API" }'
Get message.received pushed to your code — curl
curl -X POST http://localhost:3456/v1/webhooks \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://your-server.example/hook", "events": ["message.received"] }'
Free covers read endpoints and plain text sends. Media, groups, scheduling, message history and the AI-context endpoint are Pro — the API surface is identical, the key's tier decides.
How SocialMate compares
| Capability | SocialMate This is us | WAHA | Evolution API | Twilio (Cloud API) |
|---|---|---|---|---|
| Self-hosted, your own number | Yes | Yes | Yes | No |
| No WhatsApp Business API / approval | Yes | Yes | Yes | No |
| No per-message fees | Yes | Yes | Yes | No |
| Native n8n node (usableAsTool) | Yes | Partial | Partial | Yes |
| Native MCP server | Yes | Yes | No | No |
| Conversation-memory tool for agents | Yes | No | No | No |
| Anti-ban engine | Yes | No | No | n/a |
| Smart queue + scheduling | Yes | Partial | Partial | Partial |
SocialMate automates the WhatsApp app on your own machine. It is not the official WhatsApp Business API and is not affiliated with WhatsApp or Meta. Provider capabilities change — verify current details with each provider.
Frequently asked questions
Is there a free WhatsApp API?
Do I need the WhatsApp Business API or Meta approval?
Where does the API run?
What webhooks does it send?
Can I build auto-replies with it?
Will automating WhatsApp get my number banned?
Is there an OpenAPI spec or SDK?
Your WhatsApp, with an API
Download the app, link your number, switch the server on — and build against it in the same hour. Free to start, no card.