Migration guide

How to migrate from SMSAPI to Infobip

A developer's guide to migrating from SMSAPI to Infobip: channel and compliance differences, request-format mapping, and a step-by-step cutover checklist.

SMSAPI is a Polish business-messaging platform (a brand of LINK Mobility Poland) that sends SMS, MMS, RCS, WhatsApp and voice through a REST API. Infobip is a global omnichannel communications platform covering SMS, WhatsApp, voice, email and several chat apps. On the messaging.dev Score, SMSAPI rates 44/100 and Infobip 96/100; this guide maps the concrete API and data differences so you can move without surprises.

What you gain and what you lose

Both providers cover SMS, MMS, RCS, WhatsApp and voice, so no channel you use today disappears. Moving to Infobip adds five channels SMSAPI does not offer: Viber, Facebook Messenger, Telegram, Apple Messages for Business and email.

Compliance widens too. Both hold GDPR and ISO 27001; Infobip additionally carries SOC 2 and HIPAA. On data residency, SMSAPI runs EU-only servers with no region choice, while Infobip offers both EU and US hosting plus a data-residency choice and coverage across APAC, Latin America, the Middle East and Africa.

The main trade-off runs the other way, on pricing transparency. SMSAPI uses pay-as-you-go prepaid credit with a published starting price (from ~€0.04/SMS, minimum top-up ~€30). Infobip is primarily quote/contract-based — you contact sales, and the SMS starting price is not publicly listed, though some pay-as-you-go options exist. Both offer self-onboarding, a free developer credit (Infobip’s amount is not published), a sandbox and high-quality docs. SDK coverage overlaps on PHP, Python, Java, C# and Go; SMSAPI also ships JavaScript and Bash SDKs, whereas Infobip ships a Node.js SDK. Infobip additionally exposes SMPP alongside REST and SMTP.

How the request format differs

Source (SMSAPI):

curl -X POST -H "Authorization: Bearer YOUR_API_TOKEN" "https://api.smsapi.com/sms.do?to=48500000000&from=SenderName&message=Hello+world&format=json"

Target (Infobip):

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. SMSAPI posts to a fixed host, https://api.smsapi.com/sms.do. Infobip posts to an account-specific base URL, https://{base_url}.api.infobip.com/sms/2/text/advanced — replace {base_url} with the subdomain shown in your dashboard.
  • Authentication. SMSAPI uses an OAuth 2.0 token as Authorization: Bearer <token>. Infobip uses an API key as Authorization: App {api_key} — the scheme keyword is App, not Bearer.
  • Payload. SMSAPI carries the message in URL query parameters; Infobip carries it in a JSON body (Content-Type: application/json). The fields map like this:
Field SMSAPI Infobip
Recipient to=48500000000 destinations: [{ "to": "15551234567" }]
Sender from=SenderName from: "InfoSMS"
Body message=Hello+world text: "Hello from Infobip"

Note that Infobip wraps everything in a messages array, so one request can carry multiple messages and destinations rather than the single flat call SMSAPI expects.

Migration checklist

  1. Create an Infobip account (self-onboarding) and generate an API key; note your personal base URL and the free trial credit.
  2. Map your outbound fields using the table above (recipient, sender, body).
  3. Re-point your sending code: swap the fixed host for your base URL, change Bearer to App, and move query parameters into the JSON body.
  4. Re-test against Infobip’s sandbox before sending live traffic.
  5. Update delivery callbacks/webhooks to consume Infobip’s delivery-report format instead of SMSAPI’s.
  6. Run both providers in parallel, comparing delivery and cost on real traffic.
  7. Cut over once parity holds, then retire the SMSAPI path.

For a from-scratch setup, see how to start with Infobip; for a full side-by-side, see the Infobip vs SMSAPI comparison.

Watch out for

  • Pricing moves behind a quote. You lose SMSAPI’s published ~€0.04/SMS pay-as-you-go rate; Infobip is primarily contract-based and does not list an SMS starting price, so budget a sales conversation.
  • Account-specific host. A hard-coded api.smsapi.com will not work — every call must use your own {base_url} subdomain.
  • Auth keyword. Requests are rejected unless the scheme is App; leaving Bearer in place will fail against Infobip.
  • SDK swap. Infobip ships no Bash SDK; if you relied on SMSAPI’s Bash or JavaScript SDK, move to the Node.js SDK or call the REST API directly.

In this direction no certifications, channels or EU data-residency options are lost — the gotchas are integration details and pricing model, not capability gaps.