Key Takeaways
- “Rate limited by phone” is usually OEM SMS ceilings, carrier fair-use, or your own dump — not a mysterious API tax.
- Raise Android/OEM SMS rate ceilings where the vendor documents it. Do not talk as if operator and consent limits disappear.
- Retries of a throttled burst burn airtime and make the SIM look worse.
- OTP on a shared promo radio will look like rate-limit even when the limiter is queue contention.
- Platform volume meters (Free/Developer) are a different layer from the handset.
- BYO phone and operator credit. We meter devices and send volume.
Summary
Rate-limited-by-phone on an Android SMS gateway means the radio or OEM policy said no — not that a cloud SMSC magically appeared. Separate OEM ceilings, carrier fair-use, prepaid, platform volume meters, and your dump. Pace. Isolate OTP. Confirm live error shapes in the Developer Center. Pricing stays devices plus send volume.
If native Messages also throttles the same SIM, your JSON client is not the villain. The phone is doing what Android told it to do.
Which limiter hit you
Search intent is stuck OTP or a bulk job crawling. Start with load test carefully and OEM overlays background restrictions. Public Android SMS APIs are a starting frame — Android connectivity— not a promise we can lift carrier caps.
Context
Burst OTP, CSV promo, dual-SIM. Radio: OEM killers, prepaid. Related troubleshooting: app troubleshooting.
How to diagnose
- Same body, native Messages, same SIM. If native throttles, stop changing the API.
- Check last-seen, OEM exemption, and whether promo shared the OTP nickname.
- Lower SMS/min. Wait. Do not retry the whole CSV.
- Check plan meters vs handset. Different dashboards.
- Add a second device before you “tune” a dump.
Check table
| Layer | Signal | First move |
|---|---|---|
| OEM / Android ceiling | Native also slows | Raise documented ceiling; pace |
| Carrier fair-use | Bar / delay hours later | Stop dump; canary |
| Queue contention | OTP behind promo | Split devices |
| Platform meter | Free/Developer exhausted | Upgrade; not a radio hack |
| Doze | Last-seen stale | OEM exemption |
Retries and airtime
Every retry is operator money. Platform: devices and volume. Free 300 lifetime. Starter/Pro/Business uncap platform send volume on those SKUs and still meter devices; the phone still throttles.
Operations
Pair setup. Write a sustain SMS/min. Rotate devices for volume — rotate devices— instead of one screaming SIM.
Do not bypass consent
Throttle is not a reason to strip STOP or hide identity. Counsel still owns promo. Idempotent ids so retries do not double-send OTP.
When to add a device
Add a device when paced native sends still miss SLO and the plan has a slot. Do not add a device to launder a spam CSV.
Checklist
- Native Messages canary.
- OEM exemption + last-seen.
- OTP isolated.
- Pace written.
- No full-CSV retry.
- Plan meter checked.
- Official APK.
- Developer Center errors.
- Airtime owner.
- No “remove rate limits” titles.
Next steps
Load-test carefully, OEM background, multi-device routing.
Deep dive: production hardening
Re-measure after OEM updates that reset SMS limits. Photograph the ceiling screen. Keep a spare OTP phone that never sees bulk.
Deep dive: scaling and failure modes
Scale with device count on the plan. Failures: dump, shared radio, Doze, treating platform Unlimited SMS card copy as carrier airtime.
Deep dive: integration discipline
Backoff on throttle signals. Idempotent OTP. Persist gateway ids. Developer Center owns schemas. You bring the Android phone and operator SMS credit.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- download the Android gateway appGet the APK





