Migration guide

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 toto, sender fromfrom, body texttext. 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

  1. Create a Telnyx account, complete self-onboarding, and generate an API key from the dashboard — see How to start with Telnyx.
  2. Provision a sender (a number, or an approved alphanumeric sender ID where supported).
  3. Map the request fields: keep to, from, and text; remove category.
  4. Re-point your sending code to https://api.telnyx.com/v2/messages and swap the region-prefixed key for the plain Bearer key.
  5. Re-test end to end. Telnyx has no sandbox, so validate against live sending with test numbers and small volumes.
  6. Update your delivery webhooks and callback handlers to Telnyx’s status payloads.
  7. Run both providers in parallel, splitting a slice of traffic to Telnyx to confirm delivery and reporting.
  8. 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.