Migration guide

How to migrate from SMS.to to Telnyx

A developer's guide to moving messaging traffic from SMS.to to Telnyx: channel and compliance differences, request-format mapping, and a step-by-step migration checklist.

SMS.to is an omnichannel business messaging platform and API from Cyprus-based Intergo Telecom, built for sending SMS, Viber, WhatsApp, RCS and Telegram. Telnyx is a licensed telecom carrier that runs a CPaaS platform with SMS, MMS, RCS, WhatsApp, voice and email APIs over its own private global IP network. On the messaging.dev Score, SMS.to rates 49/100 and Telnyx 78/100 — this guide covers what actually changes at the code and account level when you move between them.

What you gain and lose

Channels. Both platforms carry SMS, RCS and WhatsApp. Moving to Telnyx you gain MMS, voice and email. You lose Viber and Telegram, which Telnyx does not offer — if your traffic uses either channel, plan to keep those flows on another provider. Neither supports Facebook Messenger or Apple Messages for Business.

Compliance. Both are GDPR and ISO 27001 aligned. Telnyx additionally holds SOC 2 and HIPAA, so you gain two certifications and lose none.

Data residency. Identical on the essentials: both offer EU and US servers with a data-residency choice. Telnyx also lists Asia-Pacific and South America regions.

Pricing and credit. SMS.to uses prepaid pay-as-you-go credit (from $0.023 per SMS) and grants free trial credits on sign-up. Telnyx is also pay-as-you-go but bills per message part — $0.004 per outbound SMS part (US, plus carrier fees) — and offers no free developer credit, so budget for paid testing from day one.

SDKs and docs. SMS.to ships a PHP SDK; Telnyx ships Node.js, Python, Ruby, Go, Java, .NET and PHP. Both expose REST and SMPP APIs. Documentation rates medium for SMS.to and high for Telnyx. Neither offers a sandbox environment.

How the request format differs

SMS.to:

curl -X POST https://api.sms.to/sms/send \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello from SMS.to", "to": "+35794000001", "sender_id": "SMSto"}'

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

Three things change. The endpoint moves from https://api.sms.to/sms/send to https://api.telnyx.com/v2/messages. The auth mechanism is effectively the same: both send an API key as a Bearer token in the Authorization header (SMS.to also accepts an api_key query parameter on GET requests; Telnyx uses the header). The payload fields map cleanly: the recipient stays to in E.164 format, the sender sender_id becomes from, and the message body message becomes text.

Migration checklist

  1. Create a Telnyx account and generate an API key from the dashboard — onboarding is self-service, no sales call. See how to start with Telnyx.
  2. Map the request fields: messagetext, sender_idfrom, toto.
  3. Re-point your sending code to https://api.telnyx.com/v2/messages and set the Authorization: Bearer header.
  4. Re-test. Telnyx has no sandbox, so send low-value live messages to numbers you control instead of a test environment.
  5. Update your delivery/status webhooks and callback URLs to consume Telnyx’s payload shape.
  6. Run both providers in parallel, comparing delivery on real traffic.
  7. Cut over once delivery and reporting match expectations.

Watch out for

  • You lose Viber and Telegram. Telnyx carries neither; those channels need a fallback provider.
  • No free credit. Unlike SMS.to’s sign-up trial credits, Telnyx offers none — testing is billed.
  • No sandbox. All testing happens against the live API.
  • Per-part billing. Telnyx prices per message part plus carrier fees, so multi-part (long or Unicode) messages cost more than a flat per-SMS rate implies.

For a full side-by-side, see SMS.to vs Telnyx.