Migration guide

How to migrate from 46elks to Twilio

A developer's guide to moving SMS/MMS traffic from 46elks to Twilio: what changes in channels, compliance, pricing, and the API request format, plus a step-by-step migration checklist.

46elks is a Swedish telecom API platform for sending SMS and MMS, placing voice calls, and managing virtual numbers. Twilio is a US-based customer engagement platform whose communications APIs span SMS, voice, email, and more. On the messaging.dev Score, 46elks rates 33/100 and Twilio 88/100; this guide covers what actually changes at the API level when you move, framed as data rather than endorsement.

What changes when you move

Channels. Both providers send SMS and MMS and place voice calls, so nothing you rely on today disappears. Moving to Twilio adds RCS, WhatsApp, and email on the same account. Neither offers Viber, Facebook Messenger, Telegram, or Apple Messages for Business, so those stay unavailable on both.

Compliance. 46elks is GDPR-aligned. Twilio is GDPR-aligned and additionally carries ISO 27001, SOC 2, and HIPAA — you gain certifications and lose none.

Data residency. 46elks keeps data on EU servers with no region choice. Twilio offers EU and US servers (plus Australia) with a data-residency choice — but see “Watch out for,” because EU-only is not the default.

Pricing and credit. Both are pay-as-you-go per message/minute. 46elks bills from a prepaid balance with no startup fees or monthly minimum (€0.047 per SMS part to Sweden). Twilio adds volume and committed-use discounts ($0.0079 per US SMS segment, plus carrier fees) and gives new accounts a $15 trial credit; 46elks has no free developer credit.

Tooling. 46elks ships no official SDKs (REST only) and rates “med” on docs quality. Twilio ships SDKs for Node.js, Python, PHP, Java, C#, Ruby, and Go, exposes REST and SMTP, and rates “high” on docs. Both offer a sandbox. For the target’s own walkthrough, see how to start with Twilio, or view the side-by-side 46elks vs Twilio comparison.

How the request format differs

46elks quickstart:

curl https://api.46elks.com/a1/sms \
    -u <api_username>:<api_password> \
    -d from=CurlyElk \
    -d to=+46700000000 \
    -d message="Bring a sweater, it's cold outside"

Twilio quickstart:

curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json' \
  --data-urlencode 'To=+15551234567' \
  --data-urlencode 'From=+15005550006' \
  --data-urlencode 'Body=Hello from Twilio' \
  -u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

Endpoint. 46elks posts to one fixed path, https://api.46elks.com/a1/sms. Twilio posts to a per-account URL, https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json, so you build the URL with your Account SID baked into the path.

Authentication. Both use HTTP Basic auth. 46elks uses the API username and password from the dashboard. Twilio uses your Account SID as the username and your Auth Token as the password — so the same SID appears both in the URL path and as the Basic-auth username.

Payload mapping. The three fields map directly but rename and capitalize: recipient toTo, sender fromFrom, and body messageBody. Twilio’s example is an explicit POST with --data-urlencode, where 46elks uses -d.

Migration checklist

  1. Create a Twilio account and copy your Account SID and Auth Token; the $15 trial credit lets you test before paying.
  2. Provision or port a sending number (or alphanumeric sender ID) on Twilio.
  3. Map the request fields: toTo, fromFrom, messageBody, and rebuild the endpoint URL with your Account SID.
  4. Swap the credentials: username becomes the Account SID, password becomes the Auth Token.
  5. Re-point your sending code — optionally adopt an official Twilio SDK instead of raw curl.
  6. Re-test against Twilio’s sandbox before sending live traffic.
  7. Update your delivery/status webhooks and callbacks to Twilio’s format.
  8. Run both providers in parallel and compare delivery and reporting.
  9. Cut over once results match, then decommission 46elks.

Watch out for

  • Country coverage. The dataset lists 46elks at 215 countries versus Twilio at 180. Confirm your key destinations are covered before cutover.
  • EU residency is a choice, not a default. 46elks stores data on EU servers only; on Twilio you must actively select an EU region, otherwise data may sit on US servers.
  • Carrier fees. Twilio’s quoted $0.0079 US SMS segment price is “plus carrier fees” — factor those pass-through charges into your cost comparison against 46elks’ prepaid rate.