Send SMS from your own Android phone through a simple HTTP API. No carrier contracts, no shared senders — your hardware, your number.
$ curl -X POST https://opensms.dev/api/v1/messages \
-H "Authorization: Bearer opensms_xxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"to": "+918330973973",
"message": "Hello from OpenSMS"
}'{ "id": "b3f1c2d4-…", "status": "pending" }Unlimited messages
No quotas, no per-message fees.
1 msg / second
Fair-use rate limit keeps the queue healthy.
Your own hardware
Your phone, your SIM, your number.
How it works
Calls the OpenSMS API with an API key.
Validates the key and queues an SMS job.
Claims the job using its device token.
Sends the message from your own number.
Features
Messages leave through a phone and SIM you control. No carrier contracts or shared sender pools.
One endpoint to send, one to check status. Works from any language that can make an HTTP request.
Pair more than one Android phone. Jobs are distributed to whichever gateway is online and available.
Devices report their SIMs by subscription and slot, so jobs can be routed to a specific SIM.
API keys authenticate your apps; each gateway gets its own revocable device token.
Jobs move through pending, processing, sent and failed. Poll the status endpoint for the outcome.
Delivery status
Queued and waiting for an online gateway to claim it.
Claimed by a gateway and being sent from the SIM.
The gateway reported the message left the device.
A confirmed or ambiguous failure, with the reason attached.
Create an account, generate an API key, and pair your first Android phone.