Merpati
Sign in →
Par avion · self-hosted · open source

Your own SMS gateway, delivered by your phone.

Merpati turns any Android phone with a SIM into an SMS gateway. Send and receive from a web inbox or a REST API — through phones you own, on a server you run, with no SMS provider in between.

01 — What's in the envelope

Everything a small SMS operation needs

  1. 01

    A web inbox

    Conversations per number, chat-style threads, a searchable log, sent / delivered / returned at a glance.

  2. 02

    A REST API

    Queue an SMS with one POST from your shop, school or monitoring system, and follow its status.

  3. 03

    Your phones, your SIMs

    The Android app sends through the phone's own SIM, dual-SIM aware, and uploads incoming SMS and contacts.

  4. 04

    Accounts kept apart

    Every account sees only its own phones and messages. Admins get totals, never other people's SMS.

  5. 05

    Gentle on operators

    A pause between messages, numbers normalised, and failed SMS never re-sent behind your back.

  6. 06

    Open and bilingual

    MIT licensed, English and Indonesian, light and dark. Run it with one docker compose command.

02 — Route

How a message travels

  1. SenderYour app or browser

    Writes the SMS in the inbox or calls the API.

  2. Sorting officeMerpati server

    Queues it, keeps the history, tracks the status.

  3. CarrierAndroid phone + SIM

    Polls the server, sends it, reports back.

  4. RecipientAny phone number

    Gets a normal SMS from your number.

The phone always calls the server, never the other way round — so it works behind any mobile network or NAT.

03 — For developers

One request to send

curl -X POST https://merpati.hidayatsattar.dev/api/v1/messages/ \
  -H "Authorization: Api-Key sk_..." \
  -H "Content-Type: application/json" \
  -d '{"phone_number": "081234567890", "body": "Your order has shipped"}'

Ready when your phone is.

Sign in to open your inbox, register a phone and create an API key.