You're on the Free plan — 1 device, 100 msgs/day
API Documentation
Integrate Android Texter into your app or CRM. Send messages, manage devices, and receive webhooks via our REST API.
Quick Start
Send your first SMS in seconds. Create an API key on the API Keys page, then:
curl -X POST https://androidtexter.com/api/messages/send \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+14155551234",
"message": "Hello from the API!"
}'https://androidtexter.comAuthentication
All API requests require authentication via an API key sent in the X-API-Key header, or a JWT Bearer token.
Messages
Send and receive SMS messages through your connected Android devices.
Devices
Manage the Android phones connected to your account.
Webhooks
Configure webhook URLs to receive real-time notifications when messages are received.
Quick Replies
Manage saved quick reply shortcuts for fast messaging.
Webhook Payloads
When a message is received on a connected device, we'll POST a JSON payload to your configured webhook URL.
message.received
Fired when an SMS is received on any connected device.
{
"event": "message.received",
"timestamp": "2026-03-11T20:26:47Z",
"data": {
"id": "uuid",
"from": "+14155551234",
"body": "Hello!",
"device_id": "uuid",
"device_name": "Pixel 7",
"received_at": "2026-03-11T20:26:47Z"
}
}Verifying Webhook Signatures
Each webhook is signed with your webhook secret. Verify the X-Webhook-Signature header using HMAC-SHA256:
import hmac, hashlib
def verify_webhook(payload_bytes, signature, secret):
expected = hmac.new(
secret.encode(),
payload_bytes,
hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)Rate Limits
API requests are rate-limited to 60 requests/minute per API key. Send endpoints are limited to 10 messages/second per device. If you exceed the limit, you'll receive a 429 Too Many Requests response.