Skip to content
SocialMate
REST API · webhooks · OpenAPI

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.

In short

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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?
Yes — SocialMate's Free tier runs a real local REST API with read endpoints and text sending, using your own WhatsApp number on your own machine. No credit card, no trial clock, no per-message fees. Media, groups, scheduling and message history are Pro.
Do I need the WhatsApp Business API or Meta approval?
No. SocialMate automates the normal WhatsApp app on your own machine with your own number — no Meta business verification, no message templates, no 24-hour window, no per-conversation fees.
Where does the API run?
On your machine. The server binds to 127.0.0.1:3456 and is off by default. To reach it from outside — a VPS, n8n cloud, a hosted agent — put the built-in Cloudflare Tunnel in front of it (named tunnel on Pro), or run SocialMate headless on your own server.
What webhooks does it send?
35 events — message.received, message.sent, message.status, account connection changes, queue and sync progress, and more. You subscribe an HTTPS endpoint per events list, and payloads are signed so you can verify them.
Can I build auto-replies with it?
Yes: subscribe to message.received, and answer by POSTing back to /v1/accounts/{id}/messages. That loop is also exactly what the native n8n node and the MCP server do under the hood — they ride this same API.
Will automating WhatsApp get my number banned?
Every API send goes through SocialMate's anti-ban engine — rate limits, human-like jitter, account warming and a live risk score — and there is no bypass. That materially reduces risk but no tool can make automation risk-free: it may violate WhatsApp's terms, so message people who expect to hear from you, and don't automate a number you can't afford to lose.
Is there an OpenAPI spec or SDK?
Yes — the app ships an OpenAPI spec you can import into Postman, or use to generate a typed client in your language. The docs include curl, Node.js and Python examples.

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.

Free forever · no card Download free