WhatsApp API

Your number.
Your API.

Connect your WhatsApp number in under a minute and start sending from your own systems. Messages go out over a simple HTTP call, replies arrive on your webhook as JSON, and you are never charged per message.

Annual plans from $30. No per-message fees.

Request POST
https://api.textbot.cc/api/send
{
  "recipient": "+27 73 861 8617",
  "apikey":    "key_54a40d…",
  "text":      "Your invoice is ready.",
  "document":  "https://…/inv-2043.pdf"
}
Response 200 OK·184 ms
{ "status": "success", "comment": "Message sent" }
webhook · inbound

Thanks — paid it now.

from +27 82 ••• 4417 · delivered to your endpoint
  • 5message types
  • JSONwebhook replies
  • $30from, per year
  • 0per-message fees

Getting started

Live in four steps

  1. 01

    Connect your number

    Scan the QR code in your portal, or request a pairing code if that suits you better. The session stays linked and reconnects on its own.

  2. 02

    Send your first message

    A single GET with the number, your key and the text. Switch to POST with JSON for files, documents and buttons.

  3. 03

    Receive replies

    Point us at your endpoint and every inbound message, button tap and file arrives as JSON. Group chats are optional.

  4. 04

    Stay in control

    See what sent, what failed and why, how much quota is left, and when each key expires.

API keys

Built for
handing out

Limits live on the key, not the account. Give a client their own key and they can never spend another client's quota or reach their customers.

Granular limits

Daily, monthly and total message caps on every key, plus a ceiling on how many different people it can reach. Add an expiry date and the key switches itself off.

  • Daily and monthly caps
  • Expiry dates
  • Media on or off

Webhook control

Send inbound traffic anywhere you like. Filter out group chats, normalise incoming text before it reaches you, and mark messages read automatically.

  • Skip group chats
  • Mark as read
  • Failed deliveries logged

Full message history

Every send and reply, threaded by number and searchable. Failed sends carry the exact reason next to them, so you are never guessing why something did not arrive.

  • Threaded by number
  • Failure reasons
  • Search

Support that answers

Raise a ticket inside your account and track the reply against it. Expiry warnings reach you by email before a key stops working, not after.

  • Tickets in the portal
  • Warning before expiry
  • Email updates

WordPress

No code
required

The TextBot plugin connects WordPress and WooCommerce to your number. Order updates, abandoned cart recovery, bookings, lead forms and a chat widget that moves the conversation to WhatsApp.

Version 1.4.1. WordPress 6.0 and PHP 7.4 or later.

WooCommerce · order #2043

WhatsApp menu

A reply-driven menu covering orders, tracking, bookings, payments, returns and handover to a person.

Chat widget

Capture a name and number on your site, then continue in WhatsApp so the thread follows the customer.

WooCommerce

Order status updates, cart recovery, checkout links, product catalogue and back-in-stock alerts.

Bookings and forms

Appointments, quotes and waitlists with automatic reminders. Works with Contact Form 7, WPForms and Gravity Forms.

AI replies

Connect Ollama, Flowise, Dify or your own endpoint to draft responses before they go out.

Live handover

Pause the bot on any conversation, take over, tag the customer and keep opt-outs enforced.

AgentDesk

Answer at scale
with AgentDesk

TextBot moves your messages. AgentDesk is where your team handles them: one inbox for WhatsApp and website chat, a complete CRM behind it, and AI agents that answer from your own documents.

  • 01ConversationsShared inbox, assignment, private notes, instant human handover
  • 02CRMContacts, companies, leads, deals, quotes, products, tasks and cases
  • 03AI and automationAgents trained on your documents, multi-step workflows, saved replies
  • 04ChannelsYour numbers, website widgets, approved templates and broadcasts
  • 05OperationsSystem health, analytics, lifecycle stages, teams, approvals, reports
  • 06WorkspaceRoles and permissions, business settings, developer API keys, audit trail
Shared Inbox 4 open
  • Joan M.Thanks — paid it now.2m
  • Ahmed K.Do you deliver to Durban?11m
  • Retail Co.Quote #Q-2043 approved1h
  • Website chatVisitor asking about pricing1h
Do you deliver to Durban?
AI agentYes — Durban is next-day. Want me to check stock?
Please do.
SMSipho took over · AI paused
  • 33features included
  • 1login, shared with TextBot
  • 0extra numbers needed

AgentDesk runs at agentdesk.textbot.cc and signs you in from your TextBot account. No second password.

Pricing

Plans

Simple annual pricing in USD, processed securely by PayFast. No per-message fees and no surprises at the end of the month.

Loading packages…

API

Four endpoints

Add &json=yes to any GET request for a JSON response instead of HTML.

GET Send text

/send.php?recipient=27738618617
  &apikey=YOUR_KEY
  &text=Hello&json=yes

POST Send media

/api/send
{
  "recipient": "+27738618617",
  "apikey": "YOUR_KEY",
  "text": "See attached",
  "file": "https://…/image.png"
}

GET Send buttons

/send.php?recipient=27738618617
  &apikey=YOUR_KEY
  &text=Continue?
  &button1=Yes&button2=No

HOOK Receive replies

{
  "type": "text",
  "from": "27821234417",
  "from_name": "Joan",
  "message": "Thanks — paid it now.",
  "file": null
}

The original send.php, status.php, addphone.php and webhook.php paths are still supported, so existing scripts keep running unchanged.

Start sending today

Choose a plan, pay, connect your number.

Create account

Create your account

  1. Package
  2. Account
  3. Payment
No package selected yet.

Your account and API key are created as soon as PayFast confirms the payment.

Legal

Terms and conditions

Loading…

Password

Reset your password

Enter your account email and we'll send a secure reset link.

Password

Choose a new password

Your reset link is ready. Enter a new password to continue.