MessageBird (Legacy REST)

The classic MessageBird REST API. Rebranded to Bird in 2023 but the legacy API is still fully supported. Excellent for Europe, UK, India, and Southeast Asia.

Best regions
🇬🇧 🇪🇺 🇮🇳 🇮🇩 🇹🇭 — EU & APAC
Access key format
live_... / test_...
Test sandbox
Yes (free)
Alphanumeric senders
Yes (not US/CA)
Two Bird providers — pick the right one. If your access key starts with live_ or test_, use this Legacy REST provider. If it starts with bk_, use the Bird (Platform API) provider instead. They are different APIs entirely.

Why MessageBird Legacy REST

  • Cheapest routes across Europe, India, and SE Asia from any provider EziLinks supports
  • Reliable, stable API — the same REST endpoint has been running for years without breaking changes
  • Free sandbox with test_... access keys — simulate sends and DLRs without spending money
  • Number Insight lookup for pre-flight validation of recipient numbers
  • WhatsApp Business API also available on the same account (not exposed in EziLinks yet)

When it's not the right choice:

  • For pure AU/NZ sending, Kudosity is cheaper
  • For US/CA, use Twilio
  • If your MessageBird account was created after ~2024 and you have a bk_... access key, you need the Bird Platform API provider instead — the Legacy REST API doesn't accept those keys

Step 1 — Get a MessageBird account

1 Sign up

Go to bird.com (formerly messagebird.com). Sign up with a business email.

2 Complete verification

MessageBird verifies your business identity before enabling paid sending. Test-mode sending works without verification.

3 Add credit

MessageBird is pre-paid. Top up in the dashboard.

Existing MessageBird account? If you had an account before Bird's platform rebuild in 2024, your live_... access key still works with this Legacy REST provider. Newer accounts sometimes only get bk_... keys; if that's the case, use the Bird Platform API guide instead.

Step 2 — Get your Access Key

1 Log into the Bird dashboard

dashboard.bird.com

2 Navigate to Developers → API access

You'll see a list of access keys. If none exists, click Create key.

3 Copy the appropriate key

  • live_... — production, real SMS, real charges
  • test_... — sandbox, simulated sends and DLRs, no charges. Great for integration testing.

The key is only shown once. Copy to a password manager.

Step 3 — Connect to EziLinks

1 Open SMS > Providers

Click + Connect provider and choose MessageBird (Legacy REST) from the Provider dropdown — not "Bird (Platform API)".

2 Paste the Access Key

Only one credential field: Access Key. Must start with live_ or test_. If you have a bk_... key, use the Bird Platform API provider instead. Optionally add a Label like "MessageBird test" so you can tell live vs sandbox apart if you connect both.

3 Set default sender ID

MessageBird requires a sender on every send — blank isn't allowed. Set an alphanumeric brand ID or a purchased number.

4 Enter rate (optional)

Set the Cost per SMS part and pick a currency from the dropdown (AUD / USD / GBP / NZD / EUR). MessageBird's rate varies by destination — roughly 0.06 EUR for AU, 0.05 EUR for UK. Used only for pre-send cost estimates on the composer — leave blank if you don't want estimates.

5 Click Connect, then Send test SMS

EziLinks saves your encrypted key. The card shows Not verified until you click Send test SMS and it lands. Note: with a test_ sandbox key the test send returns success but no real SMS arrives — that's expected sandbox behaviour.

Sender ID options

Alphanumeric brand ID

Example: EZILINKS. Up to 11 characters, letters and numbers, no spaces.

  • Works in AU, UK, EU, NZ, IN, SG and dozens of other markets
  • UK: pre-registration required as of 2024 — the UK's SMS Sender Protection Registry is enforced. Register in the Bird Dashboard under Numbers → Sender IDs
  • Similar per-country registration exists in Ireland, Belgium, Poland, France, and parts of APAC
  • NOT valid for US or Canada
  • No inbound replies

Virtual number

Example: +31612345678. Rented from Bird Dashboard.

  • Bird has one of the largest number inventories globally — especially strong for European numbers
  • Required for US and Canada, and for provider-level inbound replies (EziLinks doesn't consume inbound yet, so STOP replies still need to be handled manually via the Bird dashboard + SMS → Contacts opt-out)
  • Monthly rental varies (~€1–5)

Delivery report webhook

EziLinks includes a reportUrl parameter on every send that MessageBird calls back with delivery updates. The URL is https://app.ezilinks.com/api/sms/webhook/dlr/messagebird — automatically configured, nothing to set up in the Bird dashboard.

MessageBird uses GET requests for DLRs (unusual — most providers POST). EziLinks handles both to be safe.

Sending a test message

With a live_ key (real send)

  1. On the Providers tab, click Send test SMS on the MessageBird card
  2. Pick the country and enter your own mobile in local format, or type it with a leading +. The line under the box shows the international number that will actually be sent.
  3. Click Send test
  4. Message arrives within seconds. History goes queuedsentdelivered

With a test_ key (sandbox)

  1. Same flow as above
  2. No actual SMS arrives, no cost is incurred
  3. MessageBird returns realistic response bodies
  4. No DLR fires from a test send — history stays at queued. This is expected sandbox behaviour.
Free integration testing: if you want to validate the full EziLinks send flow (composer, provider selection, tracking token embedding, history rows) without real cost, use a test_ access key. Swap to live_ for production.

Common errors and fixes

Error What it means How to fix
MB_2: incorrect access_key Access key is invalid, expired, or wrong type Confirm the key is live_ or test_, not bk_. bk_ keys belong on the Bird Platform API provider. Copy fresh from Bird Dashboard → Developers → API access.
MB_9: no (correct) recipients found Number rejected as invalid Ensure E.164 format. Some countries require specific number prefixes.
MB_25: not enough balance Account credit is $0 Top up in Bird Dashboard → Billing.
MB_98: originator not allowed Sender ID isn't registered for the destination country Register the alphanumeric or number for the destination country in Bird Dashboard → Numbers → Sender IDs.
MB_101: originator too long Alphanumeric exceeds 11 characters Shorten the sender ID.
Message stays queued DLR not arriving If using test_ key — expected (sandbox). If using live_ key — check Bird Dashboard → SMS logs to confirm the message left MessageBird, then check EziLinks webhook is publicly reachable.

Pricing notes

MessageBird publishes wholesale rates in the Bird dashboard. Rough guide:

  • UK: ~€0.03–€0.05 per part — typically cheapest of any provider EziLinks supports
  • Germany, France, Netherlands: ~€0.05–€0.08 per part
  • India: ~€0.005 per part (with DLT registration)
  • Indonesia, Thailand: ~€0.02–€0.05 per part
  • Australia: ~€0.04–€0.06 — more expensive than Kudosity
  • US: ~$0.03 USD — more expensive than Twilio

Volume commit deals available for 100k+ messages / month.

Migrating from Legacy REST to Bird Platform API

Bird has been slowly encouraging accounts to move from the legacy live_/test_ keys to the new bk_ platform keys. If you plan to migrate:

  1. Generate a bk_... key in the Bird dashboard (Developers → Access keys → new key)
  2. Connect it as a separate provider in EziLinks (Bird Platform API)
  3. Test one send through it
  4. Once verified, mark Bird Platform API as your default and either delete the MessageBird Legacy REST provider, or keep both connected for redundancy

The old live_... keys will continue to work for the foreseeable future — Bird has not announced a sunset date. There's no urgency to migrate.

© 2026 EziLinks. All rights reserved.