Migration guide

How to migrate from Clickatell to Infobip

A developer-focused guide to moving an SMS/messaging integration from Clickatell to Infobip, covering channels, compliance, request-format changes, and a step-by-step checklist.

Clickatell is a cloud messaging and chat-commerce platform offering SMS, WhatsApp, RCS and Apple Messages for Business APIs. Infobip is a global omnichannel communications platform spanning SMS, WhatsApp, voice, email and more. On the messaging.dev Score, Clickatell rates 61/100 and Infobip 96/100; this guide walks through the concrete changes you will hit when moving an integration between them.

What changes at a glance

Both providers support SMS, RCS, WhatsApp and Apple Messages for Business, so no channel you use today disappears in this direction. Moving to Infobip adds six channels Clickatell does not offer: MMS, Viber, Facebook Messenger, Telegram, voice and email.

On compliance, both hold GDPR, ISO 27001 and SOC 2; Infobip additionally holds HIPAA. Data residency widens too: Clickatell runs EU servers only with no region choice, while Infobip offers both EU and US servers, an explicit data-residency choice, and further regions (APAC, Latin America, Middle East, Africa).

Tooling parity is close. Both ship SDKs for Python, PHP, Java, Node.js and C#; Infobip adds Go. Both provide a sandbox and both have high-quality docs. Infobip also includes free developer credit on signup, which Clickatell does not.

Pricing is where you may lose transparency. Clickatell publishes a self-service prepaid pay-as-you-go model (for example, $0.008 per SMS to the USA). Infobip is primarily quote/contract-based with some pay-as-you-go options and no publicly listed starting price, so plan for a sales conversation to confirm rates.

How the request format differs

Clickatell’s quickstart send:

curl -X POST https://platform.clickatell.com/v1/message \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"channel":"sms","to":"27123456789","content":"Hello World"}]}'

Infobip’s quickstart send:

curl -X POST 'https://xxxxxx.api.infobip.com/sms/2/text/advanced' \
  -H 'Authorization: App YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{"messages":[{"from":"InfoSMS","destinations":[{"to":"15551234567"}],"text":"Hello from Infobip"}]}'

Three things change:

  • Endpoint. Clickatell posts to a fixed https://platform.clickatell.com/v1/message. Infobip posts to https://{base_url}.api.infobip.com/sms/2/text/advanced, where {base_url} is an account-specific subdomain from your dashboard — you cannot hardcode a shared host.
  • Authentication. Clickatell passes the raw key with no prefix (Authorization: YOUR_API_KEY). Infobip expects the App scheme (Authorization: App YOUR_API_KEY).
  • Payload. Both wrap sends in a messages array, but the fields differ. The recipient moves from a flat to string on each message to a destinations array of {"to": ...} objects. The message body renames from content to text. Clickatell selects the channel with an explicit "channel":"sms" field; Infobip’s SMS endpoint is path-based, and the sender is set with a from field.

Migration checklist

  1. Create an Infobip account (self-onboarding is available) and generate an API key. Note your account-specific base URL.
  2. Map the request fields: todestinations[].to, contenttext, add from, and drop the channel field.
  3. Swap the auth header to Authorization: App and re-point your sending code to the Infobip base URL and endpoint path.
  4. Re-test in Infobip’s sandbox before sending any live traffic.
  5. Re-create delivery/status webhooks on Infobip and point your callbacks at the correct endpoints.
  6. Run both providers in parallel and compare delivery results.
  7. Cut over once Infobip matches your baseline, then retire your Clickatell keys.

Watch out for

  • Pricing transparency. Infobip has no publicly listed SMS price and is primarily quote/contract-based, versus Clickatell’s published self-service rate — budget time for a sales quote.
  • Account-specific base URL. The {base_url} subdomain is unique to your account; using a placeholder host will fail.

No certifications, channels, or residency options are lost moving in this direction — on those axes Infobip is a superset of Clickatell.

For setup details, see how to start with Infobip, and the full Clickatell vs Infobip comparison for a side-by-side breakdown.