Skip to content
Android SMS gateway

What Is an Android SMS Gateway? How to Send and Receive SMS From Your Own Phone

An Android SMS gateway turns a phone and SIM into an API for texts. Learn how it works, gateway types compared, setup in 4 steps, limits and when to skip it.

smsportal teamPublished: 14 min read
An Android phone acting as an SMS gateway, relaying messages to a server and devices

An Android SMS gateway lets your software send and receive text messages through a phone you already own. If you have an old Android phone, a SIM card and a reason to text customers, you can skip per-message pricing and sender registration and send from your own number. This guide explains what a gateway is, how the pieces fit together, how the main types compare, how to set one up in four steps, and where the approach stops working.

What is an Android SMS gateway?

An Android SMS gateway is an app that connects a phone's SIM card to an API. Your system asks a server to send a text, the phone sends it over the mobile network, and the server records delivery status and any replies. To the recipient it looks like an ordinary text from your number.

Think of the phone as a one-person post office. Your code drops a letter in the mailbox (the API), and the phone walks it to the carrier. Nothing about the message looks automated on the other end.

Most gateways give you the same building blocks:

  • a REST API to send and read messages from code,
  • a web dashboard for manual sending, CSV import and message history,
  • webhooks that notify your server about replies and delivery events,
  • an Android app that holds the SIM and does the actual sending.

What types of SMS gateways exist?

There are three types: carrier gateways, wholesale (aggregator) gateways and own-SIM gateways. They differ in cost model, sender identity, scale and whether people can reply.

Carrier gatewayWholesale gateway (e.g., Twilio, Telnyx)Own-SIM Android gateway
Sendershort code or alphanumeric IDregistered number, toll-free, short codeyour normal phone number
Repliesdepends on the productyes on numbers, not on alphanumeric IDsyes, to your number
Cost modelcontract, per messageper segment plus number rental and feesyour mobile plan plus a software plan
Registrationcontract and checksoften required (e.g., 10DLC in the US)none for the gateway itself
Scalevery highhigh to very highlow to medium
Setup timedays to weekshours to daysabout 10 minutes
Best forenterprisesmarketing and large-scale alertstransactional texts and conversations

Note: wholesale pricing changes often and varies by country and carrier. Check the provider's current pricing page before you compare. For a worked cost breakdown, see Twilio alternatives for small volume.

Carrier gateways

Mobile operators sell messaging services to business customers directly. They are stable and scale well, but they usually need a contract and fit large organizations.

Wholesale gateways

Providers like Twilio, Telnyx or Plivo connect to many carriers and bill per message. They give you scale and, in many countries, alphanumeric sender IDs. In the US, application-to-person traffic over regular 10-digit numbers requires 10DLC registration, which adds paperwork and fees. See do you need 10DLC for the details.

Own-SIM Android gateways

This is the type this guide focuses on. The phone and its SIM do the sending, so you pay your normal mobile plan instead of a per-message rate. If you want the cost angle, SMS API cost comparison breaks it down.

How does an Android SMS gateway work?

An Android SMS gateway queues your request on a server, wakes the phone through a push notification, and lets the phone send the text over the carrier network. The phone then reports the result, and the server exposes it through the dashboard, API and webhooks.

The flow in six steps:

  1. Your system calls the API (or you click Send in the dashboard).
  2. The server validates the API key, stores the message and queues it.
  3. The phone receives a push notification, fetches the job and sends the SMS from its SIM.
  4. The carrier delivers the message and returns a delivery report.
  5. The app reports the status back to the server.
  6. The server updates the dashboard and fires a webhook to your endpoint.

Replies take the reverse path. The text lands on the phone, the app forwards it to the server, and you see it as a MESSAGE_RECEIVED event.

Message statuses

StatusMeaning
Queuedthe server accepted the message, the phone has not picked it up
Sentthe phone handed the SMS to the carrier
Deliveredthe carrier confirmed delivery to the recipient's handset
Failedsending failed, for example due to an invalid number

"Sent" is not "delivered". If a text matters, wait for the MESSAGE_DELIVERED webhook or poll the status instead of trusting the API response alone.

What are the parts of an Android SMS gateway?

A phone gateway has four parts: your system, a server, the app on the phone and the carrier network. Each does one job, and a message passes through them in a fixed order.

  1. Your system or the dashboard requests a send with an API call that carries your key in the x-api-key header.
  2. The server validates the key, stores the message and marks it queued.
  3. A push notification wakes the app on the phone, so the app does not have to poll the server all day.
  4. The app fetches the job and tells the SIM to send the SMS, keeping a delay between messages (5 seconds by default).
  5. The carrier accepts the message and delivers it to the recipient's handset.
  6. The delivery report returns from the carrier to the phone, and the app passes it to the server.
  7. A webhook tells your system that the message was sent, delivered or failed.

Because the phone connects out to the server, it does not need a public address. The gateway works behind a home router or an office network without opening ports.

PartResponsible forWhat can go wrong
Your systemcreating jobs and handling webhookswrong API key, bad number, unverified signatures
Serverqueue, history, statuses, APIwrong default device selected
Phone and appactually sending and receiving SMSno signal, app put to sleep, missing permission
Carrierdelivery to the recipientfiltering, rate controls, recipient's phone is off

Which Android phone should you choose for a gateway?

Any phone running Android 7.0 or newer with an active SIM that can stay on a charger will do. Stability matters more than speed, so a cheap or old model is fine.

  • Android version: 7.0 (API 24) or newer. Older versions cannot run the app.
  • Power: keep it on a charger with some airflow around it. A worn battery that swells is a safety problem, so stop using that battery.
  • Dual SIM: a dual-SIM phone can hold two numbers, such as a business line and a test line. The API field simSubscriptionId picks the SIM. Without it, the device's default SIM sends the text.
  • Wi-Fi or mobile data: stable Wi-Fi is enough for the connection to the server, and mobile data is a useful fallback. The SMS itself travels over the cellular network, so you need signal.
  • Brand quirks: some manufacturers kill background apps more aggressively. If the phone sleeps, revisit the battery settings and exempt the app.
  • The SIM and plan: choose a plan with texting included. Customers will reply to that number, so do not use one you plan to drop.

Tip: a phone from a drawer is a good place to start. Use an old Android phone as an SMS gateway walks through that exact setup.

What can you build with an Android SMS gateway?

Own-SIM gateways fit transactional and two-way messaging, where a message follows an event and a person may answer. Replies reaching your normal number is the feature that wholesale alphanumeric senders usually lack.

  • Appointment reminders for a dental clinic or salon, where the patient replies "YES" to confirm. See appointment reminder SMS.
  • Order and pickup notices, such as "Your car is ready for pickup" from a workshop.
  • One-time codes for your own app. See SMS OTP and 2FA from your own number.
  • Alerts from servers, home automation or monitoring.
  • Automation flows in n8n, with HTTP and webhook nodes. See send and receive SMS in n8n.
  • AI agents that text people or read replies through an MCP server. See SMS for AI agents.
  • Mailing a customer list from a CSV, with a personalized message per row. See bulk SMS from CSV.

How do you set up an Android SMS gateway?

You can set one up in about 10 minutes: install the app on a phone with a SIM, connect it to your account with a QR code, grant permissions and send a test message. The steps below use smsportal.

What you need:

  • an Android phone running 7.0 or newer with an active SIM (an old one works),
  • a charger and a stable Wi-Fi or mobile data connection,
  • an account at smsportal, which has a free plan to start.

Step 1. Install the app

Create your account, then download the Android app on the phone that holds the SIM. The app has English and Polish interfaces and a dark mode. Because the APK comes from outside Google Play, Android will ask you to allow installs from that source.

smsportal Android app welcome screen (Polish UI)

Step 2. Connect the phone to your account

In the dashboard click Add device, then scan the QR code with the app. You can also enter the server URL and API key by hand. The phone appears in the dashboard as a device that you can name, for example "Front desk".

Connecting the app to the server with a QR code or an API key (Polish UI)

Step 3. Grant permissions

The app asks for permission to send and receive SMS, show notifications and run without battery restrictions. Grant all three. Without the last one, Android may put the app to sleep and pause sending.

Permissions screen: SMS, notifications and battery (Polish UI)

When setup finishes, the app confirms that receiving SMS is enabled.

Setup complete with receiving SMS enabled (Polish UI)

Tip: leave the phone on a charger and check the device health screen in the app. It flags battery optimization, missing permissions and connectivity problems. For the design of that screen see reliability.

Step 4. Send your first SMS

Send from the dashboard or from code with an API key you generate in the dashboard:

bash
curl -X POST "https://smsportal.app/api/v1/gateway/send-sms" \
  -H "x-api-key: $SMSPORTAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": ["+14155550123"],
    "message": "Your car is ready for pickup. Mike'"'"'s Auto"
  }'

With one device you can omit deviceId, and the API uses the active phone. On dual-SIM phones, simSubscriptionId picks the SIM. For full code samples and webhook handling, read SMS API without Twilio and the API docs. You can also watch the result on the phone itself.

App dashboard: gateway online with sent and received counts (Polish UI)

What features does an Android SMS gateway offer?

smsportal exposes every message through five channels: REST API, dashboard, Android app, webhooks and an MCP server. Messages leave from your own number and replies come back to the same places.

  • Send and receive through the API, including a bulk endpoint that takes different text per recipient.
  • Signed webhooks for MESSAGE_RECEIVED, MESSAGE_SENT, MESSAGE_DELIVERED and MESSAGE_FAILED. Each delivery carries an X-Signature HMAC-SHA256 header you can verify.
  • Scheduling with the scheduledAt field, an ISO 8601 time in the future.
  • SIM selection on dual-SIM phones.
  • CSV bulk send in the dashboard with column variables such as {{ name }}.
  • Inbound filters that decide which received texts are forwarded.
  • A character and segment counter that distinguishes GSM-7 (160 characters) from UCS-2 (70 characters per segment).
  • An MCP server for Claude, Cursor and Codex. See the MCP guide.

The Android app page and messages page show the screens in more detail.

What are the limits of an Android SMS gateway?

A phone gateway is bounded by the phone, the SIM and the carrier. It is a transactional and conversational tool, not a bulk-marketing engine, and honest planning keeps your SIM safe.

  • Throughput. The app waits 5 seconds between messages by default, about 12 per minute or 720 per hour per phone. You can change the delay in settings. For more volume, add phones. We do not promise a number, because the phone and carrier set the ceiling.
  • Power and signal. An offline phone cannot send. Queued messages wait up to 72 hours and then expire, so give one-time codes their own short validity.
  • No alphanumeric sender ID. Texts come from your number, not a brand name.
  • No MMS, RCS, WhatsApp or iPhone gateway. Only SMS from an Android phone.
  • Carrier rules. Carriers can restrict bulk automated texting from consumer SIMs, and "unlimited texting" plans generally assume ordinary personal use. Read your plan's terms.
  • Android's own limit. In the Android source (SmsUsageMonitor), an app that sends texts without user permission may send 30 messages per minute by default (DEFAULT_SMS_MAX_COUNT is 30, DEFAULT_SMS_CHECK_PERIOD is 60,000 ms). Beyond that, the system asks the user to confirm. smsportal's default 5-second delay is about 12 messages per minute, well under that limit. Manufacturers can change the values.
  • Consent. Marketing texts need recipient consent under rules such as the US TCPA or the EU ePrivacy and GDPR framework. This is not legal advice.

The full honest version is in Android SMS gateway limits and when not to use one. If you plan to send from a CSV, read bulk SMS from CSV first.

What if the Android SMS gateway stops sending?

Start with the device health screen in the app. It checks permissions, battery optimization and connectivity, and most failures are a sleeping app, a missing permission or no signal.

Device health screen checking battery optimization, permissions and network (Polish UI)
SymptomMost likely causeWhat to do
Message stays queuedphone offline or app asleepcheck Wi-Fi, disable battery optimization, open the app
Status is failedwrong number, no signal or no credituse the international format (+1...), check signal and plan
Replies do not reach the dashboardmissing receive permission or an inbound filtercheck permissions and filter rules
API returns an auth errorwrong or revoked keycreate a new key and update the x-api-key header
Text left from the wrong SIMdual-SIM phone used its default SIMpass simSubscriptionId in the request
Message expiredphone was offline for over 72 hoursrestore connectivity and send again

If nothing helps, restart the phone, update the app and send a test message from the dashboard. After a system update, permissions sometimes revert to defaults, so open the health screen again.

Own phone or wholesale provider: which should you pick?

Choose an own-SIM gateway when you want your own number, replies and a low cost at small or medium volume. Choose a wholesale provider when you need scale, brand sender IDs or multi-country reach.

SituationBetter choice
Dental clinic or salon sending reminders, patients replyown-SIM gateway
Shop sending order updates, a few hundred a dayown-SIM gateway
Developer side project, home automation, AI agentown-SIM gateway
Promotional blast to tens of thousands of peoplewholesale provider
Texts signed with a company namewholesale provider
Sending to many countries at oncewholesale provider

Many teams combine both: transactional and conversational traffic from their own number, and an occasional campaign through a wholesale provider.

Frequently asked questions

Is an SMS gateway the same as an SMS API? Not exactly. The API is how your code talks to the gateway. The gateway is the whole service plus the thing that actually sends the text.

Do I need to publish the app on Google Play? No. You install the APK directly on your own phone.

Does it work with an iPhone? No. iPhone cannot act as a gateway. You can still use the dashboard from any browser.

More answers are in the FAQ section below.

Try your own Android SMS gateway

A first test takes about 10 minutes: create a free smsportal account, install the app and text your own number. When the free plan stops being enough, see the pricing. If you still have a phone in a drawer, use an old Android phone as an SMS gateway is the next step.

Frequently asked questions

What is an Android SMS gateway?

An Android SMS gateway is an app that lets software send and receive text messages through the SIM card in an Android phone. The phone acts as the radio, and a server gives you a REST API, a dashboard and webhooks on top of it.

Can I use my Android phone as an SMS gateway?

Yes. Any phone running Android 7.0 or newer with an active SIM can do it once you install a gateway app such as smsportal. Keep it charged, connected and exempt from battery optimization so it can send reliably.

Is an Android SMS gateway free?

The software is not free everywhere, but the per-message fee is zero. You pay for your mobile plan, which often includes SMS, plus the gateway plan. smsportal has a free plan to start and no per-message fees.

How many SMS can an Android gateway send per hour?

With smsportal's default 5-second delay between messages, one phone sends about 12 per minute, roughly 720 per hour. Real throughput depends on the phone, the carrier and your plan, so use several phones for more volume.

Can an Android SMS gateway receive replies?

Yes. Replies arrive on your normal number, and the app forwards them to the server. You read them in the dashboard, through the API, or as a MESSAGE_RECEIVED webhook.

Is an Android SMS gateway good for marketing blasts?

No. Phones send messages one by one at a modest pace, and carriers can restrict bulk automated texting from consumer SIMs. For thousands of messages an hour, a wholesale provider with registered sender IDs is the right tool.

Send your first SMS today

Create a free account, connect your phone and see how customers respond to messages from your number.