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.

free · unlimited send unlimited SMS from your own SIM — fair-use rate limit of 1 message / second (120 / minute). no quotas, no per-message fees.

sms costs, throughput and delivery are determined by your carrier and sim.

POST /api/v1/messages
curl
$ 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"
  }'
202 accepted
{ "id": "b3f1c2d4-…", "status": "pending" }

:: flow

how it works

A small queue sits between your application and your phone.

01

your application

Calls the OpenSMS API with an API key

02

opensms api

Validates the key and queues an SMS job

03

android gateway

Claims the job using its device token

04

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.

start sending in a few minutes

Create an account, generate a key, and pair your first phone.