Migration guide

How to migrate from BulkSMS to Telnyx

A developer-focused guide to moving your messaging integration from BulkSMS to Telnyx, covering channel and compliance differences, request-format changes, and a step-by-step migration checklist.

BulkSMS is a business messaging platform for sending bulk SMS and RCS to mobile networks worldwide via web app, API, and SMPP. Telnyx is a licensed telecom carrier offering a CPaaS platform with APIs for SMS, MMS, RCS, WhatsApp, voice, and email over its own private global IP network. On the messaging.dev Score, BulkSMS rates 43/100 and Telnyx rates 78/100; this guide covers what actually changes when you move an integration from one to the other.

What changes at a glance

Channels you gain. Both providers cover SMS and RCS, so you lose no channel by migrating. Telnyx adds MMS, WhatsApp, voice, and email on the same account and credentials, which lets you consolidate more traffic into one integration. Neither provider offers Viber, Facebook Messenger, Telegram, or Apple Messages for Business.

Compliance. Both are GDPR-aligned. Telnyx additionally lists ISO 27001, SOC 2, and HIPAA; BulkSMS lists none of these three. No certification is lost in the move.

Data residency. BulkSMS runs EU servers (no US) with no region choice, plus a South Africa presence. Telnyx runs both EU and US servers, offers data-residency choice, and lists Asia-Pacific and South America regions.

Pricing and free credit. BulkSMS uses pay-as-you-go prepaid credits with no published headline SMS price and no monthly, setup, or contract fees. Telnyx is also pay-as-you-go but billed per message part, with a published starting rate of $0.004 per outbound SMS message part (US, plus carrier fees) and volume discounts. Note the trade-off: BulkSMS grants 5 free test SMS on signup, whereas Telnyx offers no free developer credit.

SDKs, sandbox, and docs. BulkSMS ships no official SDKs; Telnyx ships seven (Node.js, Python, Ruby, Go, Java, .NET, PHP) and its docs are rated high versus BulkSMS’s medium. Neither provider offers a sandbox.

How the request format differs

BulkSMS quickstart:

curl -X POST https://api.bulksms.com/v1/messages \
  -u 'API_TOKEN_ID:API_TOKEN_SECRET' \
  -H 'Content-Type: application/json' \
  -d '{"to": "+27000000000", "body": "Hello, World!"}'

Telnyx quickstart:

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!"
  }'

Three things change. The base URL moves from https://api.bulksms.com/v1/messages to https://api.telnyx.com/v2/messages. Authentication changes from HTTP Basic (the -u 'API_TOKEN_ID:API_TOKEN_SECRET' pair) to a Bearer API key sent as Authorization: Bearer YOUR_API_KEY. For the payload, the recipient field is identical (to), the message body is renamed from body to text, and Telnyx requires a from sender field that the BulkSMS example does not include. See the Telnyx quickstart for the full first-send walkthrough.

Migration checklist

  1. Create a Telnyx account and generate an API key from the dashboard. Self-onboarding is available, so no sales call is needed.
  2. Provision a sender. Because Telnyx requires a from value, set up a messaging-capable number or sender ID before your first send.
  3. Map the request fields: keep to, rename body to text, and add from.
  4. Re-point your sending code to https://api.telnyx.com/v2/messages and swap Basic auth for the Authorization: Bearer header.
  5. Adopt an official SDK if useful — Telnyx offers seven languages where BulkSMS offered none.
  6. Re-test. Telnyx has no sandbox, so validate with low-volume live sends to a real handset rather than an isolated test environment.
  7. Update webhooks and delivery callbacks to Telnyx’s delivery-report format.
  8. Run both providers in parallel, compare delivery results, then cut over and decommission BulkSMS.

Watch out for

  • No free developer credit. Unlike BulkSMS’s 5 free test SMS, Telnyx requires you to fund the account before your first test.
  • No sandbox. Your first tests are live, billable sends.
  • Billing per message part. Long or multipart SMS is charged per segment, so estimate costs accordingly.
  • Fewer listed countries. Telnyx lists 130 countries covered versus BulkSMS’s 213 — confirm your destinations are supported.

For a full side-by-side, see the BulkSMS vs Telnyx comparison.