Bird vs Bandwidth

Bird vs Bandwidth per SMS

Bird è la piattaforma SMS che un agente AI può gestire end-to-end: invio del messaggio, conferma della consegna, registrazione del brand 10DLC. Ognuna di queste è uno strumento sul server MCP hosted di Bird, pronto nel momento in cui il vostro agente si connette. Bandwidth divide il canale in due: l'invio risiede su un host e la registrazione 10DLC su un altro, ciascuno con il proprio percorso account. Qui invio, registrazione ed eventi di consegna sono sotto un unico host e un'unica chiave.

I numeri

Bird

Copertura SMS

190+ countries

Rotte operatore

240 connessioni dirette

Velocità di consegna

95% in meno di 2,5 secondi

Dove Bandwidth eccelle.
Dove Bird si distingue.

Dove Bandwidth eccelle

They are the carrier. Bandwidth is a licensed US carrier (CLEC) that owns and operates its own 48-state network, with emergency services beside it, which is why their own hero names Voice, Messaging and Emergency together.

Librerie helper in più linguaggi. SDK ufficiali per Java, Node.js, Python, PHP, C# e Ruby. Un team Java o Ruby lavora invece con l'API HTTP di Bird.

Dove Bird si distingue

Un agente gestisce l'account direttamente. Il server MCP hosted su mcp.bird.com fornisce all'agente strumenti per inviare SMS, leggere lo stato di consegna e registrare brand 10DLC nel vostro workspace reale.

Un retry che non può inviare due volte. Un header Idempotency-Key sulla richiesta di invio rende sicuro un eventuale reinvio; la specifica OpenAPI di messaggistica di Bandwidth non contiene alcun campo o header di idempotenza.

L'intent del messaggio è un campo nativo. Ogni invio di testo libero include una categoria: transazionale, marketing, autenticazione o servizio, per la quale l'invio di Bandwidth non ha alcun equivalente.

La matrice

Funzionalità per funzionalità.

Bandwidth offre librerie helper in più linguaggi. Bird vince con un unico host per l'intero canale, retry sicuri, intent del messaggio e un'interfaccia agente raggiungibile da qualsiasi client MCP. I due si equivalgono sulla struttura dell'invio, la registrazione 10DLC e gli eventi di consegna. Entrambe le analisi sono aggiornate a oggi.

CapabilityBirdBandwidthWho wins?
Richiesta di invioJSON a /v1/sms/messages sul vostro host regionale, con una chiave API bearer.JSON a un endpoint messages sotto il percorso del vostro account sul loro host di messaggistica, con from, to e text, autenticato via HTTP Basic e con un applicationId.
Retry sicuriUn header Idempotency-Key sulla richiesta di invio rende sicuro un retry.La specifica OpenAPI di messaggistica, versione 4.3.0, non contiene alcun campo o header di idempotenza, quindi un retry dopo un timeout può causare un doppio invio.
Intent del messaggioOgni invio di testo libero include una categoria: transazionale, marketing, autenticazione o servizio.tag contiene un'etichetta libera e priority imposta la priorità di consegna, ma nessuno dei due dichiara il motivo dell'invio del messaggio.
Server MCP hostedPortate il vostro agente. mcp.bird.com è hosted, quindi Claude Code, Cursor, ChatGPT o il vostro runtime si autenticano una volta e gestiscono il workspace con gli stessi strumenti.Bandwidth pubblica un server MCP e i suoi strumenti gestiscono effettivamente l'account. È un pacchetto da scaricare ed eseguire localmente, quindi il client deve avviarlo come processo locale e le credenziali di produzione vengono lette da una configurazione locale.
Registrazione A2P 10DLC/v1/sms/10dlc/* registra brand e campagne tramite API.La loro API di gestione campagne registra brand e campagne, con verifica del brand e importazione delle campagne, in qualità di partner diretto di Campaign Registry.
Un unico host per l'intero canaleInvio, registrazione 10DLC ed eventi di consegna condividono un URL base e una chiave.L'invio è sul loro host di messaggistica e la registrazione sul loro host API principale, ciascuno con il proprio percorso account, quindi un client gestisce due root.
Eventi di consegnaUn webhook del workspace sottoscritto ai tipi di evento SMS che specifichi, come sms.sent, sms.delivered e sms.failed, consegnati come JSON firmato secondo lo standard Standard Webhooks.I callback sono configurati sull'Application a cui il messaggio fa riferimento, anziché per singolo invio.
Linguaggi SDKSDK tipizzati per TypeScript, Python, Go e PHP, più client Realtime per Swift, Kotlin e il browser.SDK ufficiali per Java, Node.js, Python, PHP, C# e Ruby.

Lo stesso invio

La chiamata di invio ha una struttura simile.

Invio di un SMS. Entrambi accettano JSON con from, to e text, ma Bandwidth si autentica tramite HTTP Basic e l'invio specifica un applicationId che contiene la configurazione dei callback. Il loro helper lancia eccezioni, quindi il percorso standard richiede un try/catch. Bird restituisce un risultato tipizzato che puoi destrutturare, e category è il campo senza equivalente in Bandwidth: ogni invio di testo libero su Bird dichiara il proprio intento.

Bandwidth

send.ts
import { Configuration, MessagesApi } from "bandwidth-sdk";

const config = new Configuration({
  clientId:     process.env.BW_CLIENT_ID!,
  clientSecret: process.env.BW_CLIENT_SECRET!,
});
const messagesApi = new MessagesApi(config);

try {
  const response = await messagesApi.createMessage(process.env.BW_ACCOUNT_ID!, {
    applicationId: process.env.BW_APPLICATION_ID!,
    from: "+15557654321",
    to:   ["+15551234567"],
    text: "Your table is ready.",
  });
  console.log(response.data);
} catch (err) {
  console.error(err);
}

Bird

send.ts
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.sms
  .send({
    from:     "+15557654321",
    to:       "+15551234567",
    text:     "Your table is ready.",
    category: "transactional",
  })
  .safe();

if (error) console.error(error.message);
else console.log(data.id, data.status);

Quanto costa un SMS per Paese?

Ogni Paese di destinazione ha una tariffa pubblicata nella pagina prezzi SMS, e le commissioni del carrier e 10DLC sono dettagliate separatamente in commissioni carrier SMS anziché incluse nella tariffa. Puoi calcolare il costo di una campagna prima di parlare con chiunque.

Costo della migrazione

Basso.

I nomi dei campi restano gli stessi. Bandwidth li chiama già from, to e text, e l'Application che gestisce i tuoi callback diventa un webhook del workspace sottoscritto a sms.sent, sms.delivered e sms.failed. Due cose cambiano forma: una bearer key sostituisce HTTP Basic e un unico host ne sostituisce due.

Due elementi riguardano la pianificazione, non lo sviluppo. Il brand e la campagna 10DLC sono registrati presso The Campaign Registry tramite Bandwidth, quindi la stessa registrazione viene inoltrata nuovamente tramite Bird; e i numeri che possiedi su Bandwidth vengono portati secondo i tempi del supporto. Avvia entrambi i processi in anticipo e procedono in parallelo alla modifica del codice.

Domande che le persone fanno davvero

Bird è una buona alternativa a Bandwidth per gli SMS?
For most application-to-person SMS, yes: Bird sends to 190+ countries over 240 direct-to-carrier connections, registers 10DLC brands and campaigns over the same API and key as the send, and makes retries safe with an Idempotency-Key header that their messaging specification does not contain. Bandwidth remains the better pick where you want a helper library in a language Bird does not ship, or where you need a licensed carrier that also runs emergency services.
Quanto è diversa la chiamata di invio?
I campi si trasferiscono, la struttura no. Entrambi accettano JSON, e from, to e text si chiamano così su entrambi i lati, ma Bandwidth si autentica tramite HTTP Basic e separa l'invio dalla registrazione su due host diversi. Le due vere aggiunte lato Bird sono category, che dichiara se un messaggio è transazionale, marketing, autenticazione o servizio, e l'header Idempotency-Key che rende sicuro un retry.
Cosa può effettivamente fare l'agente nel mio account?
Esattamente ciò che gli deleghi, e nulla di più. L'accesso tramite OAuth nel browser apre una schermata di consenso Bird in cui scegli i permessi del workspace o dell'organizzazione e selezioni quali delegare. Il grant è limitato all'intersezione tra ciò che il client ha richiesto, ciò che hai approvato e ciò che effettivamente possiedi, e gli scope org:owner e platform-admin non sono mai delegabili. Il grant è elencato nelle App connesse del tuo profilo, e revocarlo da lì interrompe immediatamente l'accesso del client.
Bird e Bandwidth supportano entrambi la registrazione A2P 10DLC tramite API?
Entrambi sì, ed è qui che i due differiscono nella struttura piuttosto che nelle funzionalità. Bandwidth registra brand e campagne tramite la sua API di gestione campagne sull'host API principale, mentre l'invio risiede su un host di messaggistica separato. Bird colloca /v1/sms/10dlc/* accanto a /v1/sms/messages sotto un unico URL base e una sola chiave. In entrambi i casi la registrazione passa per The Campaign Registry e non è trasferibile tra provider.
Quanto costa un SMS Bird per Paese?
Ogni Paese di destinazione ha una tariffa in uscita pubblicata sulla pagina prezzi SMS di Bird, con le commissioni del carrier e 10DLC dettagliate separatamente anziché incluse, così puoi calcolare il costo di una campagna da solo senza una chiamata commerciale.

Inizia con un canale.
Aggiungi gli altri quando sei pronto.

Una chiave API di test è subito tua. La produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

Usi Claude Code, Cursor o Codex? Copia un prompt di configurazione e il tuo agente installerà la CLI e le skill di Bird per te. Scegli il tuo:

Cursor