Most tutorials on “sending SMS from your app” point you to services like Twilio, where you pay per message. That’s fine for small projects, but once you start sending a lot of texts, those charges add up quickly.
I wanted something different: a way to send SMS without paying a third-party provider — just using my own Android phone and SIM card. That’s why I built SimGate.
In this post I’ll show you how I wired up my phone to send an SMS directly from a simple React app with just one API call.
The idea
Install an app on your Android phone.
The app connects to SimGate and exposes an API endpoint.
Your frontend or backend makes a POST request with the phone number + message.
Your phone’s SIM card sends the SMS.
No middleman. No per-SMS fee. Just your device and your mobile plan.Setting up the phone
Install the SimGate Android app.
Log in and register the device.
The app generates an API key you’ll use in your code.
That’s it — your phone is now ready to act as a mini SMS gateway.
3.Sending an SMS:
Here’s the simplest possible curl example:
curl -X POST https://api.simgate.app/v1/sms/send \
-H "Content-Type: application/json" \
-H "x-api-key: <YOUR_API_KEY>" \
-d '{
"deviceId": "<YOUR_DEVICE_ID>",
"to": "+15551234567",
"message": "SMS from curl"
}'
Sending it from react is quite simple:
async function sendSms() {
const res = await fetch("https://api.simgate.app/v1/sms/send", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<YOUR_API_KEY>",
},
body: JSON.stringify({
deviceId: "<YOUR_DEVICE_ID>",
to: "+15551234567",
message: "Hello from my React app",
}),
});
const data = await res.json();
console.log("SMS response:", data);
}
As long as your phone has connection SMS is shipped!
Top comments (0)