How to migrate from Bird to Telnyx
A developer-focused guide to moving your messaging integration from Bird to Telnyx, covering channel changes, pricing, request-format differences, and a step-by-step migration checklist.
Bird is a communications infrastructure platform (formerly MessageBird) that exposes unified APIs for SMS, WhatsApp, voice, and email. Telnyx is a licensed telecom carrier running a CPaaS platform for SMS, MMS, RCS, WhatsApp, voice, and email over its own private global IP network. On the messaging.dev Score, Bird rates 76/100 and Telnyx 78/100 — close enough that this migration is about fit, not a quality gap.
What changes when you move
Every channel you use on Bird exists on Telnyx: SMS, WhatsApp, voice, and email all carry over, so nothing you send today disappears. Moving adds two channels Bird doesn’t offer — MMS and RCS. Neither provider supports Viber, Facebook Messenger, Telegram, or Apple Messages for Business, so nothing changes there.
Compliance is identical: both are GDPR, ISO 27001, SOC 2, and HIPAA aligned. Data residency is comparable too — both run US and EU servers with a residency choice — but Telnyx additionally lists Asia-Pacific and South America regions. Documentation quality is rated high on both.
The differences that matter operationally:
- Pricing model. Bird uses usage-based transactional pricing with no platform or seat fees (US SMS from $0.0073 per message). Telnyx is pay-as-you-go billed per message part (US SMS from $0.004 per part). The headline rate is lower, but per-segment billing means multi-part messages are priced differently than Bird’s per-message rate.
- Free credit. Bird includes a free email tier (1,000/month). Telnyx offers no free developer credit, so you’re on pay-as-you-go from the first message.
- SDKs. Bird ships TypeScript, Python, and Go. Telnyx covers more: Node.js, Python, Ruby, Go, Java, .NET, and PHP.
- Sandbox. Bird provides a sandbox test environment; Telnyx does not.
- Protocols. Both expose REST. Bird also offers SMTP; Telnyx also offers SMPP.
- Coverage. Bird lists 150 countries; Telnyx lists 130.
How the request format differs
Bird:
curl -X POST "https://us1.platform.bird.com/v1/sms/messages" \
-H "Authorization: Bearer bk_us1_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+14155550100",
"from": "Bird",
"text": "Your Bird verification code is 481920. It expires in 10 minutes.",
"category": "authentication"
}'
Telnyx:
curl -X POST https://api.telnyx.com/v2/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"from": "+15551234567",
"to": "+15559876543",
"text": "Hello, world!"
}'
Endpoint. Bird posts to a region-prefixed host, https://us1.platform.bird.com/v1/sms/messages, with a channel-specific path. Telnyx posts to a single host, https://api.telnyx.com/v2/messages, on a generic /messages path — swap the base URL and the path when you re-point your code.
Authentication. Both send a Bearer token in the Authorization header. Bird’s key is region-prefixed (bk_us1_... / bk_eu1_...) and the prefix encodes which regional host to call. Telnyx uses a plain API key with no region encoding, so the host is fixed regardless of key.
Payload mapping. The three core fields map one-to-one: recipient to → to, sender from → from, body text → text. Two adjustments: drop Bird’s category field (e.g. "authentication"), which Telnyx’s basic send doesn’t require; and confirm your sender — Bird’s example uses an alphanumeric sender ID ("Bird"), while Telnyx’s uses an E.164 number.
Migration checklist
- Create a Telnyx account, complete self-onboarding, and generate an API key from the dashboard — see How to start with Telnyx.
- Provision a sender (a number, or an approved alphanumeric sender ID where supported).
- Map the request fields: keep
to,from, andtext; removecategory. - Re-point your sending code to
https://api.telnyx.com/v2/messagesand swap the region-prefixed key for the plain Bearer key. - Re-test end to end. Telnyx has no sandbox, so validate against live sending with test numbers and small volumes.
- Update your delivery webhooks and callback handlers to Telnyx’s status payloads.
- Run both providers in parallel, splitting a slice of traffic to Telnyx to confirm delivery and reporting.
- Cut over once parity holds, then decommission the Bird integration.
Watch out for
- No sandbox. Bird had one; on Telnyx there’s no isolated test environment, so plan live testing carefully.
- No free credit. You lose Bird’s free email tier (1,000/month); Telnyx is pay-as-you-go from message one.
- Per-part billing. Telnyx bills per message segment, unlike Bird’s per-message rate — long messages can cost more than the headline price implies.
- Narrower coverage. Telnyx lists 130 countries versus Bird’s 150; verify your destinations are supported.
- Protocol swap. If you relied on Bird’s SMTP interface, note Telnyx offers SMPP rather than SMTP.
For a full side-by-side, see Bird vs Telnyx.