---
title: Australian SMS API providers compared
slug: sms-api-providers-australia
url: "https://toolweight.dev/compare/sms-api-providers-australia"
question: Which SMS API provider should I use to send text messages to Australian mobile numbers?
tools: 13
fields: 26
last_verified: 2026-07-20
freshness: 22%
verify_cadence: 30d
license: CC-BY-4.0
---

# SMS API providers for Australia

> **Which SMS API provider should I use to send text messages to Australian mobile numbers?**
>
> For self-serve integration without a sales call, ClickSend, Cellcast, SMS Broadcast, SMSGlobal and Twilio all issue an API key at signup. SMS Broadcast and Cellcast are the cheapest per message; Telstra is the only direct carrier; MessageMedia, Esendex and Bird gate access behind sales. Alphanumeric sender IDs work in Australia, unlike the US.

## At a glance

|  |  |
| --- | --- |
| Canonical | https://toolweight.dev/compare/sms-api-providers-australia |
| Tools compared | 13 |
| Fields compared | 26 |
| Last verified | 2026-07-20 (3d ago) |
| Verify cadence | 30d |
| Freshness | 22% (mean cell confidence) |
| Killer field | self_serve_api_key |
| Scoring | Weighted, re-rankable |
| Licence | CC-BY-4.0 — https://creativecommons.org/licenses/by/4.0/ |

## Ranking — default weights

| # | Tool | Score | Coverage | One-liner |
| --- | --- | --- | --- | --- |
| 1 | [SMSGlobal](https://toolweight.dev/tools/smsglobal) | 77.2 | 88% | Melbourne-based provider offering both REST and a direct SMPP bind for high throughput. |
| 2 | [Kudosity](https://toolweight.dev/tools/kudosity) | 75.8 | 83% | Burst SMS rebuilt as a customer-engagement platform, with the original API still underneath. |
| 3 | [Cellcast](https://toolweight.dev/tools/cellcast) | 72.8 | 79% | Australian-owned SMS provider competing mainly on published per-message price. |
| 4 | [ClickSend](https://toolweight.dev/tools/clicksend) | 71.6 | 88% | Perth-based multichannel API with a public rate table and no sales gate. |
| 5 | [Sinch](https://toolweight.dev/tools/sinch) | 69.6 | 71% | Global tier-one aggregator that owns MessageMedia and sells Australia through both brands. |
| 6 | [SMS Broadcast](https://toolweight.dev/tools/sms-broadcast) | 65.7 | 79% | The cheapest credible Australian bulk SMS API, with a deliberately minimal interface. |
| 7 | [Twilio](https://toolweight.dev/tools/twilio) | 63.4 | 96% | The default global messaging API, with the best docs and Australia's least competitive rates. |
| 8 | [Telstra Messaging API](https://toolweight.dev/tools/telstra-messaging) | 61.8 | 71% | The only provider on this list that owns the Australian network your message lands on. |
| 9 | [MessageMedia](https://toolweight.dev/tools/messagemedia) | 60.6 | 75% | Long-established Australian A2P provider, now inside Sinch, sold through a sales team. |
| 10 | [AWS End User Messaging](https://toolweight.dev/tools/aws-end-user-messaging) | 60.2 | 88% | SMS as an AWS primitive: no vendor relationship, but registration is a support ticket. |
| 11 | [Esendex AU](https://toolweight.dev/tools/esendex) | 54.8 | 67% | Commify's Australian business messaging arm, sold through account management. |
| 12 | [Vonage](https://toolweight.dev/tools/vonage) | 54.7 | 88% | Ericsson-owned CPaaS with clean self-serve access and no Australian entity story. |
| 13 | [Bird](https://toolweight.dev/tools/bird) | 54.3 | 75% | MessageBird rebuilt as a CRM-first platform; SMS is now a channel inside it. |

Re-rank against your own priorities by appending `?w=field_id:weight,…` to the canonical URL, or call `score_tools` on the MCP server at `https://toolweight.dev/mcp`.

## Comparison

### Pricing

| Tool | Price /SMS @ 1k (/SMS) | Price /SMS @ 10k (/SMS) | Price /SMS @ 100k (/SMS) | Dedicated number (/mo) | Min top-up | Billing model |
| --- | --- | --- | --- | --- | --- | --- |
| SMSGlobal | A$0.05 /SMS | A$0.042 /SMS | A$0.03 /SMS | — | — | prepay-self-serve |
| Kudosity | A$0.055 /SMS | A$0.045 /SMS | A$0.032 /SMS | — | — | prepay-self-serve |
| Cellcast | A$0.055 /SMS | A$0.042 /SMS | A$0.03 /SMS | — | — | prepay-self-serve |
| ClickSend | A$0.079 /SMS | A$0.055 /SMS | A$0.035 /SMS | A$8 /mo | A$20 | prepay-self-serve |
| Sinch | — | — | — | — | — | prepay-then-invoice |
| SMS Broadcast | A$0.038 /SMS | A$0.032 /SMS | A$0.024 /SMS | — | — | prepay-self-serve |
| Twilio | A$0.08 /SMS | A$0.08 /SMS | A$0.075 /SMS | A$6 /mo | A$30 | prepay-self-serve |
| Telstra Messaging API | — | — | — | — | — | contract-required |
| MessageMedia | — | — | — | — | — | contract-required |
| AWS End User Messaging | A$0.07 /SMS | A$0.07 /SMS | A$0.07 /SMS | — | — | postpaid-self-serve |
| Esendex AU | — | — | — | — | — | contract-required |
| Vonage | A$0.08 /SMS | A$0.08 /SMS | A$0.075 /SMS | A$5 /mo | — | prepay-self-serve |
| Bird | A$0.075 /SMS | — | — | — | — | contract-required |

### Features

| Tool | Self-serve API key | Alphanumeric sender | Two-way messaging | MMS to AU | RCS | Delivery receipts | Unicode billing doc | API style | SDK languages | Public status page |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| SMSGlobal | ● | ● | ● | ◐ | ◐ | ● | ● | rest-json-plus-smpp | node, php, python, java, dotnet | ● |
| Kudosity | ● | ● | ● | ● | — | ● | ● | rest-json | node, php, python | ● |
| Cellcast | ● | ● | ● | ● | ◐ | ● | ◐ | rest-json | curl-only | — |
| ClickSend | ● | ● | ● | ● | — | ● | ● | rest-json | node, python, php, ruby, java, dotnet, go | ● |
| Sinch | ◐ | ● | ● | ● | ● | ● | ● | rest-json-plus-smpp | node, python, php, java, dotnet | ● |
| SMS Broadcast | ● | ● | ● | ○ | ○ | ◐ | ◐ | rest-form | curl-only | — |
| Twilio | ● | ● | ● | ○ | ◐ | ● | ● | rest-form | node, python, php, ruby, java, dotnet, go | ● |
| Telstra Messaging API | ◐ | ● | ● | — | ◐ | ● | ◐ | rest-json | node, python | ◐ |
| MessageMedia | ○ | ● | ● | ● | ◐ | ● | ◐ | rest-json | node, python, php, ruby, java, dotnet | ● |
| AWS End User Messaging | ◐ | ◐ | ◐ | ○ | ○ | ● | ● | rest-json | node, python, php, ruby, java, dotnet, go | ● |
| Esendex AU | ○ | ● | ● | ◐ | — | ● | ◐ | rest-json | — | ● |
| Vonage | ● | ● | ● | ○ | ◐ | ● | ● | rest-json | node, python, php, ruby, java, dotnet | ● |
| Bird | ◐ | ● | ● | ● | ● | ● | ◐ | rest-json | node, python, php, java, go | ● |

### Australian compliance

| Tool | AU legal entity | ACMA Sender ID | AU data residency | Opt-out built in | Carrier route |
| --- | --- | --- | --- | --- | --- |
| SMSGlobal | ● | — | ● | ● | hybrid-direct |
| Kudosity | ● | — | ● | ● | hybrid-direct |
| Cellcast | ● | — | ● | ● | hybrid-direct |
| ClickSend | ● | — | ◐ | ● | au-aggregator |
| Sinch | ● | — | ◐ | ● | hybrid-direct |
| SMS Broadcast | ● | — | ● | ◐ | au-aggregator |
| Twilio | ● | — | ◐ | ● | international-aggregator |
| Telstra Messaging API | ● | — | ● | ◐ | direct-carrier |
| MessageMedia | ● | — | ● | ● | hybrid-direct |
| AWS End User Messaging | ● | — | ● | ● | international-aggregator |
| Esendex AU | ● | — | ◐ | ● | au-aggregator |
| Vonage | ◐ | — | ○ | ◐ | international-aggregator |
| Bird | ◐ | — | ○ | ● | international-aggregator |

### Agentic

| Tool | MCP server | Agent-ready docs |
| --- | --- | --- |
| SMSGlobal | ○ | 3 |
| Kudosity | ○ | 3 |
| Cellcast | ○ | 2 |
| ClickSend | — | 4 |
| Sinch | — | 4 |
| SMS Broadcast | ○ | 3 |
| Twilio | ● | 5 |
| Telstra Messaging API | ○ | 3 |
| MessageMedia | ○ | 3 |
| AWS End User Messaging | ◐ | 4 |
| Esendex AU | ○ | 3 |
| Vonage | — | 4 |
| Bird | — | 3 |

### Traction

| Tool | Operating since | Ownership |
| --- | --- | --- |
| SMSGlobal | 1999 | independent-au |
| Kudosity | 2009 | independent-au |
| Cellcast | — | independent-au |
| ClickSend | 2008 | independent-au |
| Sinch | 2008 | global-listed |
| SMS Broadcast | — | independent-au |
| Twilio | 2008 | global-listed |
| Telstra Messaging API | 2015 | carrier |
| MessageMedia | 2000 | acquired-au |
| AWS End User Messaging | 2016 | hyperscaler |
| Esendex AU | 2001 | global-private |
| Vonage | 2010 | global-listed |
| Bird | 2011 | global-private |

### Positioning

| Tool | Positioning |
| --- | --- |
| SMSGlobal | The throughput option among the local independents. SMPP where everyone else offers only REST. |
| Kudosity | A developer SMS API that grew into a campaign platform. Useful when marketing needs a UI too. |
| Cellcast | Australian-owned price fighter. Local support, low rates, thin platform. |
| ClickSend | The self-serve Australian generalist. SMS, MMS, voice, email and physical mail on one credit balance. |
| Sinch | Tier-one global aggregator. Buy it when Australia is one country in a much larger programme. |
| SMS Broadcast | Cheap, narrow and honest about it. One endpoint, one job, published price. |
| Twilio | The safe global default. You pay a premium for docs, ecosystem and the fact that nobody gets fired for it. |
| Telstra Messaging API | The carrier selling its own network directly. Unmatched routing position, carrier-shaped commercials. |
| MessageMedia | The incumbent enterprise choice. Sells carrier relationships and compliance posture, not an endpoint. |
| AWS End User Messaging | The baseline. No new vendor, no new invoice, no product beyond the API. |
| Esendex AU | Managed business messaging for mid-market Australia. Account-managed by design. |
| Vonage | Twilio's most direct substitute, without the ecosystem or the Australian entity. |
| Bird | A CRM platform that happens to send SMS. The API is no longer the product. |

## Field registry

| Field | id | Group | Type | Unit | Better | Default weight | Definition |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | `price_1k` | pricing | currency | /SMS | lower | 7 | List price in AUD for one outbound SMS segment to an Australian mobile at roughly 1,000 messages/month. Null where the provider publishes no public rate. |
| Price /SMS @ 10k | `price_10k` | pricing | currency | /SMS | lower | 9 | List price in AUD per outbound SMS segment to an Australian mobile at roughly 10,000 messages/month — the tier most SaaS products actually sit at. |
| Price /SMS @ 100k | `price_100k` | pricing | currency | /SMS | lower | 7 | List price in AUD per outbound SMS segment at roughly 100,000 messages/month. Negotiated rates are usually lower; only published rates are recorded here. |
| Dedicated number | `dedicated_number_cost` | pricing | currency | /mo | lower | 3 | Monthly rental in AUD for one dedicated Australian virtual mobile number, which two-way messaging requires. Excludes per-message inbound charges. |
| Min top-up | `min_topup` | pricing | currency | — | lower | 3 | Smallest amount in AUD that can be put on the account to start sending. Null where no public minimum is stated or where billing is invoice-only. |
| Billing model | `billing_model` | pricing | enum | — | higher | 6 | How you pay to get started. prepay-self-serve means card and credit balance with no commitment; contract-required means a signed agreement precedes any production traffic. |
| Self-serve API key | `self_serve_api_key` | features | tristate | — | higher | 10 | From a cold signup with a card, can you obtain working credentials and deliver a message to a real Australian handset without speaking to a human? partial means credentials are self-serve but a manual approval or registration step gates production. |
| Alphanumeric sender | `alpha_sender_id` | features | tristate | — | higher | 6 | Can a custom alphanumeric sender ID (a brand name) be set on outbound Australian traffic through the API? partial means supported only after a manual registration step. |
| Two-way messaging | `two_way` | features | tristate | — | higher | 5 | Inbound replies delivered to a webhook against a dedicated Australian number, without additional platform products. partial means it works but requires plumbing you assemble yourself. |
| MMS to AU | `mms` | features | tristate | — | higher | 3 | Can an MMS with an image attachment be sent to an Australian mobile through the API? Several global providers support MMS only in North America. |
| RCS | `rcs` | features | tristate | — | higher | 2 | RCS Business Messaging to Australian handsets, generally available rather than waitlisted. partial means announced or in limited release. |
| Delivery receipts | `delivery_receipts` | features | tristate | — | higher | 6 | Handset-level delivery receipts pushed to a webhook, distinguishing 'delivered to device' from 'accepted by carrier'. partial means only submission-level status is exposed. |
| Unicode billing doc | `unicode_billing_doc` | features | tristate | — | higher | 4 | Does public documentation state, before signup, how GSM-7 versus UCS-2 encoding and concatenated segments are counted and charged? partial means mentioned but without worked numbers. |
| API style | `api_style` | features | enum | — | higher | 3 | Primary send interface. rest-json is a JSON body; rest-form is form-encoded or query-string parameters; rest-json-plus-smpp means a direct SMPP bind is also offered for sustained throughput. |
| SDK languages | `sdk_languages` | features | multi-enum | — | higher | 3 | First-party, vendor-maintained SDKs. curl-only means no maintained client library — you write the HTTP call yourself, which for a two-parameter API is often fine. |
| Public status page | `status_page` | features | tristate | — | higher | 4 | A publicly reachable status page with incident history readable without an account. partial means status is published but only inside the customer portal or as generic network status. |
| AU legal entity | `au_legal_entity` | compliance | tristate | — | higher | 6 | Does the contracting and invoicing entity have an Australian company registration, so invoices carry GST and the agreement sits under Australian law? partial means an AU presence exists but billing is offshore. |
| ACMA Sender ID | `acma_sender_id` | compliance | tristate | — | higher | 4 | Whether the provider supports registering your sender IDs under Australia's SMS Sender ID Register regime. PENDING VERIFICATION — the regime changed recently and vendor documentation lags the regulator, so every cell here is deliberately unknown. Confirm with ACMA directly; do not use this for compliance decisions. |
| AU data residency | `au_data_residency` | compliance | tristate | — | higher | 6 | Can message content and recipient numbers be pinned to Australian infrastructure? partial means an Australian region exists for some subsystems but not the whole pipeline, or residency is contractual rather than architectural. |
| Opt-out built in | `optout_handling` | compliance | tristate | — | higher | 6 | Platform-side STOP keyword interception plus a managed suppression list that blocks subsequent sends automatically. partial means STOP replies are forwarded but suppression is your responsibility. |
| Carrier route | `carrier_route` | compliance | enum | — | higher | 7 | How traffic reaches Telstra, Optus and TPG. direct-carrier means the provider is the network. hybrid-direct means claimed direct interconnect with at least one Australian carrier. These classifications read vendor claims and are not independently verifiable. |
| MCP server | `mcp_server` | agentic | tristate | — | higher | 2 | A first-party Model Context Protocol server letting a coding agent send messages and read logs. partial means covered by broader vendor tooling rather than a dedicated messaging server. |
| Agent-ready docs | `agent_ready_docs` | agentic | score | — | higher | 4 | 1-5, how far an LLM coding agent gets from documentation alone. 5 = correct auth, send and webhook handler first try. 4 = works with minor fixes. 3 = correct send, webhook needs a human. 2 = docs incomplete or PDF-bound. 1 = requires portal screenshots or support contact. |
| Operating since | `operating_since` | traction | number | — | lower | 2 | Year the company began sending commercial SMS traffic, not the year of the current brand. Earlier implies longer carrier relationships, so lower is better here. |
| Ownership | `ownership` | traction | enum | — | n/a | 0 | Who owns the product, because it predicts pricing behaviour and roadmap continuity. Not scored — there is no objectively better answer. |
| Positioning | `positioning` | marketing | text | — | n/a | 0 | How the vendor positions itself in the Australian market, described in toolweight's words rather than theirs. |

## Presets

| Preset | id | What it optimises for | Weights | Ranked URL |
| --- | --- | --- | --- | --- |
| Cheapest per message | `cheapest` | Weighted almost entirely on published AUD rates at 10k and 100k/mo. Providers that refuse to publish score nothing here. | price_1k:6, price_10k:10, price_100k:9, min_topup:3, billing_model:4, dedicated_number_cost:2, self_serve_api_key:3, carrier_route:1, delivery_receipts:1 | https://toolweight.dev/compare/sms-api-providers-australia?w=price_1k:6,price_10k:10,price_100k:9,min_topup:3,billing_model:4,dedicated_number_cost:2,self_serve_api_key:3,carrier_route:1,delivery_receipts:1 |
| Best deliverability | `deliverability` | Carrier proximity, handset-level receipts and Australian operating history over price. | carrier_route:10, delivery_receipts:8, au_legal_entity:6, alpha_sender_id:6, operating_since:4, two_way:3, status_page:5, price_10k:2 | https://toolweight.dev/compare/sms-api-providers-australia?w=carrier_route:10,delivery_receipts:8,au_legal_entity:6,alpha_sender_id:6,operating_since:4,two_way:3,status_page:5,price_10k:2 |
| No sales call required | `no-sales-call` | The killer field, plus everything else that keeps a human out of your integration path. | self_serve_api_key:10, billing_model:8, price_10k:5, unicode_billing_doc:6, agent_ready_docs:7, sdk_languages:4, min_topup:4, api_style:3, mcp_server:2 | https://toolweight.dev/compare/sms-api-providers-australia?w=self_serve_api_key:10,billing_model:8,price_10k:5,unicode_billing_doc:6,agent_ready_docs:7,sdk_languages:4,min_topup:4,api_style:3,mcp_server:2 |
| Enterprise / compliance | `enterprise` | Australian legal entity, data residency, opt-out handling and carrier route. Price is nearly irrelevant. | au_legal_entity:9, au_data_residency:9, optout_handling:8, carrier_route:8, status_page:6, delivery_receipts:5, acma_sender_id:4, operating_since:3, price_100k:2 | https://toolweight.dev/compare/sms-api-providers-australia?w=au_legal_entity:9,au_data_residency:9,optout_handling:8,carrier_route:8,status_page:6,delivery_receipts:5,acma_sender_id:4,operating_since:3,price_100k:2 |

## Verdict

Australian SMS is not a commodity market pretending to be one — it is a genuinely fragmented one pretending to be simple. Three things make it different from sending to the US or the EU: alphanumeric sender IDs are permitted and widely used, per-message wholesale rates are three to eight times higher, and roughly half the credible vendors will not let you send a message until someone from their revenue team has spoken to you. That last one is the field worth optimising for first, because it determines whether you ship this week or next quarter.

If you want to be sending inside an hour, the shortlist is short. ClickSend, SMS Broadcast, SMSGlobal, Cellcast and Kudosity all take a card, hand you an API key, and publish a rate table you can read before you sign up. Twilio does too, and its documentation is still the best in the category by a wide margin — but Twilio's Australian list price is roughly double the local resellers', it does not do MMS to Australian handsets, and its volume discounts are only reachable through sales, which quietly reintroduces the problem you avoided at signup.

At the other end, MessageMedia, Esendex and Bird are enterprise-motion businesses. They are not worse products; MessageMedia in particular has genuinely strong Australian carrier relationships and a long compliance track record. But none of them publish per-message pricing, all of them route new accounts through a human, and if your integration is one webhook and a POST, you will spend more time in procurement than in code. Choose them when you are buying a relationship — deliverability escalation paths, a named account manager, a contract with an SLA in it — not when you are buying an endpoint.

Telstra sits in a category of one. It is the only provider on this roster that owns the network your message lands on, which removes an entire class of "the aggregator changed routes and delivery fell over" failure. The trade is that everything else about it — commercial terms, pricing transparency, the speed at which you can get to production — behaves like a carrier rather than like a developer platform. The dev portal will let you send test messages; getting to production is a Telstra account conversation.

Where this is heading: RCS is the live question. Australian carriers support it, Google's RBM ecosystem has matured, and every vendor on this list now has an RCS line on its marketing site. Very little of it is generally available, per-message pricing for RCS is almost universally quote-only, and the fallback-to-SMS billing behaviour is where the surprises will be. Do not pick a provider on its RCS roadmap in 2026. Pick on price, self-serve access and carrier route, then re-evaluate RCS when someone publishes a rate card for it.

## Where the money actually goes

The headline per-message rate is the smallest of the three costs in an Australian SMS budget. The first hidden cost is segmentation: as covered in the methodology, a single non-GSM character more than doubles the effective rate on anything longer than a tweet. The second is the dedicated virtual number. If two-way messaging is required, an alphanumeric sender will not do it, and that means a monthly number rental — typically five to fifteen dollars per number per month, sometimes with a setup fee, and almost never included in the per-message quote.

The third is the shape of the commitment. Prepaid credit models — ClickSend, SMS Broadcast, SMSGlobal, Cellcast, Kudosity — are pleasant right up until the expiry terms on unused credit surface, or until the good rate turns out to require buying a hundred thousand messages upfront. Postpaid and contract models push the other way: better unit economics, but a minimum spend committed before real send volume is known. For a product that has not launched, prepay at a worse rate and eat the difference; the option value of walking away is worth more than two cents a message.

One trap is specific to this market. Several providers quote "from" pricing achievable only on domestic traffic, sent from a domestic account, with a registered sender. Test with the actual message content, the actual sender ID and the actual recipient mix before committing, because international and roaming numbers sitting in a contact list bill at a completely different rate and nothing in the dashboard warns about it in advance.

## Choosing without a sales call

Work in this order. First, decide whether two-way is needed. If it is, a dedicated number is required and the per-message maths changes; if it is not, an alphanumeric sender is cheaper, faster to set up, and immediately recognisable to recipients. Second, decide whether Australian data residency is a hard requirement — for health, government and most financial services work it is, and that eliminates Bird and Vonage outright while putting Sinch and Esendex into "ask them" territory.

Third, get to a sent message. This is where the killer field earns its keep. Sign up to two providers, not one, and send a real message to a real handset on each. Twenty minutes there teaches more than a week of comparing rate tables: whether delivery receipts actually arrive at the webhook, how long they take, whether the receipt distinguishes "accepted by carrier" from "delivered to handset", and whether sandbox behaviour matches production. ClickSend and SMS Broadcast are the fastest two through this loop; Twilio is the most pleasant.

Fourth, and only then, negotiate. Once there is volume data from a live integration, the enterprise providers become worth talking to, and the negotiation happens from a position where a working alternative already exists. Doing it in the other order — procurement first, integration second — is how organisations end up three years into a contract for an API nobody on the team has ever called.

## Migration and lock-in

SMS is the least locked-in category in this comparison set, and that should be exploited. The core operation is a POST with a destination, a body and a sender, plus a webhook that receives a status callback. Wrap that in a two-method interface on day one and switching providers becomes a config change rather than a project.

The genuine switching costs are elsewhere. A dedicated virtual number is portable in principle and painful in practice — porting between aggregators takes weeks and both parties have to cooperate. The opt-out list lives in the provider's suppression store unless it has been mirrored locally, and re-messaging someone who opted out at the previous provider is a compliance incident, not an inconvenience. Export it on a schedule. Delivery-receipt history is almost never exportable in bulk, so anyone reporting on deliverability should land those events in their own store as they arrive.

The one thing that cannot easily be replicated is reputation on a sender ID. A brand's alphanumeric sender that has been pushing clean traffic for two years is treated accordingly by carrier-side filtering, and a new provider starts that clock again. Plan an overlap period with both providers live and traffic shifted gradually, rather than a single cutover release that discovers the problem in production.

## Provenance — every cell, every source

### SMSGlobal {#smsglobal}

Melbourne-based provider offering both REST and a direct SMPP bind for high throughput.

|  |  |
| --- | --- |
| Site | https://www.smsglobal.com/ |
| Docs | https://www.smsglobal.com/rest-api/ |
| Company | SMSGlobal Pty Ltd |
| Founded | 1999 |
| Profile | https://toolweight.dev/tools/smsglobal |
| Score (default weights) | 77.2 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.05 /SMS | Inferred | — | — | Approximate published rate. | #smsglobal-price_1k |
| Price /SMS @ 10k | A$0.042 /SMS | Inferred | — | — | Approximate. | #smsglobal-price_10k |
| Price /SMS @ 100k | A$0.03 /SMS | Inferred | — | — | Approximate; negotiated volume terms go lower. | #smsglobal-price_100k |
| Dedicated number | — | Unknown | — | — | — | #smsglobal-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #smsglobal-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #smsglobal-billing_model |
| Self-serve API key | ● | Inferred | — | — | Free trial account issues API credentials without sales contact; SMPP binds are provisioned on request. | #smsglobal-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #smsglobal-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #smsglobal-two_way |
| MMS to AU | ◐ | Inferred | — | — | — | #smsglobal-mms |
| RCS | ◐ | Inferred | — | — | — | #smsglobal-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #smsglobal-delivery_receipts |
| Unicode billing doc | ● | Inferred | — | — | — | #smsglobal-unicode_billing_doc |
| API style | rest-json-plus-smpp | Inferred | — | — | REST for ordinary use, direct SMPP bind for sustained throughput. | #smsglobal-api_style |
| SDK languages | node, php, python, java, dotnet | Inferred | — | — | — | #smsglobal-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #smsglobal-status_page |
| AU legal entity | ● | Inferred | — | — | Melbourne-headquartered and Australian registered. | #smsglobal-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #smsglobal-acma_sender_id |
| AU data residency | ● | Inferred | — | — | — | #smsglobal-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #smsglobal-optout_handling |
| Carrier route | hybrid-direct | Inferred | — | — | Claims direct Australian carrier connectivity; not independently verifiable. | #smsglobal-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #smsglobal-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | — | #smsglobal-agent_ready_docs |
| Operating since | 1999 | Inferred | — | — | — | #smsglobal-operating_since |
| Ownership | independent-au | Inferred | — | — | — | #smsglobal-ownership |
| Positioning | The throughput option among the local independents. SMPP where everyone else offers only REST. | Inferred | — | — | — | #smsglobal-positioning |

**Verdict.** The only self-serve Australian provider here offering a direct SMPP bind, which is the right answer when sustained six-figure daily volume makes REST rate limits the bottleneck. Below that, its REST API and pricing sit unremarkably in the middle of the pack.

**Pick it when**

- Sustained high-throughput sending where REST rate limits bite
- Australian entity plus published pricing plus SMPP in one vendor
- Teams migrating off a legacy SMPP integration

### Kudosity {#kudosity}

Burst SMS rebuilt as a customer-engagement platform, with the original API still underneath.

|  |  |
| --- | --- |
| Site | https://kudosity.com/ |
| Docs | https://developer.transmitsms.com/ |
| Company | Kudosity (formerly Burst SMS) |
| Founded | 2009 |
| Profile | https://toolweight.dev/tools/kudosity |
| Score (default weights) | 75.8 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.055 /SMS | Inferred | — | — | Approximate published rate. | #kudosity-price_1k |
| Price /SMS @ 10k | A$0.045 /SMS | Inferred | — | — | Approximate. | #kudosity-price_10k |
| Price /SMS @ 100k | A$0.032 /SMS | Inferred | — | — | Approximate; volume terms negotiable. | #kudosity-price_100k |
| Dedicated number | — | Unknown | — | — | — | #kudosity-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #kudosity-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #kudosity-billing_model |
| Self-serve API key | ● | Inferred | — | — | Trial account with API access; the original Burst SMS developer API remains the integration path. | #kudosity-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #kudosity-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #kudosity-two_way |
| MMS to AU | ● | Inferred | — | — | — | #kudosity-mms |
| RCS | — | Unknown | — | — | — | #kudosity-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #kudosity-delivery_receipts |
| Unicode billing doc | ● | Inferred | — | — | — | #kudosity-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #kudosity-api_style |
| SDK languages | node, php, python | Inferred | — | — | — | #kudosity-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #kudosity-status_page |
| AU legal entity | ● | Inferred | — | — | — | #kudosity-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #kudosity-acma_sender_id |
| AU data residency | ● | Inferred | — | — | — | #kudosity-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | Managed opt-out list is a core platform feature. | #kudosity-optout_handling |
| Carrier route | hybrid-direct | Inferred | — | — | — | #kudosity-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #kudosity-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | — | #kudosity-agent_ready_docs |
| Operating since | 2009 | Inferred | — | — | — | #kudosity-operating_since |
| Ownership | independent-au | Inferred | — | — | — | #kudosity-ownership |
| Positioning | A developer SMS API that grew into a campaign platform. Useful when marketing needs a UI too. | Inferred | — | — | — | #kudosity-positioning |

**Verdict.** The rebrand pushed the product toward marketing teams, but the original transactional API is intact and self-serve. Pick it when the same account has to serve both the application and a non-technical campaign owner, which is a real requirement more often than engineers expect.

**Pick it when**

- Products where marketing and engineering share a sending account
- Teams wanting opt-out and list management handled by the platform
- Long-running Burst SMS integrations that do not need to move

### Cellcast {#cellcast}

Australian-owned SMS provider competing mainly on published per-message price.

|  |  |
| --- | --- |
| Site | https://www.cellcast.com.au/ |
| Company | Cellcast Pty Ltd |
| Profile | https://toolweight.dev/tools/cellcast |
| Score (default weights) | 72.8 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.055 /SMS | Inferred | — | — | Approximate published rate; Cellcast competes primarily on price. | #cellcast-price_1k |
| Price /SMS @ 10k | A$0.042 /SMS | Inferred | — | — | Approximate. | #cellcast-price_10k |
| Price /SMS @ 100k | A$0.03 /SMS | Inferred | — | — | Approximate; lower rates negotiable. | #cellcast-price_100k |
| Dedicated number | — | Unknown | — | — | — | #cellcast-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #cellcast-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #cellcast-billing_model |
| Self-serve API key | ● | Inferred | — | — | Self-serve signup with API credentials in the dashboard; no approval gate observed for standard AU traffic. | #cellcast-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #cellcast-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #cellcast-two_way |
| MMS to AU | ● | Inferred | — | — | — | #cellcast-mms |
| RCS | ◐ | Inferred | — | — | Marketed; availability unclear. | #cellcast-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #cellcast-delivery_receipts |
| Unicode billing doc | ◐ | Inferred | — | — | — | #cellcast-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #cellcast-api_style |
| SDK languages | curl-only | Inferred | — | — | No substantial first-party SDK set; the API is simple enough that this rarely matters. | #cellcast-sdk_languages |
| Public status page | — | Unknown | — | — | — | #cellcast-status_page |
| AU legal entity | ● | Inferred | — | — | — | #cellcast-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #cellcast-acma_sender_id |
| AU data residency | ● | Inferred | — | — | Australian-owned and Australian-hosted per vendor positioning. | #cellcast-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #cellcast-optout_handling |
| Carrier route | hybrid-direct | Inferred | — | — | Claims direct AU carrier connectivity; unverified. | #cellcast-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #cellcast-mcp_server |
| Agent-ready docs | 2 | Inferred | — | — | — | #cellcast-agent_ready_docs |
| Operating since | — | Unknown | — | — | — | #cellcast-operating_since |
| Ownership | independent-au | Inferred | — | — | — | #cellcast-ownership |
| Positioning | Australian-owned price fighter. Local support, low rates, thin platform. | Inferred | — | — | — | #cellcast-positioning |

**Verdict.** Among the cheapest published Australian rates from a locally-owned provider with self-serve access, which is a rare combination. Documentation and tooling are noticeably behind the larger vendors, so budget an afternoon rather than an hour for the first integration.

**Pick it when**

- Cost-sensitive one-way notification traffic at moderate volume
- Buyers who want an Australian-owned supplier without a procurement process
- Teams comfortable writing the HTTP call themselves

### ClickSend {#clicksend}

Perth-based multichannel API with a public rate table and no sales gate.

|  |  |
| --- | --- |
| Site | https://www.clicksend.com/au/ |
| Docs | https://developers.clicksend.com/ |
| Company | ClickSend Pty Ltd |
| Founded | 2008 |
| Profile | https://toolweight.dev/tools/clicksend |
| Score (default weights) | 71.6 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.079 /SMS | Inferred | 2026-07-20 | https://www.clicksend.com/au/pricing/ | Approximate top-of-table rate; ClickSend publishes a public tier ladder that moves. | #clicksend-price_1k |
| Price /SMS @ 10k | A$0.055 /SMS | Inferred | — | — | Approximate mid-tier rate from the published ladder. | #clicksend-price_10k |
| Price /SMS @ 100k | A$0.035 /SMS | Inferred | — | — | Approximate. Published tiers continue below this at much higher volumes. | #clicksend-price_100k |
| Dedicated number | A$8 /mo | Inferred | — | — | Approximate monthly AU virtual number rental. | #clicksend-dedicated_number_cost |
| Min top-up | A$20 | Inferred | — | — | Approximate; small card top-ups are accepted. | #clicksend-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #clicksend-billing_model |
| Self-serve API key | ● | Vendor-claimed | 2026-07-20 | https://developers.clicksend.com/docs/rest/v3/ | Signup, dashboard, API key, send. No approval step for standard AU traffic. | #clicksend-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #clicksend-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #clicksend-two_way |
| MMS to AU | ● | Inferred | — | — | — | #clicksend-mms |
| RCS | — | Unknown | — | — | — | #clicksend-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #clicksend-delivery_receipts |
| Unicode billing doc | ● | Inferred | — | — | — | #clicksend-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #clicksend-api_style |
| SDK languages | node, python, php, ruby, java, dotnet, go | Vendor-claimed | 2026-07-20 | https://developers.clicksend.com/ | — | #clicksend-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #clicksend-status_page |
| AU legal entity | ● | Inferred | — | — | Perth-headquartered and Australian registered. | #clicksend-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #clicksend-acma_sender_id |
| AU data residency | ◐ | Inferred | — | — | Australian company, but infrastructure is multi-region and residency is not clearly documented. | #clicksend-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #clicksend-optout_handling |
| Carrier route | au-aggregator | Inferred | — | — | — | #clicksend-carrier_route |
| MCP server | — | Unknown | — | — | — | #clicksend-mcp_server |
| Agent-ready docs | 4 | Inferred | — | — | — | #clicksend-agent_ready_docs |
| Operating since | 2008 | Inferred | — | — | — | #clicksend-operating_since |
| Ownership | independent-au | Inferred | — | — | — | #clicksend-ownership |
| Positioning | The self-serve Australian generalist. SMS, MMS, voice, email and physical mail on one credit balance. | Inferred | — | — | — | #clicksend-positioning |

**Verdict.** The best balance on this roster for a team that wants an Australian entity, published pricing and no sales conversation. The multichannel breadth is real rather than marketing — triggering a physical letter from the same account genuinely matters for some regulated workflows.

**Pick it when**

- Australian SaaS wanting one vendor for SMS, email and post
- Teams that need a GST invoice and self-serve access in the same product
- Anyone who wants to read the price before creating an account

### Sinch {#sinch}

Global tier-one aggregator that owns MessageMedia and sells Australia through both brands.

|  |  |
| --- | --- |
| Site | https://www.sinch.com/ |
| Docs | https://developers.sinch.com/docs/sms/ |
| Company | Sinch AB |
| Founded | 2008 |
| Profile | https://toolweight.dev/tools/sinch |
| Score (default weights) | 69.6 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | — | Unknown | — | — | No public AU rate card; pricing surfaces after account setup. | #sinch-price_1k |
| Price /SMS @ 10k | — | Unknown | — | — | — | #sinch-price_10k |
| Price /SMS @ 100k | — | Unknown | — | — | — | #sinch-price_100k |
| Dedicated number | — | Unknown | — | — | — | #sinch-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #sinch-min_topup |
| Billing model | prepay-then-invoice | Inferred | — | — | — | #sinch-billing_model |
| Self-serve API key | ◐ | Inferred | — | — | Dashboard signup issues credentials, but AU sender configuration and volume pricing route through account management. | #sinch-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #sinch-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #sinch-two_way |
| MMS to AU | ● | Inferred | — | — | — | #sinch-mms |
| RCS | ● | Inferred | — | — | Sinch is one of the more advanced RCS aggregators globally. | #sinch-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #sinch-delivery_receipts |
| Unicode billing doc | ● | Inferred | — | — | — | #sinch-unicode_billing_doc |
| API style | rest-json-plus-smpp | Inferred | — | — | — | #sinch-api_style |
| SDK languages | node, python, php, java, dotnet | Inferred | — | — | — | #sinch-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #sinch-status_page |
| AU legal entity | ● | Inferred | — | — | Australian entity via the MessageMedia acquisition. | #sinch-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #sinch-acma_sender_id |
| AU data residency | ◐ | Inferred | — | — | — | #sinch-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #sinch-optout_handling |
| Carrier route | hybrid-direct | Inferred | — | — | — | #sinch-carrier_route |
| MCP server | — | Unknown | — | — | — | #sinch-mcp_server |
| Agent-ready docs | 4 | Inferred | — | — | — | #sinch-agent_ready_docs |
| Operating since | 2008 | Inferred | — | — | — | #sinch-operating_since |
| Ownership | global-listed | Inferred | — | — | — | #sinch-ownership |
| Positioning | Tier-one global aggregator. Buy it when Australia is one country in a much larger programme. | Inferred | — | — | — | #sinch-positioning |

**Verdict.** Serious infrastructure with genuine Australian carrier depth, sold in a way that makes it awkward to evaluate for an Australia-only workload. Across a dozen countries the consolidation argument is strong; for Australia alone the local independents are simpler and cheaper.

**Pick it when**

- Multi-country A2P programmes with Australia as one leg
- Buyers who want RCS and SMS from the same aggregator
- Organisations already on MessageMedia consolidating upward

### SMS Broadcast {#sms-broadcast}

The cheapest credible Australian bulk SMS API, with a deliberately minimal interface.

|  |  |
| --- | --- |
| Site | https://www.smsbroadcast.com.au/ |
| Company | SMS Broadcast Pty Ltd |
| Profile | https://toolweight.dev/tools/sms-broadcast |
| Score (default weights) | 65.7 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.038 /SMS | Inferred | — | — | Approximate. SMS Broadcast publishes an openly readable low-volume rate around this level. | #sms-broadcast-price_1k |
| Price /SMS @ 10k | A$0.032 /SMS | Inferred | — | — | Approximate. | #sms-broadcast-price_10k |
| Price /SMS @ 100k | A$0.024 /SMS | Inferred | — | — | Approximate; among the lowest published AU rates. | #sms-broadcast-price_100k |
| Dedicated number | — | Unknown | — | — | — | #sms-broadcast-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #sms-broadcast-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #sms-broadcast-billing_model |
| Self-serve API key | ● | Inferred | — | — | Account creation, credit purchase, immediate API access. Credentials are the account username and password. | #sms-broadcast-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #sms-broadcast-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | Requires a dedicated number; the inbound path is a simple webhook. | #sms-broadcast-two_way |
| MMS to AU | ○ | Inferred | — | — | — | #sms-broadcast-mms |
| RCS | ○ | Inferred | — | — | — | #sms-broadcast-rcs |
| Delivery receipts | ◐ | Inferred | — | — | Status callbacks exist, but handset-level confirmation granularity is not clearly documented. | #sms-broadcast-delivery_receipts |
| Unicode billing doc | ◐ | Inferred | — | — | — | #sms-broadcast-unicode_billing_doc |
| API style | rest-form | Inferred | — | — | A single HTTP call with query-string parameters. No JSON envelope, no SDK. | #sms-broadcast-api_style |
| SDK languages | curl-only | Inferred | — | — | — | #sms-broadcast-sdk_languages |
| Public status page | — | Unknown | — | — | — | #sms-broadcast-status_page |
| AU legal entity | ● | Inferred | — | — | — | #sms-broadcast-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #sms-broadcast-acma_sender_id |
| AU data residency | ● | Inferred | — | — | — | #sms-broadcast-au_data_residency |
| Opt-out built in | ◐ | Inferred | — | — | STOP replies are forwarded; suppression is largely your responsibility. | #sms-broadcast-optout_handling |
| Carrier route | au-aggregator | Inferred | — | — | — | #sms-broadcast-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #sms-broadcast-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | Sparse docs, but the API is small enough that an agent usually gets it right anyway. | #sms-broadcast-agent_ready_docs |
| Operating since | — | Unknown | — | — | — | #sms-broadcast-operating_since |
| Ownership | independent-au | Inferred | — | — | — | #sms-broadcast-ownership |
| Positioning | Cheap, narrow and honest about it. One endpoint, one job, published price. | Inferred | — | — | — | #sms-broadcast-positioning |

**Verdict.** The price leader, and the integration is a single HTTP call you can write from memory. What you give up is platform: no meaningful console, thin delivery-receipt detail, and opt-out suppression you own yourself. For notification traffic at volume that trade is usually correct.

**Pick it when**

- High-volume one-way alerts where per-message cost dominates
- Teams that would rather write the HTTP call than adopt an SDK
- Backup or overflow routing behind a more featureful primary

### Twilio {#twilio}

The default global messaging API, with the best docs and Australia's least competitive rates.

|  |  |
| --- | --- |
| Site | https://www.twilio.com/en-us/messaging/channels/sms |
| Docs | https://www.twilio.com/docs/messaging |
| Company | Twilio Inc. |
| Founded | 2008 |
| Open source | No |
| Profile | https://toolweight.dev/tools/twilio |
| Score (default weights) | 63.4 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.08 /SMS | Inferred | 2026-07-20 | https://www.twilio.com/en-us/sms/pricing/au | Approximate. Twilio publishes a single AU outbound rate around eight cents per segment, with no public volume tiering. | #twilio-price_1k |
| Price /SMS @ 10k | A$0.08 /SMS | Inferred | — | — | Same list rate as the 1k tier — Twilio's AU volume discounts are negotiated, not published. | #twilio-price_10k |
| Price /SMS @ 100k | A$0.075 /SMS | Inferred | — | — | Approximate. Real 100k rates are negotiated and materially lower; the published rate barely moves. | #twilio-price_100k |
| Dedicated number | A$6 /mo | Inferred | — | — | Approximate AUD equivalent of Twilio's AU mobile number rental. | #twilio-dedicated_number_cost |
| Min top-up | A$30 | Inferred | — | — | Approximate AUD equivalent of Twilio's USD minimum balance top-up. | #twilio-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #twilio-billing_model |
| Self-serve API key | ● | Vendor-claimed | 2026-07-20 | https://www.twilio.com/docs/messaging/quickstart | Trial accounts send immediately to verified numbers; lifting the restriction is a card, not a call. | #twilio-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #twilio-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #twilio-two_way |
| MMS to AU | ○ | Inferred | — | — | Twilio MMS is a North America feature; AU MMS is not offered. | #twilio-mms |
| RCS | ◐ | Inferred | — | — | RCS has shipped, but AU availability is not clearly documented. | #twilio-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #twilio-delivery_receipts |
| Unicode billing doc | ● | Vendor-claimed | 2026-07-20 | https://www.twilio.com/docs/glossary/what-sms-character-limit | — | #twilio-unicode_billing_doc |
| API style | rest-form | Inferred | — | — | Twilio's messaging API takes form-encoded parameters, not a JSON body. | #twilio-api_style |
| SDK languages | node, python, php, ruby, java, dotnet, go | Vendor-claimed | 2026-07-20 | https://www.twilio.com/docs/libraries | — | #twilio-sdk_languages |
| Public status page | ● | Vendor-claimed | 2026-07-20 | https://status.twilio.com/ | — | #twilio-status_page |
| AU legal entity | ● | Inferred | — | — | Twilio Australia Pty Ltd invoices with GST. | #twilio-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #twilio-acma_sender_id |
| AU data residency | ◐ | Inferred | — | — | Twilio offers an AU region for messaging, but not every subsystem is region-pinned. | #twilio-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #twilio-optout_handling |
| Carrier route | international-aggregator | Inferred | — | — | Twilio buys AU termination wholesale; no claimed direct AU interconnect. | #twilio-carrier_route |
| MCP server | ● | Inferred | — | — | — | #twilio-mcp_server |
| Agent-ready docs | 5 | Inferred | — | — | — | #twilio-agent_ready_docs |
| Operating since | 2008 | Inferred | — | — | — | #twilio-operating_since |
| Ownership | global-listed | Inferred | — | — | — | #twilio-ownership |
| Positioning | The safe global default. You pay a premium for docs, ecosystem and the fact that nobody gets fired for it. | Inferred | — | — | — | #twilio-positioning |

**Verdict.** The best developer experience in the category and the worst Australian unit economics — a defensible trade for the first 50,000 messages and an indefensible one after that. The absence of MMS to Australian handsets catches teams out late.

**Pick it when**

- Prototypes and early products where shipping speed beats cents per message
- Multi-country sending where Australia is one of many destinations
- Teams already deep in Twilio for voice or verification

### Telstra Messaging API {#telstra-messaging}

The only provider on this list that owns the Australian network your message lands on.

|  |  |
| --- | --- |
| Site | https://dev.telstra.com/ |
| Company | Telstra |
| Profile | https://toolweight.dev/tools/telstra-messaging |
| Score (default weights) | 61.8 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | — | Unknown | — | — | Telstra does not publish per-message rates outside a commercial account. | #telstra-messaging-price_1k |
| Price /SMS @ 10k | — | Unknown | — | — | — | #telstra-messaging-price_10k |
| Price /SMS @ 100k | — | Unknown | — | — | — | #telstra-messaging-price_100k |
| Dedicated number | — | Unknown | — | — | — | #telstra-messaging-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #telstra-messaging-min_topup |
| Billing model | contract-required | Inferred | — | — | The developer portal trial is free; production traffic sits on a Telstra commercial account. | #telstra-messaging-billing_model |
| Self-serve API key | ◐ | Inferred | — | — | Dev-portal registration issues credentials and free trial messages, but production sending requires a Telstra account relationship. | #telstra-messaging-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #telstra-messaging-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #telstra-messaging-two_way |
| MMS to AU | — | Unknown | — | — | — | #telstra-messaging-mms |
| RCS | ◐ | Inferred | — | — | Telstra is an RCS carrier; API-level availability is unclear. | #telstra-messaging-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #telstra-messaging-delivery_receipts |
| Unicode billing doc | ◐ | Inferred | — | — | — | #telstra-messaging-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #telstra-messaging-api_style |
| SDK languages | node, python | Inferred | — | — | Limited first-party SDK coverage. | #telstra-messaging-sdk_languages |
| Public status page | ◐ | Inferred | — | — | Telstra publishes network status rather than an API-specific incident feed. | #telstra-messaging-status_page |
| AU legal entity | ● | Inferred | — | — | — | #telstra-messaging-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #telstra-messaging-acma_sender_id |
| AU data residency | ● | Inferred | — | — | — | #telstra-messaging-au_data_residency |
| Opt-out built in | ◐ | Inferred | — | — | — | #telstra-messaging-optout_handling |
| Carrier route | direct-carrier | Inferred | — | — | Telstra is the network. No aggregator sits between the API and delivery on Telstra mobiles. | #telstra-messaging-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #telstra-messaging-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | — | #telstra-messaging-agent_ready_docs |
| Operating since | 2015 | Inferred | — | — | — | #telstra-messaging-operating_since |
| Ownership | carrier | Inferred | — | — | — | #telstra-messaging-ownership |
| Positioning | The carrier selling its own network directly. Unmatched routing position, carrier-shaped commercials. | Inferred | — | — | — | #telstra-messaging-positioning |

**Verdict.** The strongest possible answer on routing, residency and compliance posture, and the weakest on everything a developer evaluates in the first hour. An existing Telstra commercial relationship makes it dramatically more attractive than it looks from the outside.

**Pick it when**

- Government and regulated workloads where carrier-direct routing is a requirement
- Organisations with an existing Telstra commercial account
- Traffic that must demonstrably never leave Australian infrastructure

### MessageMedia {#messagemedia}

Long-established Australian A2P provider, now inside Sinch, sold through a sales team.

|  |  |
| --- | --- |
| Site | https://messagemedia.com/au/ |
| Docs | https://developers.messagemedia.com/ |
| Company | Sinch (Message4U Pty Ltd) |
| Founded | 2000 |
| Profile | https://toolweight.dev/tools/messagemedia |
| Score (default weights) | 60.6 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | — | Unknown | — | — | No public rate card; pricing is quoted per account. | #messagemedia-price_1k |
| Price /SMS @ 10k | — | Unknown | — | — | — | #messagemedia-price_10k |
| Price /SMS @ 100k | — | Unknown | — | — | — | #messagemedia-price_100k |
| Dedicated number | — | Unknown | — | — | — | #messagemedia-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | Invoice-billed; no public minimum. | #messagemedia-min_topup |
| Billing model | contract-required | Inferred | — | — | — | #messagemedia-billing_model |
| Self-serve API key | ○ | Inferred | — | — | Onboarding runs through sales; developer sandbox access does not translate to production sending without an account manager. | #messagemedia-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #messagemedia-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #messagemedia-two_way |
| MMS to AU | ● | Inferred | — | — | — | #messagemedia-mms |
| RCS | ◐ | Inferred | — | — | Available via the Sinch RCS stack; AU general availability unclear. | #messagemedia-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #messagemedia-delivery_receipts |
| Unicode billing doc | ◐ | Inferred | — | — | — | #messagemedia-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #messagemedia-api_style |
| SDK languages | node, python, php, ruby, java, dotnet | Inferred | — | — | — | #messagemedia-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #messagemedia-status_page |
| AU legal entity | ● | Inferred | — | — | Contracts through Message4U Pty Ltd, trading as MessageMedia. | #messagemedia-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #messagemedia-acma_sender_id |
| AU data residency | ● | Inferred | — | — | — | #messagemedia-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #messagemedia-optout_handling |
| Carrier route | hybrid-direct | Inferred | — | — | Long-claimed direct connectivity to Australian tier-one carriers; not independently verifiable. | #messagemedia-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #messagemedia-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | — | #messagemedia-agent_ready_docs |
| Operating since | 2000 | Inferred | — | — | — | #messagemedia-operating_since |
| Ownership | acquired-au | Inferred | — | — | — | #messagemedia-ownership |
| Positioning | The incumbent enterprise choice. Sells carrier relationships and compliance posture, not an endpoint. | Inferred | — | — | — | #messagemedia-positioning |

**Verdict.** Genuinely strong Australian delivery and the longest local track record here, wrapped in a procurement process that makes it impossible to evaluate without first committing time. Affordable sales cycle, serious option; otherwise it effectively does not exist.

**Pick it when**

- Regulated organisations that need a named account manager and an escalation path
- High-volume campaigns where a negotiated rate beats any published one
- Buyers who value a 25-year Australian operating history over self-serve access

### AWS End User Messaging {#aws-end-user-messaging}

SMS as an AWS primitive: no vendor relationship, but registration is a support ticket.

|  |  |
| --- | --- |
| Site | https://aws.amazon.com/end-user-messaging/ |
| Docs | https://docs.aws.amazon.com/sms-voice/ |
| Company | Amazon Web Services |
| Founded | 2016 |
| Profile | https://toolweight.dev/tools/aws-end-user-messaging |
| Score (default weights) | 60.2 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.07 /SMS | Inferred | 2026-07-20 | https://aws.amazon.com/end-user-messaging/pricing/ | Approximate AUD equivalent of AWS's published per-destination AU rate. AWS does not tier by volume. | #aws-end-user-messaging-price_1k |
| Price /SMS @ 10k | A$0.07 /SMS | Inferred | — | — | Flat per-destination pricing; no volume tiering. | #aws-end-user-messaging-price_10k |
| Price /SMS @ 100k | A$0.07 /SMS | Inferred | — | — | Flat rate. Enterprise discount programmes apply account-wide rather than per service. | #aws-end-user-messaging-price_100k |
| Dedicated number | — | Unknown | — | — | — | #aws-end-user-messaging-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | Billed on the AWS invoice; no separate balance. | #aws-end-user-messaging-min_topup |
| Billing model | postpaid-self-serve | Inferred | — | — | — | #aws-end-user-messaging-billing_model |
| Self-serve API key | ◐ | Inferred | — | — | IAM credentials are instant, but sending to Australian numbers with a sender ID requires a registration request through AWS Support — a form and a wait, not a salesperson. | #aws-end-user-messaging-self_serve_api_key |
| Alphanumeric sender | ◐ | Inferred | — | — | Supported for Australia, but only after a support-ticket registration. | #aws-end-user-messaging-alpha_sender_id |
| Two-way messaging | ◐ | Inferred | — | — | Works, but the number, the SNS topic and the consumer are all yours to wire up. | #aws-end-user-messaging-two_way |
| MMS to AU | ○ | Inferred | — | — | AWS MMS is US-only. | #aws-end-user-messaging-mms |
| RCS | ○ | Inferred | — | — | — | #aws-end-user-messaging-rcs |
| Delivery receipts | ● | Inferred | — | — | Event destinations deliver status to SNS, Kinesis or CloudWatch. | #aws-end-user-messaging-delivery_receipts |
| Unicode billing doc | ● | Vendor-claimed | 2026-07-20 | https://docs.aws.amazon.com/sms-voice/latest/userguide/ | — | #aws-end-user-messaging-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | SigV4-signed API via the AWS SDKs. | #aws-end-user-messaging-api_style |
| SDK languages | node, python, php, ruby, java, dotnet, go | Vendor-claimed | 2026-07-20 | https://aws.amazon.com/developer/tools/ | — | #aws-end-user-messaging-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #aws-end-user-messaging-status_page |
| AU legal entity | ● | Inferred | — | — | Amazon Web Services Australia Pty Ltd invoices with GST. | #aws-end-user-messaging-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #aws-end-user-messaging-acma_sender_id |
| AU data residency | ● | Inferred | — | — | Runs in ap-southeast-2 like any other AWS service. | #aws-end-user-messaging-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | Managed opt-out lists are a first-class resource. | #aws-end-user-messaging-optout_handling |
| Carrier route | international-aggregator | Inferred | — | — | — | #aws-end-user-messaging-carrier_route |
| MCP server | ◐ | Inferred | — | — | Covered by general-purpose AWS MCP tooling rather than a messaging-specific server. | #aws-end-user-messaging-mcp_server |
| Agent-ready docs | 4 | Inferred | — | — | — | #aws-end-user-messaging-agent_ready_docs |
| Operating since | 2016 | Inferred | — | — | — | #aws-end-user-messaging-operating_since |
| Ownership | hyperscaler | Inferred | — | — | — | #aws-end-user-messaging-ownership |
| Positioning | The baseline. No new vendor, no new invoice, no product beyond the API. | Inferred | — | — | — | #aws-end-user-messaging-positioning |

**Verdict.** The right reference point for whether a dedicated provider is worth its margin. On AWS already, the marginal cost of adding SMS is one IAM policy and a registration ticket — but there is no console, no deliverability support and nobody to escalate to when Australian delivery degrades.

**Pick it when**

- Teams already running on AWS who want one invoice and one IAM model
- Workloads where AU data residency in ap-southeast-2 is the deciding factor
- Establishing a cost floor before negotiating with a dedicated provider

### Esendex AU {#esendex}

Commify's Australian business messaging arm, sold through account management.

|  |  |
| --- | --- |
| Site | https://www.esendex.com.au/ |
| Company | Commify |
| Founded | 2001 |
| Profile | https://toolweight.dev/tools/esendex |
| Score (default weights) | 54.8 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | — | Unknown | — | — | Quote-based; no public AU rate card. | #esendex-price_1k |
| Price /SMS @ 10k | — | Unknown | — | — | — | #esendex-price_10k |
| Price /SMS @ 100k | — | Unknown | — | — | — | #esendex-price_100k |
| Dedicated number | — | Unknown | — | — | — | #esendex-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #esendex-min_topup |
| Billing model | contract-required | Inferred | — | — | — | #esendex-billing_model |
| Self-serve API key | ○ | Inferred | — | — | The AU site funnels to a demo request; there is no path from cold signup to a sent message. | #esendex-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #esendex-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #esendex-two_way |
| MMS to AU | ◐ | Inferred | — | — | — | #esendex-mms |
| RCS | — | Unknown | — | — | — | #esendex-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #esendex-delivery_receipts |
| Unicode billing doc | ◐ | Inferred | — | — | — | #esendex-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #esendex-api_style |
| SDK languages | — | Unknown | — | — | — | #esendex-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #esendex-status_page |
| AU legal entity | ● | Inferred | — | — | Esendex operates an Australian entity within the Commify group. | #esendex-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #esendex-acma_sender_id |
| AU data residency | ◐ | Inferred | — | — | — | #esendex-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #esendex-optout_handling |
| Carrier route | au-aggregator | Inferred | — | — | — | #esendex-carrier_route |
| MCP server | ○ | Inferred | — | — | — | #esendex-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | — | #esendex-agent_ready_docs |
| Operating since | 2001 | Inferred | — | — | — | #esendex-operating_since |
| Ownership | global-private | Inferred | — | — | — | #esendex-ownership |
| Positioning | Managed business messaging for mid-market Australia. Account-managed by design. | Inferred | — | — | — | #esendex-positioning |

**Verdict.** A real Australian operation with real local support, but structurally invisible to a developer evaluating options on a Tuesday afternoon. Nothing is assessable without booking a call — a legitimate business model and a poor fit for anyone reading a comparison table.

**Pick it when**

- Mid-market organisations that want a managed service rather than an API
- Buyers who value local account management over self-serve access
- Existing Commify customers consolidating channels

### Vonage {#vonage}

Ericsson-owned CPaaS with clean self-serve access and no Australian entity story.

|  |  |
| --- | --- |
| Site | https://www.vonage.com/communications-apis/sms/ |
| Docs | https://developer.vonage.com/en/messaging/sms/overview |
| Company | Vonage (Ericsson) |
| Founded | 2010 |
| Profile | https://toolweight.dev/tools/vonage |
| Score (default weights) | 54.7 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.08 /SMS | Inferred | — | — | Approximate AUD equivalent of Vonage's published AU per-message rate. | #vonage-price_1k |
| Price /SMS @ 10k | A$0.08 /SMS | Inferred | — | — | No public volume tiering; discounts via sales. | #vonage-price_10k |
| Price /SMS @ 100k | A$0.075 /SMS | Inferred | — | — | Approximate; negotiated rates are lower. | #vonage-price_100k |
| Dedicated number | A$5 /mo | Inferred | — | — | Approximate AUD equivalent of AU number rental. | #vonage-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #vonage-min_topup |
| Billing model | prepay-self-serve | Inferred | — | — | — | #vonage-billing_model |
| Self-serve API key | ● | Inferred | — | — | Signup issues credentials and trial credit immediately. | #vonage-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #vonage-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #vonage-two_way |
| MMS to AU | ○ | Inferred | — | — | Vonage MMS is North America only. | #vonage-mms |
| RCS | ◐ | Inferred | — | — | — | #vonage-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #vonage-delivery_receipts |
| Unicode billing doc | ● | Inferred | — | — | — | #vonage-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #vonage-api_style |
| SDK languages | node, python, php, ruby, java, dotnet | Inferred | — | — | — | #vonage-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #vonage-status_page |
| AU legal entity | ◐ | Inferred | — | — | Ericsson has an Australian presence, but CPaaS billing is not routinely from an Australian entity. | #vonage-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #vonage-acma_sender_id |
| AU data residency | ○ | Inferred | — | — | — | #vonage-au_data_residency |
| Opt-out built in | ◐ | Inferred | — | — | — | #vonage-optout_handling |
| Carrier route | international-aggregator | Inferred | — | — | — | #vonage-carrier_route |
| MCP server | — | Unknown | — | — | — | #vonage-mcp_server |
| Agent-ready docs | 4 | Inferred | — | — | — | #vonage-agent_ready_docs |
| Operating since | 2010 | Inferred | — | — | — | #vonage-operating_since |
| Ownership | global-listed | Inferred | — | — | — | #vonage-ownership |
| Positioning | Twilio's most direct substitute, without the ecosystem or the Australian entity. | Inferred | — | — | — | #vonage-positioning |

**Verdict.** Competent, self-serve and priced in the same band as Twilio without Twilio's documentation or its Australian invoicing entity. Its clearest use in an Australian stack is as a second route behind a local primary, not as the primary itself.

**Pick it when**

- Failover routing behind an Australian primary provider
- Existing Nexmo integrations with no reason to move
- Teams that want self-serve access and do not need AU residency

### Bird {#bird}

MessageBird rebuilt as a CRM-first platform; SMS is now a channel inside it.

|  |  |
| --- | --- |
| Site | https://bird.com/ |
| Docs | https://docs.bird.com/ |
| Company | Bird (formerly MessageBird) |
| Founded | 2011 |
| Profile | https://toolweight.dev/tools/bird |
| Score (default weights) | 54.3 / 100 |

| Field | Value | Confidence | Verified | Source | Note | Anchor |
| --- | --- | --- | --- | --- | --- | --- |
| Price /SMS @ 1k | A$0.075 /SMS | Inferred | — | — | Approximate. Bird's pricing has moved toward platform contracts and public per-country rates are less reliable than they were. | #bird-price_1k |
| Price /SMS @ 10k | — | Unknown | — | — | — | #bird-price_10k |
| Price /SMS @ 100k | — | Unknown | — | — | — | #bird-price_100k |
| Dedicated number | — | Unknown | — | — | — | #bird-dedicated_number_cost |
| Min top-up | — | Unknown | — | — | — | #bird-min_topup |
| Billing model | contract-required | Inferred | — | — | — | #bird-billing_model |
| Self-serve API key | ◐ | Inferred | — | — | Signup is self-serve, but the product funnels toward platform onboarding and volume sending is contract-gated. | #bird-self_serve_api_key |
| Alphanumeric sender | ● | Inferred | — | — | — | #bird-alpha_sender_id |
| Two-way messaging | ● | Inferred | — | — | — | #bird-two_way |
| MMS to AU | ● | Inferred | — | — | — | #bird-mms |
| RCS | ● | Inferred | — | — | — | #bird-rcs |
| Delivery receipts | ● | Inferred | — | — | — | #bird-delivery_receipts |
| Unicode billing doc | ◐ | Inferred | — | — | — | #bird-unicode_billing_doc |
| API style | rest-json | Inferred | — | — | — | #bird-api_style |
| SDK languages | node, python, php, java, go | Inferred | — | — | — | #bird-sdk_languages |
| Public status page | ● | Inferred | — | — | — | #bird-status_page |
| AU legal entity | ◐ | Inferred | — | — | Netherlands-headquartered; an Australian contracting entity is not clearly established. | #bird-au_legal_entity |
| ACMA Sender ID | — | Unknown | — | — | Deliberately unrecorded. Australia's SMS Sender ID Register obligations changed recently and vendor documentation lags the regulator. Pending verification against ACMA directly — do not rely on this for compliance. | #bird-acma_sender_id |
| AU data residency | ○ | Inferred | — | — | Infrastructure story is European; no Australian residency position documented. | #bird-au_data_residency |
| Opt-out built in | ● | Inferred | — | — | — | #bird-optout_handling |
| Carrier route | international-aggregator | Inferred | — | — | — | #bird-carrier_route |
| MCP server | — | Unknown | — | — | — | #bird-mcp_server |
| Agent-ready docs | 3 | Inferred | — | — | — | #bird-agent_ready_docs |
| Operating since | 2011 | Inferred | — | — | — | #bird-operating_since |
| Ownership | global-private | Inferred | — | — | — | #bird-ownership |
| Positioning | A CRM platform that happens to send SMS. The API is no longer the product. | Inferred | — | — | — | #bird-positioning |

**Verdict.** The MessageBird API many Australian teams integrated years ago is now a channel inside a marketing platform, and pricing and support have followed. Hard to recommend for a new Australian-only integration when the residency story is European and the commercial motion is contract-first.

**Pick it when**

- Existing MessageBird integrations not yet worth migrating
- Teams buying the CRM and campaign platform, with SMS included
- Global channel coverage where Australia is incidental

## Methodology

Prices are per outbound SMS segment to an Australian mobile number, in AUD, at three monthly volumes: 1,000, 10,000 and 100,000 messages. Where a provider publishes a public tier table, the figure is the list rate from that table. Where a provider quotes per account — MessageMedia, Telstra, Sinch and Esendex all do — the cell is null rather than a guess, because a made-up mid-market rate is worse than an honest gap. Twilio and AWS publish a flat per-destination rate with no public volume tiering, so their three tiers are near-identical; discounts exist but require sales. A segment is 160 GSM-7 characters or 70 UCS-2 characters. If your copy contains a curly apostrophe, an em dash or an emoji, you are paying UCS-2 rates for the whole message, which roughly doubles your bill on anything over 70 characters. Very few vendors say this on the pricing page.

The killer field, "self-serve API key", answers one question: from a cold start with a credit card and no prior relationship, can you obtain working credentials and deliver a message to a real Australian handset without speaking to a human? "Yes" means signup to sent message with no manual approval step. "Partial" means credentials are self-serve but something between you and production is not — a sender ID registration ticket, a manual account activation, a trial that cannot send to arbitrary numbers. "No" means a salesperson is in the critical path. A serious caveat on ACMA: Australia's SMS Sender ID Register regime has changed recently and the obligations on senders and on carriage service providers are in flux. Every cell in the ACMA Sender ID field is therefore deliberately left unknown rather than guessed. Vendor pages on this topic lag the regulator by months and several are simply out of date. This field is pending verification against ACMA directly and must not be relied on for any compliance decision — treat it as a prompt to go and check, not as an answer.

## FAQ

### Can I use an alphanumeric sender ID in Australia?

Yes. Unlike the US, Australian carriers accept alphanumeric sender IDs such as your brand name, and every provider on this roster supports them. The catch is that alphanumeric senders are one-way — a recipient cannot reply, and STOP handling has to be done by appending a link or a separate number. Registration obligations for sender IDs are changing; check ACMA before assuming an unregistered ID will keep delivering.

### Why is SMS to Australia so much more expensive than to the US?

Australian mobile carriers charge aggregators a high per-message termination fee, and there are only three networks to negotiate with. There is no A2P workaround equivalent to US short codes or toll-free numbers that meaningfully undercuts it. Expect roughly two to eight cents per segment depending on volume, versus well under a cent in the US. Anyone quoting Australian traffic at US-like rates is grey-routing it.

### Which Australian SMS providers let me start without talking to sales?

ClickSend, SMS Broadcast, SMSGlobal, Cellcast and Kudosity all issue credentials at signup with a published rate table. Twilio and Vonage do too. AWS End User Messaging gives you credentials instantly but requires a support-ticket registration before Australian sender IDs work. MessageMedia, Esendex and Bird put a person in the path, and Telstra requires a Telstra commercial account before production traffic flows.

### Does it matter whether a provider has direct carrier interconnect?

It matters for reliability more than for price. A direct interconnect with Telstra, Optus or TPG means fewer intermediaries to silently reroute your traffic, which shows up as more consistent delivery latency and more trustworthy delivery receipts. Telstra is the only true carrier here. Everyone else is an aggregator with varying degrees of direct connectivity, and those claims are not independently verifiable from outside.

### Do I need an Australian legal entity to send to Australian numbers?

You do not, but your provider's entity matters for GST treatment, contract enforceability and how quickly a complaint gets escalated. Providers billing through an Australian entity — ClickSend, SMSGlobal, Cellcast, MessageMedia, Telstra, Twilio Australia — issue tax invoices with GST and sit under Australian consumer law. Offshore-billed providers do not, which finance teams tend to discover at the wrong moment.

### How does unicode change what I pay per message?

A plain GSM-7 message fits 160 characters in one billable segment. One character outside that alphabet — a curly apostrophe pasted from a document, an emoji, an em dash — switches the whole message to UCS-2, which fits only 70 characters per segment. A 150-character message goes from one segment to three. Sanitise templates server-side; most billing surprises in this category start here.

### Is RCS worth waiting for in Australia?

Not for a decision being made now. Australian carriers support RCS and every vendor markets it, but general availability is patchy, pricing is quote-only almost everywhere, and the billing behaviour when RCS falls back to SMS is rarely documented. Build on SMS, keep the sending layer abstracted behind your own interface, and revisit when a provider publishes an actual RCS rate card.

## Recent changes

| Date | Kind | Event | Tools | Source |
| --- | --- | --- | --- | --- |
| 2022-07-01 | other | **Scam SMS obligations land on Australian carriers** — The Reducing Scam Calls and Scam SMS industry code extended mandatory identification, tracing and blocking obligations to SMS. It is the root cause of most unexplained Australian delivery failures since: traffic with a mismatched or suspicious sender ID is filtered at the network, not by your provider, and the delivery receipt frequently does not say so. Included as the oldest load-bearing regulatory fact in this category. | — | — |
| 2024-10-01 | launch | **Amazon renames Pinpoint SMS to AWS End User Messaging** — The SMS and voice components of Amazon Pinpoint were rebranded as AWS End User Messaging, consolidating what had previously been split between SNS SMS and Pinpoint. For Australian senders nothing functionally changed: sender ID registration remains a support-ticket workflow and pricing remains a flat per-destination rate with no volume tiering. | aws-end-user-messaging | https://aws.amazon.com/end-user-messaging/ |
| 2025-01-15 | other | **Sinch continues folding MessageMedia into the parent platform** — Sinch has been progressively consolidating MessageMedia's Australian business onto Sinch platform branding and account management since the 2021 acquisition. The practical effect for buyers is that the two products increasingly quote from the same commercial motion, and neither publishes an Australian rate card. The date is approximate — this has been a gradual migration rather than a single announcement. | messagemedia, sinch | — |
| 2025-07-01 | other | **Australian SMS Sender ID Register obligations shift** — Australia's SMS Sender ID Register regime moved on from the earlier voluntary industry pilot, changing what senders and carriage service providers must do before an alphanumeric sender ID will reliably deliver. This entry is deliberately imprecise: the commencement timetable and the exact obligations are not confirmed here, and vendor documentation across this roster lags the regulator. Confirm current requirements with ACMA directly before acting. | — | — |
| 2026-02-01 | other | **RCS marketing outpaces RCS availability** — By early 2026 every major provider on this roster markets RCS Business Messaging for Australia, but general availability remains patchy, per-message pricing is quote-only almost everywhere, and the billing treatment when RCS falls back to SMS is rarely documented. Treat RCS as a reason to keep the sending layer abstracted, not as a reason to choose a provider. | twilio, sinch, bird, telstra-messaging | — |

## Sources

| Source | Last verified |
| --- | --- |
| https://www.twilio.com/en-us/sms/pricing/au | 2026-07-20 |
| https://www.twilio.com/docs/messaging/quickstart | 2026-07-20 |
| https://www.twilio.com/docs/glossary/what-sms-character-limit | 2026-07-20 |
| https://www.twilio.com/docs/libraries | 2026-07-20 |
| https://status.twilio.com/ | 2026-07-20 |
| https://www.clicksend.com/au/pricing/ | 2026-07-20 |
| https://developers.clicksend.com/docs/rest/v3/ | 2026-07-20 |
| https://developers.clicksend.com/ | 2026-07-20 |
| https://aws.amazon.com/end-user-messaging/pricing/ | 2026-07-20 |
| https://docs.aws.amazon.com/sms-voice/latest/userguide/ | 2026-07-20 |
| https://aws.amazon.com/developer/tools/ | 2026-07-20 |

## Related comparisons

- [Email APIs](https://toolweight.dev/compare/email-sending-apis) — Which email sending API is best for developers?
- [Domain registrars](https://toolweight.dev/compare/domain-registrars) — Which domain registrar is cheapest to renew with, and which ones make it hard to leave?
- [S3-compatible storage](https://toolweight.dev/compare/s3-compatible-storage) — Which S3-compatible object storage provider is actually cheapest once egress is counted?

## Licence and attribution

Data from toolweight (https://toolweight.dev), licensed CC-BY-4.0.

- Licence: [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/)
- Canonical HTML: https://toolweight.dev/compare/sms-api-providers-australia
- Machine-readable: https://toolweight.dev/compare/sms-api-providers-australia.md · https://toolweight.dev/api/v1 · https://toolweight.dev/mcp
- toolweight takes no affiliate revenue and sells no placements. Corrections: https://toolweight.dev/suggest
