Bird SMS
SMS that moves
the conversation forward.
Send the update people need, launch a campaign they want and keep the conversation going when they reply. Bird brings SMS sending, audiences, content and delivery reporting together, with an API for your application and a workspace for your team.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const message = await bird.sms.send({
from: "Bird",
to: "+31612345678",
text: "Your order #4821 has shipped. Track it: bird.ly/t/4821x",
category: "transactional",
});
console.log(message.id);
// → "sms_01m11jw130e7svjzv70kgqr38w"
Illustrative messages and API response.
Trusted every day by teams that build world-class software
Read more customer storiesFind your SMS workflow.
Build a notification, launch a campaign or make room for the reply.
For your application
Send the moment it matters.
Order updates, appointment reminders and service alerts. Build an SMS send into the event that makes it useful.
Explore the sending APIFor your marketing team
Give the message a reason.
Bring the audience, content and launch review into one campaign. Make the offer relevant before you make the send.
Explore SMS marketingFor the conversation
Make room for the reply.
Receive messages on an eligible number, connect them to your application and respond with the context the customer expects.
Explore two-way SMSCampaigns and broadcasts
A campaign your team can stand behind.
Choose an audience, shape the message and review the send together. Preview personalizations and segments, confirm the sender and schedule the campaign. The dashboard, API and your agent work with the same broadcast lifecycle.
Keep permission and purpose close to the content. Follow delivery and replies, then connect the actions your business measures to the campaign that prompted them.
Fieldnotes · Autumn launch
Example campaign
One clear reason. One next step.
Campaign
Autumn launch
Status
Ready for review
Illustrative campaign. Explore the content and launch review; this preview sends no messages.
Choose the identity people see
A local number
Conversations and notifications
A toll-free number
An SMS-capable national identity
A short code
An approved messaging program
Your brand name
One-way messages where supported
Choose by destination, capabilities and registration requirements.
Senders and destinations
Start with the name on their screen.
Your sender determines what the customer recognizes and whether they can reply. Choose a local number, toll-free number, short code or brand name, then check the destinations and registration requirements for that choice.
A number, a registered sender and permission to contact a person solve different parts of the journey. Bird brings those decisions into view before you launch in a new market.
From npm install to a test send
Send an SMS from the language you already use.
Build with Node.js, Python, Go or PHP, or use the CLI and HTTP API. The same sender, message and delivery record carry through your integration. Follow the sending guide for a controlled test before sending to customers.
const msg = await bird.sms.send({
from: "+15557654321",
to: "+14155550100",
text: "Your verification code is 123456.",
category: "authentication",
});
console.log(msg.id, msg.status);Before sending to customers, check sender registration for each destination. Follow the SMS sending guide from request to delivery outcome, then use SMS events and inbound replies to handle delivery receipts and messages sent to your numbers.
The controls behind a dependable SMS program.
Prepare the sender, control the destination and understand the outcome.
- 01
Destination controls
Choose the countries your workspace can send to. Review sender support and registration requirements before enabling a new destination.
- 02
Carrier connectivity
Bird manages carrier connectivity and exposes the reported outcome through one message record.
- 03
Operator-grade routing
Routing responds to the destination and carrier conditions, with delivery outcomes available to your application.
- 04
Two-way SMS inbound
Incoming texts on eligible numbers produce signed workspace webhooks, ready for your application to verify and process.
- 05
Numbers of every shape
Choose long codes, toll-free numbers, short codes or a sender ID. Availability and registration depend on the destination.
- 06
A2P 10DLC in-dashboard
Brand and campaign registration handled in the console; status is queryable from the API.
- 07
MNP lookup before send
Number intelligence helps identify the recipient’s network and supports destination routing.
- 08
Opt-out and help keywords
Recognized STOP keywords suppress the sender-and-subscriber pair; HELP returns support information. Check keyword coverage for your country.
- 09
Delivery receipts as webhooks
Subscribe to SMS lifecycle events and inspect the message record when a delivery needs investigation.
- 10
Segment and Unicode safety
Bird calculates encoding and billable segments. Check the body with the segment calculator before sending.
Explore the SMS platform
Each capability in depth. One API, one set of keys.
Sending.
The send API: segments, Unicode safety, batch, and idempotency.
Numbers.
Long codes, short codes, toll-free, and alphanumeric sender IDs.
Two-way.
Inbound SMS and conversational replies as HMAC-signed webhooks.
Compliance.
A2P 10DLC registration, opt-out keywords and sender-ID rules.
Routing.
Destination controls, carrier handoff and delivery evidence.
Analytics.
Delivery outcomes, failure reasons and latency from carrier receipts.
Destinations.
Per-country sender types, registration rules, and coverage.
30
countries onboarded in two months, as reported by Airwallex
Customer story
Bring your next market closer.
Airwallex worked with Bird to navigate local requirements and improve international SMS delivery. The team reported reducing its average country onboarding time from a month or more to about seven days.
Read the Airwallex storySMS is one channel in a bigger toolkit. Verify users with one-time passcodes through Verify, check a number's line type and carrier before you send with Lookup, or reach the same handset with rich cards over RCS.
Weighing Bird against the incumbent? Bird vs Twilio for SMS puts the two send calls, both 10DLC surfaces, and what each one gives a coding agent side by side.
Follow the message after the API responds.
Receive signed events for accepted, submitted and reported delivery outcomes. Verify signatures and deduplicate webhook retries in your receiver.
{
"type": "sms.delivered",
"timestamp": "2026-05-19T15:42:01.221Z",
"data": {
"sms_id": "sms_01m11jw130e7svjzv70kgqr38w",
"workspace_id": "ws_01m11jw130e7svjzv70kgqr38w",
"to": "+15005550006",
"from": "+12025550188",
"tags": [{ "name": "campaign", "value": "order_update" }],
"metadata": { "user_id": "usr_12345" },
"carrier": "Verizon",
"mcc_mnc": "311480",
"cost": {
"amount": null,
"currency_code": "USD",
"transaction_amount": null,
"passthrough_amount": null
}
}
}
Webhook delivery and SMS delivery are separate outcomes. A failed webhook attempt does not mean the text failed. Use the webhook guide for retries and replay, and the message timeline for SMS status.
sms.acceptedAccepted by the API and queued for the carrier hand-off.sms.sentSubmitted to the destination carrier's SMSC.sms.deliveredDelivery receipt received from the carrier (DLR).sms.rejectedRefused during processing or carrier submission. Inspect the error to determine the next action.sms.undeliveredThe attempt ended without delivery for a potentially recoverable reason. This does not automatically resubmit the SMS.sms.failedTerminal failure: the message will not be delivered.
A connected messaging platform
Choose the channel for the job.
Use Verify when the job is to generate, deliver and check a one-time code. SMS delivery is one part of verification; expiry, answer checking and configured fallback belong to that workflow.
Explore RCS and WhatsApp for richer content and channel-specific interactions. Plan sender onboarding, permissions and any fallback explicitly for the channels you choose.
Pricing
Pricing for the destinations you send to.
Review the published destination rates, sender costs and carrier fees for your traffic. Encoding and the rendered message length determine the billable segments. Discuss your requirements for a larger rollout.
Questions about sending SMS
Do I choose the sender?
How do retries avoid a duplicate text?
Does accepted mean delivered?
Is a batch the same as a broadcast?
Choose your next SMS workflow
Send your first request before you write any code.
The whole public API is a Postman collection, converted from the same OpenAPI specification the SDKs are generated from, with an example request and response on every endpoint. Fork it into your own workspace, set an API key, and send a live request.
Put it into practice.
Continue with the documentation, guides and examples for this topic. Resources are in English.
Build the next conversation.
Create your workspace, prepare a sender and test your SMS integration. For a campaign rollout or a new market, bring your requirements to an SMS specialist.