BroadNet
SMS API · REST + SMPP

SMS API for critical messages, over REST or SMPP

An SMS API that respects your time.

An SMS API lets your software send text messages, such as one-time passcodes and alerts, with a single HTTP request: with BroadNet, your code calls POST /sms/sendSms with a Bearer token, or binds over SMPP for high-volume pipelines. Documented in an OpenAPI 3.1 spec. An official TypeScript SDK. Delivery reports by webhook. Test access on request.

ISO 27001 · 9001 · 22301GDPR & HIPAA alignedSub-second p99
The BroadNet snow leopard facing a single API call that fans out into delivery routes
BroadNet · one API, every channel
Messaging API
1 API
every channel
1,000+
operator connections
99.99%
SLA
API uptime
99.99%
Contracted monthly SLA, multi-region
API latency
<350ms
p99 target, all regions
Official SDK
1
TypeScript / Node.js + OpenAPI 3.1 spec
Countries
200+
1,000+ direct operator routes
Inside one request

What happens between
your POST and a delivery report.

One TLS handshake, five engineered hops, two webhooks. Every stage has its own latency budget — and every budget is on the SLA, not the marketing page.

  1. 01 · Request
    Your app · REST

    POST /sms/sendSms over TLS, Bearer-token auth, JSON body: senderId, destinationNumber, message, messageType.

    p50 < 41ms TTFB
  2. 02 · Edge
    BroadNet API edge

    Token check, schema validation and route lookup — the message ID comes straight back in the response.

    p50 < 60ms
  3. 03 · Router
    Route + queue

    Per-route quality score selects fastest legal SMPP bind. Multi-region active-active failover in <800ms.

    p50 < 10ms
  4. 04 · Bind
    Operator SMPP 3.4

    Direct SMPP bind to the destination MNO. submit_sm sent; sequence number tracked for DLR correlation.

    p50 < 1.5s
  5. 05 · Webhook
    Delivery report

    deliver_sm captured and POSTed to your webhook URL as a delivery report, keyed to the message ID.

    p95 < 2s
  6. ← delivery report · webhook
Interactive

Try the API

Fill in a request, hit send, and watch a simulated response and delivery flow — right here, no signup.

POSTapi.broadnet.me/sms/sendSms
Request
Authorization: Bearer $BROADNET_TOKEN
request.sh
curl -X POST https://api.broadnet.me/sms/sendSms \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
      "senderId": "BroadNet",
      "destinationNumber": "447700900123",
      "message": "Your verification code is 482913",
      "messageType": "TEXT"
    }'
Response
Example response — no message is sent

Fill in the request and hit Send test request to see an example response.

Runs entirely in your browser. No request leaves this page and no SMS is sent.

Your language

One call, nine ways to write it.

Every tab sends the same request: POST /sms/sendSms with a Bearer token and a JSON body of senderId, destinationNumber, message and messageType. The response body is the message ID.

BroadNet has one official SDK, for TypeScript and Node.js. The Node.js, Python, PHP, Java, C#, Go and Ruby tabs call the REST API directly with ordinary HTTP libraries, with no BroadNet package to install.

Full API reference
Example
curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "BroadNet",
"destinationNumber": "447700900123",
"message": "Your verification code is 482913",
"messageType": "TEXT"
}'
# 200 OK → response body is the message ID, e.g. 2603121407537573731
Protocols

REST or SMPP — pick your protocol

Most teams ship on REST and never look back. High-volume carriers, aggregators, and legacy stacks bind to SMPP 3.4. Same routes, same SLA, same dashboard — choose the interface that matches the job.

REST · HTTPS
api.broadnet.me/sms/sendSms
Recommended
  • JSON over HTTPS, TLS 1.3
  • Bearer-token auth — token from your BroadNet account
  • POST /sms/sendSms · one path family per channel
  • Immediate or scheduled send
  • Delivery reports pushed to your webhook
  • Full reference at /developers/api
Rate limits
None fixed per account
Max payload
1 MiB
SMPP 3.4
2775 plain · TLS port provided with your account
High volume
  • Binary SMPP v3.4 (v5.0 on request)
  • Transmitter, Receiver, Transceiver binds
  • Up to 32 concurrent binds per account
  • DLR forwarding via deliver_sm
  • TLS-wrapped binds, IP allow-list per credential
  • Throughput up to 30,000 msg/sec per node on enterprise tier
Per node
30k SMS/s
Failover
<800ms
Window
100 msg
What you actually get

Six things you stop having to build yourself.

Safe retries

Every accepted send returns a message ID. Retry on network errors and 5xx with backoff, and reconcile against delivery reports by message ID instead of blind re-sends — background workers can crash and recover cleanly.

Delivery webhooks

Delivery receipts are pushed to your webhook URL and tied to the message ID, for REST and SMPP traffic alike — no polling loop to write.

Concurrent connections

Up to 32 parallel SMPP binds per account. HTTP/2 multiplexing on REST. No fixed per-account rate limits — throughput is sized to your traffic, never capped per connection.

Auto-failover

Multi-region active-active. If a route degrades mid-campaign we re-bind in under 800ms and re-queue in-flight messages. No SMPP reconnect logic to write yourself.

No fixed rate limits

No fixed per-account rate limits — throughput is sized to your traffic, up to 30,000 SMS/s per node. No silent throttling, no shadow-banned numbers — you always know where you stand.

OpenAPI 3.1 spec

Machine-readable, served at /developers/openapi.yaml. The official TypeScript SDK is generated from it; generate a client in any other language, or import it into Postman or Insomnia.

Customer stories

What real engineering teams
say about the API.

UberMobility · MENAAESA
Challenge
A multi-vendor messaging stack produced duplicate OTPs on retry storms — a long-standing open bug.
Approach
A migration to the BroadNet REST API with one send path, retries only on network errors and 5xx, and every send tracked by the message ID the API returns — rolled out behind a single feature flag.
Principal engineer, identity platform
SamsungConsumer tech · APACID
Challenge
A large messaging engineering org kept losing time to undocumented API changes between releases.
Approach
The OpenAPI 3.1 spec is treated as the contract, with typed clients regenerated in CI on every release.
Staff engineer, messaging platform
American ExpressFinancial services · MENAEG
Challenge
The fraud team would not trust inbound delivery events it could not tie back to a send.
Approach
Every delivery report is matched to the message ID returned at send time, with sender-ID rotation absorbed inside the same flow.
Engineering director, fraud & risk
1:1
DLR ↔ message ID
Bearer
Token auth on every call
Built for production

The numbers we put in writing.

These targets are contractual on enterprise plans, not aspirational copy. Miss them and the credits below are automatic on the next invoice.

API uptime
99.99%
Monthly SLA
REST p99 latency
<350ms
Target, all regions
Webhook delivery
<2s
p95 end-to-end
Incident response
<15 min
24/7 on-call, severity-1 acknowledgement
Service-level commitments
Full SLA
Monthly API uptime
99.99%
10% credit below 99.99% · 25% below 99.0% · 50% below 95.0%
REST p50 latency
<100ms
At the edge, excluding network egress
REST p99 latency
<350ms
Across all regions
Webhook delivery
<2s p95
Exponential backoff up to 24h on failure
SMPP bind availability
99.99%
Per region, with auto-failover across regions
Incident response
<15 min
24/7 on-call, severity-1 acknowledgement
Documented by default

The receipts.

The official TypeScript SDK is generated from the public OpenAPI 3.1 spec, so the two never drift. Generate a client in any other language or import the spec into Postman. The docs run on the same staging environment your code does.

TypeScript SDKBearer-token authbroadnet.me/statusngrok-friendly webhooks
Questions buyers ask

Engineering questions,
answered straight.

Request test access and we reply within one business day with your test credentials; your first test message reaches your own verified number about five minutes after that. Production traffic typically starts within 5–15 business days, gated by sender ID registration with the regulator — not by anything on our side.

Retry only on network errors and 5xx, with exponential backoff, and keep the message ID the API returns for every accepted send. Reconcile against delivery reports by message ID before re-sending, rather than blind retries, and top up credits before a low balance blocks traffic.

Real. The OpenAPI 3.1 spec at /developers/openapi.yaml (JSON at /developers/openapi.json) documents every channel — SMS, WhatsApp, RCS, Telegram, Push, Email, Messenger and Instagram. The official TypeScript SDK (@broadnet/cpaas-sdk) is generated from it, and you can generate your own client in any other language without asking us.

There is no API fee — you pay per message, per country, per route. UAE transactional starts at $0.0123/MT, KSA at $0.016 and Egypt at $0.028. SMPP binds are included on enterprise tier; on standard tier each dedicated bind is $250/month. Test access is on request, and test traffic is capped at 1,000 messages a day.

We retry with exponential backoff for 24 hours: 30s, 2m, 10m, 30m, 2h, 8h, 24h. Each retry includes an X-Webhook-Attempt header. After 24 hours the event is parked in the dead-letter queue, queryable and replayable from the dashboard with one click. Standard tier keeps DLQ for 7 days; enterprise for 90.

Yes — they share routing, DLRs, billing, and dashboards. Most customers use REST for transactional and SMPP for high-volume marketing on the same account, and delivery reports from both paths land in the same reports and webhooks.

Named technical account manager, 99.99% API uptime SLA with service credits against the monthly fee (10% below 99.99%, 25% below 99.0%, 50% below 95.0%), 24/7 NOC pager with <15-min sev-1 ack, dedicated SMPP binds, quarterly architecture reviews, and a shared Slack channel with the engineering team.

broadnet.me/status shows component status and any posted incidents. It is not yet fed by live monitoring, so its 90-day history is illustrative, not measured; the contractual figure is the 99.99% uptime SLA.

Question not here? Ask our engineering team

The SMS API is one entry point into the broader A2P SMS platform. The same direct operator routes also power bulk SMS campaigns, OTP and multi-channel verification, and the WhatsApp Business API.

Weighing providers? Read our Best SMS API in 2026 buyer's guide.

Carrier-grade delivery

Delivered to 200+ countries, direct to the operator in 86.

No grey routes: a direct operator bind wherever one is commercially available, otherwise a labelled partner-managed route. One API to every channel, on a network built since 2003.

200+
Countries
1,000+
Operator connections
300M+
Msgs·day
Test access · reply within one business day

Stop wrestling your SMS provider.
Start shipping.

One access token, an official TypeScript SDK, and a quickstart that fits on a single screen. The fastest path from signup to your first delivery receipt.

$ curl -X POST https://api.broadnet.me/sms/sendSms -H "Authorization: Bearer $BROADNET_TOKEN" -d '{"senderId":"BroadNet", …}'