How to migrate from GatewayAPI to Twilio
A developer-focused guide to moving SMS and messaging traffic from GatewayAPI to Twilio, covering channel, compliance, and request-format differences.
GatewayAPI is a Danish SMS gateway and messaging platform, built by ONLINECITY.IO, offering SMS, RCS and email APIs with EU data hosting and pay-as-you-go pricing. Twilio is a US-based customer-engagement platform whose communications APIs span SMS, MMS, RCS, WhatsApp, voice and email. On the messaging.dev Score, GatewayAPI rates 54/100 and Twilio 88/100; this guide covers what actually changes when you move your sending code from one to the other.
What you gain and what you lose
Channels. Moving to Twilio adds MMS, WhatsApp and Voice. You lose no channels: SMS, RCS and email exist on both platforms. Neither provider offers Viber, Facebook Messenger, Telegram or Apple Messages for Business, so nothing changes there.
Compliance. GatewayAPI carries GDPR alignment only. Twilio adds ISO 27001, SOC 2 and HIPAA on top of GDPR, so you gain certifications without losing any.
Data residency. Both are GDPR-aligned, offer EU hosting and let you choose a region. GatewayAPI is EU-only (no US servers); Twilio also offers US and Australia. EU residency stays available, so migrating does not force your data out of the EU.
Pricing and credit. Both are pay-as-you-go with no forced subscription. GatewayAPI uses prepaid credit with no monthly fees, from €0.0061 per SMS. Twilio bills per message/minute with volume and committed-use discounts, from $0.0079 per US SMS segment plus carrier fees. For trials, GatewayAPI grants test credits on request, while Twilio gives a defined $15 trial credit.
Tooling. GatewayAPI lists no official SDKs, has no sandbox, and its docs are rated medium. Twilio ships seven SDKs (Node.js, Python, PHP, Java, C#, Ruby, Go), offers a sandbox/test environment, and its docs are rated high. See how to start with Twilio for the full onboarding, or the GatewayAPI vs Twilio comparison for the side-by-side.
How the request format differs
GatewayAPI:
curl https://gatewayapi.com/rest/mtsms \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sender": "ExampleSMS", "message": "Hello World", "recipients": [{"msisdn": 4512345678}]}'
Twilio:
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
Three things change:
- Endpoint. You move from
https://gatewayapi.com/rest/mtsmstohttps://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json, which embeds your Account SID in the path. (EU-hosted GatewayAPI accounts usegatewayapi.eu.) - Authentication. GatewayAPI sends the API token in an
Authorization: Tokenheader (a token query parameter, legacy HTTP Basic and OAuth 1.0a are also supported). Twilio uses HTTP Basic auth with your Account SID as username and Auth Token as password — the-u SID:tokenflag. - Payload. GatewayAPI posts a JSON body; Twilio posts URL-encoded form fields. The fields map as follows: recipient
recipients: [{"msisdn": 4512345678}](numeric, no+) becomesTo=+15551234567(a single E.164 string); sendersender: "ExampleSMS"(alphanumeric ID) becomesFrom=+15005550006(typically a provisioned number); and the message bodymessagebecomesBody.
Migration checklist
- Create a Twilio account, generate your Account SID and Auth Token, claim the $15 trial credit, and provision a sender number.
- Map the request fields:
recipients[].msisdn→To,sender→From,message→Body, and switch the JSON body to form-encoded params. - Re-point your sending code to the new endpoint and swap the auth header for HTTP Basic (
-u SID:token); optionally adopt an official SDK. - Re-test against Twilio’s sandbox before sending live traffic.
- Re-point delivery/status webhooks to your new callback handler and confirm the payloads.
- Run both integrations in parallel and compare delivery results.
- Cut over once Twilio matches your baseline.
Watch out for
- Country coverage. Twilio lists 180 countries versus GatewayAPI’s 200 — verify your niche destinations before cutting over.
- Carrier fees and currency. Twilio’s per-segment price is quoted in USD and comes “plus carrier fees,” unlike GatewayAPI’s EUR pay-as-you-go with no monthly fees.
- Protocol support. GatewayAPI exposes SMPP and Email-to-SMS alongside REST; Twilio’s listed API types are REST and SMTP only, so any SMPP binding must move to REST.
- SLA. Twilio’s published 99.95% uptime SLA applies to its Enterprise Edition; GatewayAPI publishes no SLA at all.