opensms :: self-hosted sms gateway
$ turn your android phone into an sms api
OpenSMS lets developers send SMS from their applications using their own Android phone and SIM as the gateway. You keep control of the hardware and the number.
sms costs, throughput and delivery are determined by your carrier and sim.
$ curl -X POST https://opensms.dev/api/v1/messages \
-H "Authorization: Bearer opensms_xxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"to": "+923001234567",
"message": "Hello from OpenSMS"
}'{ "id": "b3f1c2d4-…", "status": "pending" }:: flow
how it works
A small queue sits between your application and your phone.
your application
Calls the OpenSMS API with an API key
opensms api
Validates the key and queues an SMS job
android gateway
Claims the job using its device token
sim
Sends the message from your own number
:: features
built for developers
#your own hardware
Messages leave through a phone and SIM you control. No carrier contracts or shared sender pools.
#simple http api
One endpoint to send, one to check status. Works from any language that can make an HTTP request.
#multiple gateways
Pair more than one Android phone. Jobs are distributed to whichever gateway is online and available.
#multi-sim aware
Devices report their SIMs by subscription and slot, so jobs can be routed to a specific SIM.
#scoped credentials
API keys authenticate your apps; each gateway gets its own revocable device token.
#delivery status
Jobs move through pending, processing, sent and failed. Poll the status endpoint for the outcome.