# 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.

[Start for Free](/dashboard/signup?returnTo=%2Fdashboard%2Fw%2Fsms%2Fonboarding)

[Contact sales](/demo?product=sms)

## Set up with your agent

[Read the agent setup guide](/docs/ai/set-up-your-agent)

Copy this prompt into your coding agent:

```text
Bird connects customer communications, data and automation. Help me build with Bird using my coding agent.
1. Read https://bird.com/docs/ai/set-up-your-agent.md and follow its setup workflow for this client. Use an existing connected Bird MCP server or signed-in CLI when available.
2. Read the product guide for the task I want to complete and inspect my existing integration. Identify the workspace, available operations and required setup.
3. Help me complete a first example for the product and destination I choose. Follow the operation through to its actual result, explain any uncertainty, and help me choose the next step.

First task: Prepare an SMS integration for my chosen destination. Inspect my sender and destination settings, follow the documented test flow, and distinguish API acceptance from delivery. Ask before sending a message.

Use this Bird page as the starting context: https://bird.com/products/sms
Read its Markdown alternative and linked guides. Keep the first example relevant to this page and the customer outcome I choose. Preserve the supplied campaign context when following Bird signup or sales links.
```

Illustrative messages and API response.

Trusted every day by teams that build world-class software

[Read more customer stories](/customers)

- [Airwallex](/customers/airwallex)
- [Glovo](/customers/glovo)
- [Zillow](/customers/zillow)
- Uber
- [Binance](/customers/binance)
- Adobe
- Meta
- PayPal
- Pinterest
- Square
- [Al Jazeera](/customers/aljazeera)
- [Aramex](/customers/aramex)
- [Bazaar Technologies](/customers/bazaar)
- [ComparaOnline](/customers/compara)
- [Emma](/customers/emma)

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 API](/products/sms/sending)

For 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 marketing](/products/sms/marketing)

For 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 SMS](/products/sms/two-way)

## Find your SMS workflow.

Build a notification, launch a campaign or make room for the reply.

Campaigns 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.

[See the campaign workflow](/products/sms/marketing)

[Explore SMS content](/products/sms/marketing/templates)

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.

[Compare sender types](/products/sms/numbers)

[Check a destination](/products/sms/destinations)

## 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.

**Node.js**: `npm install @messagebird/sdk`

```typescript
const msg = await bird.sms.send({
  from: "+15557654321",
  to: "+14155550100",
  text: "Your verification code is 123456.",
  category: "authentication",
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/it-it/prodotti/sms.ts.md) · [Python](/it-it/prodotti/sms.py.md) · [Go](/it-it/prodotti/sms.go.md) · [PHP](/it-it/prodotti/sms.php.md) · [CLI](/it-it/prodotti/sms.cli.md) · [MCP](/it-it/prodotti/sms.mcp.md) · [cURL](/it-it/prodotti/sms.curl.md)

Before sending to customers, check [sender registration for each destination](/docs/guides/sms/senders). Follow the [SMS sending guide](/docs/guides/sms/sending-sms) from request to delivery outcome, then use [SMS events and inbound replies](/docs/guides/sms/events) 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.](/products/sms/sending)**: The send API: segments, Unicode safety, batch, and idempotency.
- **[Numbers.](/products/sms/numbers)**: Long codes, short codes, toll-free, and alphanumeric sender IDs.
- **[Two-way.](/products/sms/two-way)**: Inbound SMS and conversational replies as HMAC-signed webhooks.
- **[Compliance.](/products/sms/compliance)**: A2P 10DLC registration, opt-out keywords and sender-ID rules.
- **[Routing.](/products/sms/routing)**: Destination controls, carrier handoff and delivery evidence.
- **[Analytics.](/products/sms/analytics)**: Delivery outcomes, failure reasons and latency from carrier receipts.
- **[Destinations.](/products/sms/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 story](/customers/airwallex)

SMS is one channel in a bigger toolkit. Verify users with one-time passcodes through [Verify](/products/verify), check a number's line type and carrier before you send with [Lookup](/products/lookup), or reach the same handset with rich cards over [RCS](/products/rcs).

Weighing Bird against the incumbent? [Bird vs Twilio for SMS](/products/sms/compare/bird-vs-twilio) puts the two send calls, both 10DLC surfaces, and what each one gives a coding agent side by side.

## Choose the channel for the job.

Use [Verify](/products/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](/products/rcs) and [WhatsApp](/products/whatsapp) for richer content and channel-specific interactions. Plan sender onboarding, permissions and any fallback explicitly for the channels you choose.

## 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.

[See full pricing](/pricing/sms)

## Questions about sending SMS

### Do I choose the sender?

For a free-text send, provide a sender your workspace can use in the destination and the appropriate message category. A system-template send resolves its category and sender from the template.

### How do retries avoid a duplicate text?

Provide an idempotency key and reuse it for a retry of the same request. A send without that key can be treated as a new message.

### Does accepted mean delivered?

No. A 202 response means the API accepted the request. Follow the message record and signed events for the carrier-reported outcome. A delivery receipt does not establish that the recipient read the text.

### Is a batch the same as a broadcast?

A batch contains up to 100 independent messages, each with its own recipient and body. A broadcast is an audience campaign with shared content and a managed send lifecycle. Choose the workflow that matches your job.

## Choose your next SMS workflow

- [Run a campaign](/products/sms/marketing): Prepare an audience, content, sender and launch review.
- [Find a guide or answer](/products/sms/resources): Explore developer guides, FAQs, explained articles and tools.
- [Set up your first integration](/products/sms/getting-started): Prepare the sender and destination, then test delivery.
- [Read the SMS guide](/docs/guides/sms/overview): Follow the sending, sender and delivery guides.
- [Plan a larger rollout](/demo?product=sms): Discuss markets, sender requirements and your existing traffic.

## Send your first request before you write any code.

[The whole public API as a Postman collection](https://god.gw.postman.com/run-collection/20940851-8026901b-b1c8-4490-a3e6-b755bfbed32a?action=collection%2Ffork): every endpoint with an example request and response, converted from the same OpenAPI specification the SDKs are generated from. Fork it into your own workspace, set an API key, and send a live request.

## 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.



## Related resources

- [Sending your first SMS](/learn/sms/sending-your-first-sms) (video)
- [What does SMS mean?](/explained/sms/what-does-sms-mean) (answer)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms)
