How to migrate from TextBolt to Bird
A developer-focused guide to moving SMS sending from TextBolt's email-to-SMS gateway to Bird's REST API, covering channel, compliance, pricing, and request-format differences.
TextBolt is an email-to-SMS gateway: US and Canadian businesses send text messages by emailing a phone-number address over SMTP, with no REST API. Bird (formerly MessageBird) is a communications infrastructure platform offering unified REST APIs for SMS, WhatsApp, voice, and email across roughly 150 countries. On the messaging.dev Score, TextBolt rates 17/100 and Bird 76/100 — this guide covers what actually changes when you re-point your sending code.
What you gain and what you lose
Channels. Both platforms send SMS. Moving to Bird adds WhatsApp, voice, and email; you lose no channel, because SMS is the only channel TextBolt supports. Neither provider offers MMS, RCS, Viber, Facebook Messenger, Telegram, or Apple Messages for Business, so those stay off the table.
Compliance and residency. TextBolt lists no certifications and runs US servers only, with no region choice. Bird is GDPR, ISO 27001, SOC 2, and HIPAA aligned and offers both US and EU data residency with a region choice — a clear gain on every dimension.
Coverage. TextBolt reaches 2 countries (US and Canada); Bird publishes per-country rates for about 150.
Pricing and credit. TextBolt bills monthly subscription plans ($29 / $49 / $99 plus custom Enterprise), each bundling an SMS-segment allowance with per-segment overage ($0.030–$0.058 per segment). Bird is usage-based with no platform or seat fees ($0.0073 per message to US numbers, carrier fees extra) and includes a free email tier of 1,000 messages/month — note that free tier is email, not SMS.
Tooling. TextBolt ships no SDKs, has no sandbox, and its docs are rated low. Bird ships TypeScript, Python, and Go SDKs, offers a sandbox, and its docs are rated high.
How the request format differs
TextBolt (SMTP):
curl --ssl-reqd --url 'smtps://smtp.gmail.com:465' \
--user '[email protected]:GMAIL_APP_PASSWORD' \
--mail-from '[email protected]' \
--mail-rcpt '[email protected]' \
-T <(printf 'Subject: \r\n\r\nYour appointment is confirmed for tomorrow at 3 PM.\r\n')
Bird (REST):
curl -X POST "https://us1.platform.bird.com/v1/sms/messages" \
-H "Authorization: Bearer bk_us1_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+14155550100",
"from": "Bird",
"text": "Your Bird verification code is 481920. It expires in 10 minutes.",
"category": "authentication"
}'
Endpoint. You move from an SMTP relay to {number}@sendemailtotext.com to an HTTPS POST at https://us1.platform.bird.com/v1/sms/messages (or the eu1 host).
Authentication. TextBolt has no API keys or tokens — you authenticate implicitly by sending from an email address registered and verified with your account (business / A2P 10DLC verification required). Bird uses a region-prefixed API key (bk_us1_... / bk_eu1_...) passed as a Bearer token in the Authorization header; the prefix encodes the regional host.
Payload mapping. The recipient moves from the SMTP --mail-rcpt address (E.164 without +, at @sendemailtotext.com) to the JSON to field (E.164 with +). The sender moves from --mail-from (your verified email) to the from field (a sender ID or number). The message body moves from the email body after the Subject: header to the text field. Bird also adds a category field (for example, authentication).
Migration checklist
- Create a Bird account (self-onboarding) and generate a region-prefixed API key — choose
us1oreu1for your data-residency region. - Map your fields: recipient →
to, sender →from, body →text; addcategory. - Re-point sending code from the SMTP relay to an HTTPS POST, or adopt an official SDK (TypeScript, Python, or Go).
- Re-test in Bird’s sandbox before sending live traffic.
- Update delivery callbacks — TextBolt tracked status via Twilio callbacks; wire Bird’s delivery events into your webhook handler.
- Run both paths in parallel and reconcile delivery.
- Cut over and decommission the SMTP path.
Watch out for
- The free tier is email-only. Bird’s 1,000/month free allowance covers email; SMS is billed per message from the first send, with carrier fees extra — there is no bundled SMS allowance like TextBolt’s plans.
- Pricing flips from subscription to pure usage. Budget by volume rather than a fixed monthly plan.
- Region is encoded in the key. The base-URL host (
us1/eu1) must match your key prefix; pick the region deliberately, since it also sets data residency. - Sender identity changes. You move from a verified business email to a sender ID or number in
from; there is no email-based sender verification to lean on.
New to the target’s API? See how to start with Bird and the full Bird vs TextBolt comparison.