SMS API for developers — send and receive SMS with one request
Call a clean REST API from any language and your Android phone sends the SMS from its own SIM. Get sent and delivered reports, receive incoming SMS by signed webhook, and pay a flat price per phone with unlimited SMS.
- REST + JSON
- Signed webhooks
- Delivery reports
- TextBee-compatible
Built for developers
Clean REST endpoints
Send, schedule, cancel and list messages, read received SMS and manage phones and webhooks with JSON.
Signed webhooks
sms.received, sms.sent, sms.delivered, sms.failed and phone online/offline events, HMAC-signed and retried.
Automatic phone choice
Call /v1/send-sms without a phone ID and the least busy online phone sends it.
Dual-SIM control
Choose SIM 1 or SIM 2 per message with sim_slot.
Durable queue
Messages wait while a phone is offline and are retried if a phone never confirms them.
Simple auth
One x-api-key header (or a Bearer token) and 300 requests per minute per key.
How to send your first SMS with the API
- 1
Link a phone
Install the Android app and scan the QR code shown in your dashboard.
- 2
Create an API key
Open API keys in the dashboard and copy your sgk_ key.
- 3
Send a request
POST recipients and a message to /v1/send-sms — the phone sends it within seconds.
Send an SMS in one request
The same call works from PHP, Node.js, Python, Go or any HTTP client. The answer contains message IDs you can track or receive by webhook.
Read the API docscurl -X POST https://tekservix.com/smsgora/api/v1/send-sms \
-H "x-api-key: $SMSGORA_KEY" \
-H "Content-Type: application/json" \
-d '{"recipients":["+250788123456"],
"message":"Your order #1042 has shipped."}'
How an Android SMS API works
Your application sends an HTTPS request to the SMS Gora API. The message is stored in a durable queue, and the next time your linked Android phone checks in (every few seconds while it has work) it takes the message and sends it through the phone’s SIM card. The phone then reports sent and, when the network confirms it, delivered — both available through the API and as webhooks.
Send SMS from PHP, Node.js and Python
The API documentation has copy-paste examples for cURL, PHP, Node.js and Python, plus bulk sending with a different text per recipient, scheduling with schedule_at and cancelling queued messages.
Receive SMS by webhook
With the Send & receive edition of the app, every SMS the phone receives is forwarded to your server as an sms.received webhook — useful for two-way conversations, keyword replies and confirmations like “YES”. You can also poll GET /v1/received-sms.
When to choose a phone-based SMS API
It’s ideal for internal tools, small and medium businesses and countries where SMS bundles are cheap and sender-ID registration is slow. For very high volumes to many countries, a carrier-connected provider may suit you better — many teams use both.
Pay per phone, not per message
Unlimited SMS on every plan. Your mobile operator bills the texts to your SIM, like messages you send by hand.
Basic
- 1 Android phone
- Unlimited SMS
- REST API, webhooks & received SMS
- Bulk campaigns, auto-replies & opt-outs
- Dual-SIM selection
Pro
- 3 Android phones
- Unlimited SMS
- REST API, webhooks & received SMS
- Bulk campaigns, auto-replies & opt-outs
- Dual-SIM selection
Business
- 10 Android phones
- Unlimited SMS
- REST API, webhooks & received SMS
- Bulk campaigns, auto-replies & opt-outs
- Priority support
Enterprise
- 30 Android phones
- Unlimited SMS
- REST API, webhooks & received SMS
- Bulk campaigns, auto-replies & opt-outs
- Dedicated support
SMS API questions
Which programming languages can use the SMS API?
Any language that can make an HTTPS request. The docs include cURL, PHP, Node.js and Python examples.
How fast is an SMS sent after the API call?
Usually within seconds: an online phone picks up new messages within about 15 seconds when idle and every 1.5 seconds while busy. Messages for an offline phone wait in the queue and go out when it reconnects.
Can the API receive SMS?
Yes, with the Send & receive edition of the Android app: incoming texts arrive by webhook and through GET /v1/received-sms.
Is there a free SMS API trial?
SMS Gora is paid only, from $3.99/month for one phone with unlimited SMS, and you can cancel any time.
Is it compatible with TextBee?
Yes. TextBee paths such as /gateway/devices/{id}/send-sms and the x-api-key header are accepted, so most integrations switch by changing the base URL and key.
Send your first SMS by API in five minutes
Link your Android phone in two minutes. Unlimited SMS from $3.99/month.
Get startedMore about SMS Gora: SMS Gora overview · Bulk SMS · OTP SMS · TextBee alternative · API documentation · SMS Gora pricing · Install the Android app