Information Density: Bird โ€“ Signal Evidence & AI Readability

Bird

(https://sparkpost.com) ๐Ÿ“ธ Data Snapshot: June 19, 2026
Information Density โ€” The Lens

Classify each sentence as substantive or hollow. Grounding markers โ€” numbers, currencies, dates, technical units, named entities โ€” outweigh marketing adjectives. When fluff sits right next to hard evidence, the fluff is forgiven.

Info Density Power-words vs. Substance ratio.
23 Impact Weight: 30 / 100
77% Reputation

Information density is exceptionally high for a SaaS product. Headings like ‘Same shape, every stack’ and ‘IETF RateLimit headers’ target a technical audience with specific nouns. The body text provides functional code snippets for Node.js using the BirdClient SDK, and explicitly mentions technical standards like HMAC-SHA256 and Cursor-based pagination, which significantly reduces the fluff-to-substance ratio.

Information Density is read straight from the body copy: how much of the text carries grounded, checkable substance versus hollow filler. Below is the clean text the engine analyzed, then the industry’s known generic-claim patterns to weigh it against.

๐Ÿ“ The Narrative โ€” clean text per page (the substance-vs-filler signal)
HOMEPAGE (https://sparkpost.com) Bird ยท Messaging infrastructure for developers โ€” Bird
[H1] Messaging infrastructure
for developers.
A developer API for email, SMS, voice, and WhatsApp.Running on the network that already carries 40% of the world's commercial messages.Get startedRead docsUsing Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:Claude CodeCopied!CodexCopied!CursorCopied!Trusted every day by teams that build world-class softwareRead more customer stories
[H2] Drop it in.
[H2] Same shape, every stack.
SDKs in every major runtime. REST when you need it and SMTP coming soon. MCP for the agent on your shoulder.Node.jsPythonJava.NETPHPGoRustRubyElixirServerlessRESTSMTPCLIExpressNext.jsNestJSFastifyNuxtHonoBunAstroKoaRemix123456789101112131415161718import express from 'express';
import { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const app = express();
app.use(express.json());
app.post('/welcome', async (req, res) => {
await bird.email.send({
from: 'onboarding@bird.dev',
to: [req.body.email],
subject: 'Welcome to Bird',
html: '<p>You are in.</p>',
});
res.json({ sent: true });
});
Copy Code01 Direct sending IPs / React Email rendering (Soon) / Managed warm-up
[H2] Send Email. HTML and plain text, React Email soon. Delivered on the network the ISPs already trust.
Read Email DocsDirect sending IPs, managed warm-up, ISP-aware routing, SPF/DKIM/DMARC handled. Templates render in HTML and plain text; React Email coming soon.email.tsx200 ยท 1.2simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.email.send({
from: 'onboarding@bird.dev',
subject: 'Hello from Bird',
html: '<p>Your first email is <strong>live</strong>.</p>',
});Your invite is readyWelcome aboard, Ada.You can sign in any time at bird.com/login.Your test API key is on your dashboard, ready to send.Copy codeCopiedCopy as promptCopiedView on GithubPer-ISP delivery breakdownPer-message audit log02 A2P 10DLC / Tier-1 carriers / voice OTP fallbackSMS is being upgraded
[H2] Send SMS. Tier-1 carriers, 190+ countries, with the compliance overhead handled for you.
A2P 10DLC, alpha sender IDs, DLT entity registration โ€” we file what you have to file. Smart routing per destination. Voice OTP fallback when SMS degrades. A 6-digit code lands in under three seconds on the lines that matter.sms.ts200 ยท 0.4simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.sms.send({
from: 'Bird',
to: '+14155550182',
text: 'Your Bird code is 482917.',
});Today at 2:14 PMHey Ada โ€” your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.482917DeliveredNew API soon - Sign up to get notified10DLC application + brand vetting in 48hRoute diversity per destinationVoice OTP fallback (opt-in per account)Segment-accurate pricing in the response03 PSTN + SIP / streaming TTS / declarative flowsVoice is being upgraded
[H2] Use Voice. Programmable voice, on PSTN and SIP, with TTS that doesn't sound robotic.
Outbound and inbound. Declarative flow JSON for IVR. Recording and live transcription. Streaming TTS in thirty languages with sub-250 ms first-byte audio โ€” the model loads before the call connects.voice.ts201 ยท 0.4simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.calls.create({
from: '+14155550100',
to: '+14155550182',
flow: [{ say: 'Your verification code is four, eight, two...' }],
});Bird Verify+1 (415) 555-0182Yourverificationcodeisfoureighttwonineoneseven.New API soon - Sign up to get notifiedStreaming TTS in 30+ languagesDeclarative flows: say, gather, dial, transferRecording + live transcript over WebSocketPSTN + SIP termination, BYOC supported04 Cloud API / template messages / interactive repliesWhatsApp is being upgraded
[H2] Send WhatsApp. Official Cloud API. Templates, interactive buttons, and media โ€” on the channel three billion people already use.
Pre-approved templates, session messaging, and interactive replies. Delivery and read receipts on every message. One number, every conversation โ€” with the same typed API as email and SMS.whatsapp.ts200 ยท 480msimport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.whatsapp.send({
to: '+14155550182',
template: 'order_shipped',
variables: { order: 'RG-29481', carrier: 'UPS' },
});Order RG-29481 shippedHey Ada โ€” your order is on the way. Carrier UPS, ETA Wednesday.Track orderContact support9:42 AM โœ“โœ“New API soon - Sign up to get notifiedOfficial Cloud API accessTemplate + session messagingInteractive buttons and listsDelivery + read receipts
[H2] We are a team of engineers who love building tools for other engineers.
Test mode, real-time webhooks, and an MCP server for the agent on your shoulder.Delivereddelivered@bird.devSend202 Accepted: { "id": "em_01kove1gv2hs72p4rq94zmt" }202 Accepted: { "id": "em_01k50rmp0fe5kbyt8rah4ja" }202 Accepted: { "id": "em_01km947y1ofmto7ilsfudgv" }202 Accepted: { "id": "em_01k3eho76xg32xg32tk7idg" }202 Accepted: { "id": "em_01kkju9g76dgb6psfupkna1" }202 Accepted: { "id": "em_01k1o7qlcfexojyhwvqxw7i" }Test mode. Simulate every state โ€” delivered, bounced, complained, queued โ€” without burning real budget or hitting a real recipient.POST /webhooks/bird15:42:16200sms.failed128ms15:42:13500email.delivered42ms15:42:10200whatsapp.read55ms15:42:07200voice.completed91ms15:42:04200sms.failed128ms15:42:01200email.delivered42msModular webhooks. Real-time event webhooks, per channel. email.delivered, sms.failed, voice.completed, whatsapp.read. HMAC-signed. Replay-protected. Same shape every channel.MCP for agents. Connect Claude or Cursor to Bird's hosted MCP server, or run it locally with the bird CLI. Your agent gets typed tools across every channel โ€” scoped keys, full audit, no leakage.
[H2] Five products.
[H2] One shared layer.
Email, SMS, voice, WhatsApp, and Realtime โ€” all built on the same primitives. Learn the platform once, ship across every channel.Auth. One key format. Scoped to send vs. manage, read vs. write. Prefix + fingerprint so you know which key did what. Multiple keys live at once, so you rotate on your schedule.Idempotency. Idempotency-Key on every POST, PATCH, and DELETE. Replays come back free and flagged. Reuse a key with a different body and you get a 409, not a surprise.Errors. One envelope. One closed type union. Every code ships with a docs link and a message that tells you what to do.Webhooks. Standard Webhooks spec: HMAC-SHA256, per-endpoint secrets, 5-minute replay window โ€” verify with any off-the-shelf library. Rotate secrets with a 24-hour dual-signing overlap. Attempt logs and replay built in.Pagination. Cursor-based. Stable order on every list, enforced by construction โ€” no page drift, ever.Rate limits. IETF RateLimit headers on every response โ€” not just the 429. You can see your budget before you hit the wall, and Retry-After when you do.Suppressions. Bounces, complaints, unsubscribes โ€” managed automatically, queryable and editable via API. Transactional streams can bypass marketing unsubscribes. Idempotent by design.
[H2] Your messages,
actually arriving.
Real-time signals on inbox placement, bounce rates, and send volume โ€” across every channel, every region. No guesswork.*****+++====-----:::::::ยทยทยทยทยทยทยทยทยทยท ยทยท::--=++**
*+++===---:::::ยทยทยทยทยทยทยทยทยท ยทยทยท::--=++*****
===---:::ยทยทยทยทยทยท ยทยทยท:::--=+++*******
--:::ยทยทยทยท ยทยทยทยท::---==++********++
::ยทยทยท ยทยทยทยทยท::---==++*********++=-
ยทยท ยทยทยทยทยท:::---==++*********++=--:
ยท ยทยทยทยทยทยท:::---==+++*********++=-::ยท
ยทยทยทยทยท:::---==+++*********++=-::ยท
ยทยทยทยท:::---==+++********++=--:ยทยท
ยท ยทยทยทยท:::---==++********++=--:ยท
ยทยทยทยท ยทยทยท:::--==++********+==-:ยทยท
::::ยทยทยทยทยทยทยทยท ยทยทยท::--==++*******++=--:ยท
=-----::::::::ยทยทยทยทยทยทยทยทยทยท ยทยท::--=++********+=-::ยท
++++=======---------::::::ยทยทยทยทยท ยทยทยท:--=++*******+=--:
********++++++++++=======----:::ยทยทยท ยทยท:--=++******++=-
***********************+++++===---::ยทยทยท ยทยท:-==+*******+=
******************************+++===--::ยทยท ยท::-=++******+
===++++++++++*********************+++==--:ยทยท ยท:--=+******
::---------=======++++++**************++=--:ยทยท ยทยท:-=++****
ยทยทยทยทยทยทยทยท::::::::-----====++++***********++=--:ยทยท ยทยท:-=++***
ยทยทยทยทยทยทยทยท::::---===+++*********++==-:ยทยท ยทยท:-=++**
ยทยทยทยทยท:::--==+++*********+==-:ยทยท ยทยท:-=++*
ยทยทยทยท:::--==++********++=-::ยท ยทยท:-=++*World's commercial messages, by volume, transit the Bird network.40%-==++*********+==--:ยทยท ยทยท::-==++********++==--:ยทยท
=++*********++=--::ยท ยทยท::-==++*********++=--:ยทยท
+*********++=--::ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท
********++=--::ยทยท ยทยท::--=++*********++=--::ยทยท ยทยท::
******++==-::ยทยท ยทยท::--=++*********++==-::ยทยท ยทยท::--
****++==-::ยทยท ยทยท:--=++*********++==-::ยทยท ยทยท::--=+
**++==-::ยทยท ยทยท:--==+*********++==-::ยทยท ยทยท:--=++*
++==--:ยทยท ยทยท:--==++********++==-::ยทยท ยทยท:--==++**
==--:ยทยท ยทยท:--==++********++==--:ยทยท ยทยท:--==++****
--:ยทยท ยทยท::-==++********++==--:ยทยท ยทยท::-==++******
::ยท ยทยท::-==++*********++=--:ยทยท ยทยท::-==++********
ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท::-==++*********+
ยทยท::--=++*********++=--::ยทยท ยทยท::-==++*********++=
ยทยท::--=++*********++==-::ยทยท ยทยท::--=++*********++=--
ยทยท:--=++*********++==-::ยทยท ยทยท::--=++*********++==-::
ยทยท:--==+*********++==-::ยทยท ยทยท:--=++*********++==-::ยทยท
ยทยท:--==++********++==-::ยทยท ยทยท:--==++********++==-::ยทยท
ยท:--==++********++==--:ยทยท ยทยท:--==++********++==-::ยทยท
:-==++********++==--:ยทยท ยทยท::-==++********++==--:ยทยท
==++*********++=--:ยทยท ยทยท::-==++********++==--:ยทยท
++*********++=--::ยทยท ยทยท::-==++*********++=--:ยทยท ยท
*********++=--::ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท:
*******++==-::ยทยท ยทยท::--=++*********++=--::ยทยท ยทยท::-Countries with direct carrier relationships, route diversity, and local compliance handled.190+*+=:ยทยท ยทยท:=+**+-ยท ยท:-=++++==:ยท ยท-=+****+=-ยท ยท:=***
*+-:ยท ยท:-+***=:ยท ยท:-=++***+=-: ยท:-=+**++=:ยท ยท:=***
*=-ยท ยท:=+**+-: ยทยท-=+******+=:ยท ยท-=++++=-:ยท ยท-=***
+=:ยท ยท-+***=-ยท ยทยท:=+********+-: ยท:-=+++=-: ยท-+***
+-: ยท:=***+=:ยท ยทยท:=+*********+=:ยท :-=====-ยท ยท-+***
+-ยท ยท-+***=-:ยทยทยทยท::-++**********+-ยท ยท:-===-:ยท ยท-+***
=:ยท ยท:=***+=-::::--=+************=: ::----:ยท :=+***
=:ยท :-+***+=----==+*****++++****+-ยท ยท::--:ยท :=+***
=: ยท-+****+====++*****+====+****=: ยท::::ยท ยท:=****
-ยท ยทยทยท :=+***++++++*****+=----=+***+-ยท ยทยทยทยทยท ยท-+****
-ยท ยทยทยทยท ยท-+*****++******+=-::::-=+**+=: ยทยทยท :-+****
-ยท ยทยท::ยทยท ยท:=+***********+=-:ยทยทยทยท:-+***=-ยท ยท:=+****
-ยท ยท::::ยท :-+**********+=-:ยท ยทยท:=+**+-: ยท-=*****
:ยท ยท::::ยทยท ยท-=+********+=-:ยท ยท-=***=:ยท :-+*****
: ยท:--::ยท ยท:=+*******+=-:ยท :-+**+-: ยท:=+****+
: ยท:----:ยท :-=+*****++=:ยท ยท:=***=-ยท ยท-=****++
: ยท:-----:ยท ยท:=++***++=-ยท ยท-+**+-:ยท ยท:-+****++
: ยท:-===-:ยท ยท:-=+++++=-:ยท ยทยท ยท:=***=-:ยท ยท:-=+***++=
: ยท:-===-:ยท ยท-==+++=-:ยท ยทยทยทยทยท ยท-+**+=-:ยทยทยท:-=+****+==
: ยท:-====-: ยท:-====-:ยท ยทยท::::ยท :=***+=-:::--=****+==-
: ยท-=====-:ยท ยท::-----:ยท ยท:----:ยท ยท-+***+=----=+****+=-:
: ยท-==+==-:ยท ยท:----:ยท ยท:-====-:ยท :=***++====+****+=-::
: ยท-==++=-:ยท ยท:::::ยทยท ยท:-=++++=-: ยท-+***+++++*****=-::ยทRunning this infrastructure. The team behind it is the team building the API.10 years
11082 chars
SUB-PAGE (https://sparkpost.com/dashboard/signup/) Bird ยท Messaging infrastructure for developers โ€” Bird
[H1] Messaging infrastructure
for developers.
A developer API for email, SMS, voice, and WhatsApp.Running on the network that already carries 40% of the world's commercial messages.Get startedRead docsUsing Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:Claude CodeCopied!CodexCopied!CursorCopied!Trusted every day by teams that build world-class softwareRead more customer stories
[H2] Drop it in.
[H2] Same shape, every stack.
SDKs in every major runtime. REST when you need it and SMTP coming soon. MCP for the agent on your shoulder.Node.jsPythonJava.NETPHPGoRustRubyElixirServerlessRESTSMTPCLIExpressNext.jsNestJSFastifyNuxtHonoBunAstroKoaRemix123456789101112131415161718import express from 'express';
import { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const app = express();
app.use(express.json());
app.post('/welcome', async (req, res) => {
await bird.email.send({
from: 'onboarding@bird.dev',
to: [req.body.email],
subject: 'Welcome to Bird',
html: '<p>You are in.</p>',
});
res.json({ sent: true });
});
Copy Code01 Direct sending IPs / React Email rendering (Soon) / Managed warm-up
[H2] Send Email. HTML and plain text, React Email soon. Delivered on the network the ISPs already trust.
Read Email DocsDirect sending IPs, managed warm-up, ISP-aware routing, SPF/DKIM/DMARC handled. Templates render in HTML and plain text; React Email coming soon.email.tsx200 ยท 1.2simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.email.send({
from: 'onboarding@bird.dev',
subject: 'Hello from Bird',
html: '<p>Your first email is <strong>live</strong>.</p>',
});Your invite is readyWelcome aboard, Ada.You can sign in any time at bird.com/login.Your test API key is on your dashboard, ready to send.Copy codeCopiedCopy as promptCopiedView on GithubPer-ISP delivery breakdownPer-message audit log02 A2P 10DLC / Tier-1 carriers / voice OTP fallbackSMS is being upgraded
[H2] Send SMS. Tier-1 carriers, 190+ countries, with the compliance overhead handled for you.
A2P 10DLC, alpha sender IDs, DLT entity registration โ€” we file what you have to file. Smart routing per destination. Voice OTP fallback when SMS degrades. A 6-digit code lands in under three seconds on the lines that matter.sms.ts200 ยท 0.4simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.sms.send({
from: 'Bird',
to: '+14155550182',
text: 'Your Bird code is 482917.',
});Today at 2:14 PMHey Ada โ€” your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.482917DeliveredNew API soon - Sign up to get notified10DLC application + brand vetting in 48hRoute diversity per destinationVoice OTP fallback (opt-in per account)Segment-accurate pricing in the response03 PSTN + SIP / streaming TTS / declarative flowsVoice is being upgraded
[H2] Use Voice. Programmable voice, on PSTN and SIP, with TTS that doesn't sound robotic.
Outbound and inbound. Declarative flow JSON for IVR. Recording and live transcription. Streaming TTS in thirty languages with sub-250 ms first-byte audio โ€” the model loads before the call connects.voice.ts201 ยท 0.4simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.calls.create({
from: '+14155550100',
to: '+14155550182',
flow: [{ say: 'Your verification code is four, eight, two...' }],
});Bird Verify+1 (415) 555-0182Yourverificationcodeisfoureighttwonineoneseven.New API soon - Sign up to get notifiedStreaming TTS in 30+ languagesDeclarative flows: say, gather, dial, transferRecording + live transcript over WebSocketPSTN + SIP termination, BYOC supported04 Cloud API / template messages / interactive repliesWhatsApp is being upgraded
[H2] Send WhatsApp. Official Cloud API. Templates, interactive buttons, and media โ€” on the channel three billion people already use.
Pre-approved templates, session messaging, and interactive replies. Delivery and read receipts on every message. One number, every conversation โ€” with the same typed API as email and SMS.whatsapp.ts200 ยท 480msimport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.whatsapp.send({
to: '+14155550182',
template: 'order_shipped',
variables: { order: 'RG-29481', carrier: 'UPS' },
});Order RG-29481 shippedHey Ada โ€” your order is on the way. Carrier UPS, ETA Wednesday.Track orderContact support9:42 AM โœ“โœ“New API soon - Sign up to get notifiedOfficial Cloud API accessTemplate + session messagingInteractive buttons and listsDelivery + read receipts
[H2] We are a team of engineers who love building tools for other engineers.
Test mode, real-time webhooks, and an MCP server for the agent on your shoulder.Delivereddelivered@bird.devSend202 Accepted: { "id": "em_01kove1gv2hs72p4rq94zmt" }202 Accepted: { "id": "em_01k50rmp0fe5kbyt8rah4ja" }202 Accepted: { "id": "em_01km947y1ofmto7ilsfudgv" }202 Accepted: { "id": "em_01k3eho76xg32xg32tk7idg" }202 Accepted: { "id": "em_01kkju9g76dgb6psfupkna1" }202 Accepted: { "id": "em_01k1o7qlcfexojyhwvqxw7i" }Test mode. Simulate every state โ€” delivered, bounced, complained, queued โ€” without burning real budget or hitting a real recipient.POST /webhooks/bird15:42:16200sms.failed128ms15:42:13500email.delivered42ms15:42:10200whatsapp.read55ms15:42:07200voice.completed91ms15:42:04200sms.failed128ms15:42:01200email.delivered42msModular webhooks. Real-time event webhooks, per channel. email.delivered, sms.failed, voice.completed, whatsapp.read. HMAC-signed. Replay-protected. Same shape every channel.MCP for agents. Connect Claude or Cursor to Bird's hosted MCP server, or run it locally with the bird CLI. Your agent gets typed tools across every channel โ€” scoped keys, full audit, no leakage.
[H2] Five products.
[H2] One shared layer.
Email, SMS, voice, WhatsApp, and Realtime โ€” all built on the same primitives. Learn the platform once, ship across every channel.Auth. One key format. Scoped to send vs. manage, read vs. write. Prefix + fingerprint so you know which key did what. Multiple keys live at once, so you rotate on your schedule.Idempotency. Idempotency-Key on every POST, PATCH, and DELETE. Replays come back free and flagged. Reuse a key with a different body and you get a 409, not a surprise.Errors. One envelope. One closed type union. Every code ships with a docs link and a message that tells you what to do.Webhooks. Standard Webhooks spec: HMAC-SHA256, per-endpoint secrets, 5-minute replay window โ€” verify with any off-the-shelf library. Rotate secrets with a 24-hour dual-signing overlap. Attempt logs and replay built in.Pagination. Cursor-based. Stable order on every list, enforced by construction โ€” no page drift, ever.Rate limits. IETF RateLimit headers on every response โ€” not just the 429. You can see your budget before you hit the wall, and Retry-After when you do.Suppressions. Bounces, complaints, unsubscribes โ€” managed automatically, queryable and editable via API. Transactional streams can bypass marketing unsubscribes. Idempotent by design.
[H2] Your messages,
actually arriving.
Real-time signals on inbox placement, bounce rates, and send volume โ€” across every channel, every region. No guesswork.*****+++====-----:::::::ยทยทยทยทยทยทยทยทยทยท ยทยท::--=++**
*+++===---:::::ยทยทยทยทยทยทยทยทยท ยทยทยท::--=++*****
===---:::ยทยทยทยทยทยท ยทยทยท:::--=+++*******
--:::ยทยทยทยท ยทยทยทยท::---==++********++
::ยทยทยท ยทยทยทยทยท::---==++*********++=-
ยทยท ยทยทยทยทยท:::---==++*********++=--:
ยท ยทยทยทยทยทยท:::---==+++*********++=-::ยท
ยทยทยทยทยท:::---==+++*********++=-::ยท
ยทยทยทยท:::---==+++********++=--:ยทยท
ยท ยทยทยทยท:::---==++********++=--:ยท
ยทยทยทยท ยทยทยท:::--==++********+==-:ยทยท
::::ยทยทยทยทยทยทยทยท ยทยทยท::--==++*******++=--:ยท
=-----::::::::ยทยทยทยทยทยทยทยทยทยท ยทยท::--=++********+=-::ยท
++++=======---------::::::ยทยทยทยทยท ยทยทยท:--=++*******+=--:
********++++++++++=======----:::ยทยทยท ยทยท:--=++******++=-
***********************+++++===---::ยทยทยท ยทยท:-==+*******+=
******************************+++===--::ยทยท ยท::-=++******+
===++++++++++*********************+++==--:ยทยท ยท:--=+******
::---------=======++++++**************++=--:ยทยท ยทยท:-=++****
ยทยทยทยทยทยทยทยท::::::::-----====++++***********++=--:ยทยท ยทยท:-=++***
ยทยทยทยทยทยทยทยท::::---===+++*********++==-:ยทยท ยทยท:-=++**
ยทยทยทยทยท:::--==+++*********+==-:ยทยท ยทยท:-=++*
ยทยทยทยท:::--==++********++=-::ยท ยทยท:-=++*World's commercial messages, by volume, transit the Bird network.40%-==++*********+==--:ยทยท ยทยท::-==++********++==--:ยทยท
=++*********++=--::ยท ยทยท::-==++*********++=--:ยทยท
+*********++=--::ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท
********++=--::ยทยท ยทยท::--=++*********++=--::ยทยท ยทยท::
******++==-::ยทยท ยทยท::--=++*********++==-::ยทยท ยทยท::--
****++==-::ยทยท ยทยท:--=++*********++==-::ยทยท ยทยท::--=+
**++==-::ยทยท ยทยท:--==+*********++==-::ยทยท ยทยท:--=++*
++==--:ยทยท ยทยท:--==++********++==-::ยทยท ยทยท:--==++**
==--:ยทยท ยทยท:--==++********++==--:ยทยท ยทยท:--==++****
--:ยทยท ยทยท::-==++********++==--:ยทยท ยทยท::-==++******
::ยท ยทยท::-==++*********++=--:ยทยท ยทยท::-==++********
ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท::-==++*********+
ยทยท::--=++*********++=--::ยทยท ยทยท::-==++*********++=
ยทยท::--=++*********++==-::ยทยท ยทยท::--=++*********++=--
ยทยท:--=++*********++==-::ยทยท ยทยท::--=++*********++==-::
ยทยท:--==+*********++==-::ยทยท ยทยท:--=++*********++==-::ยทยท
ยทยท:--==++********++==-::ยทยท ยทยท:--==++********++==-::ยทยท
ยท:--==++********++==--:ยทยท ยทยท:--==++********++==-::ยทยท
:-==++********++==--:ยทยท ยทยท::-==++********++==--:ยทยท
==++*********++=--:ยทยท ยทยท::-==++********++==--:ยทยท
++*********++=--::ยทยท ยทยท::-==++*********++=--:ยทยท ยท
*********++=--::ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท:
*******++==-::ยทยท ยทยท::--=++*********++=--::ยทยท ยทยท::-Countries with direct carrier relationships, route diversity, and local compliance handled.190+*+=:ยทยท ยทยท:=+**+-ยท ยท:-=++++==:ยท ยท-=+****+=-ยท ยท:=***
*+-:ยท ยท:-+***=:ยท ยท:-=++***+=-: ยท:-=+**++=:ยท ยท:=***
*=-ยท ยท:=+**+-: ยทยท-=+******+=:ยท ยท-=++++=-:ยท ยท-=***
+=:ยท ยท-+***=-ยท ยทยท:=+********+-: ยท:-=+++=-: ยท-+***
+-: ยท:=***+=:ยท ยทยท:=+*********+=:ยท :-=====-ยท ยท-+***
+-ยท ยท-+***=-:ยทยทยทยท::-++**********+-ยท ยท:-===-:ยท ยท-+***
=:ยท ยท:=***+=-::::--=+************=: ::----:ยท :=+***
=:ยท :-+***+=----==+*****++++****+-ยท ยท::--:ยท :=+***
=: ยท-+****+====++*****+====+****=: ยท::::ยท ยท:=****
-ยท ยทยทยท :=+***++++++*****+=----=+***+-ยท ยทยทยทยทยท ยท-+****
-ยท ยทยทยทยท ยท-+*****++******+=-::::-=+**+=: ยทยทยท :-+****
-ยท ยทยท::ยทยท ยท:=+***********+=-:ยทยทยทยท:-+***=-ยท ยท:=+****
-ยท ยท::::ยท :-+**********+=-:ยท ยทยท:=+**+-: ยท-=*****
:ยท ยท::::ยทยท ยท-=+********+=-:ยท ยท-=***=:ยท :-+*****
: ยท:--::ยท ยท:=+*******+=-:ยท :-+**+-: ยท:=+****+
: ยท:----:ยท :-=+*****++=:ยท ยท:=***=-ยท ยท-=****++
: ยท:-----:ยท ยท:=++***++=-ยท ยท-+**+-:ยท ยท:-+****++
: ยท:-===-:ยท ยท:-=+++++=-:ยท ยทยท ยท:=***=-:ยท ยท:-=+***++=
: ยท:-===-:ยท ยท-==+++=-:ยท ยทยทยทยทยท ยท-+**+=-:ยทยทยท:-=+****+==
: ยท:-====-: ยท:-====-:ยท ยทยท::::ยท :=***+=-:::--=****+==-
: ยท-=====-:ยท ยท::-----:ยท ยท:----:ยท ยท-+***+=----=+****+=-:
: ยท-==+==-:ยท ยท:----:ยท ยท:-====-:ยท :=***++====+****+=-::
: ยท-==++=-:ยท ยท:::::ยทยท ยท:-=++++=-: ยท-+***+++++*****=-::ยทRunning this infrastructure. The team behind it is the team building the API.10 years
11082 chars
SUB-PAGE (https://sparkpost.com/en-us/docs/) Support Documentation – SparkPost
Skip to main contentDocumentationBillingExpand MenuDeliverabilityExpand MenuFAQExpand MenuGetting StartedExpand MenuIntegrationsExpand MenuMy Account & ProfileExpand MenuRecipient ValidationExpand MenuReportingExpand MenuSparkPost SignalsยฎExpand MenuTech ResourcesExpand MenuUser GuideExpand MenuSubmit a TicketCustomersDeveloper BlogDeveloper HubService Status
[H1] Help & API
Getting StartedWelcome to SparkPost! Get familiar with our product and explore its features:New User GuideNew to SparkPost? Get set up with our new user guide.Learn MoreSending Your First EmailSending your first email via SMTP or REST.Learn MoreAPI DocsCheck out our full API reference.View DocumentationMigration GuidesMoving to SparkPost from another service? Read through our in-depth migration guides.SendGrid Migration GuideMandrill Migration GuideMailgun Migration GuideMailjet Migration GuideClient LibrariesOur client libraries allow you to use SparkPost with your language of choice Node PHP Python Java Elixir NodeMailer GoQuestions? We're here to help.Weโ€™re always happy to help with code or other questions you might have!To find the best resource for your question and fastest resolution, check out ourhow to get help guide Submit a ticket FAQs
1243 chars
SUB-PAGE (https://sparkpost.com/en-us/products/email/) Bird ยท Messaging infrastructure for developers โ€” Bird
[H1] Messaging infrastructure
for developers.
A developer API for email, SMS, voice, and WhatsApp.Running on the network that already carries 40% of the world's commercial messages.Get startedRead docsUsing Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:Claude CodeCopied!CodexCopied!CursorCopied!Trusted every day by teams that build world-class softwareRead more customer stories
[H2] Drop it in.
[H2] Same shape, every stack.
SDKs in every major runtime. REST when you need it and SMTP coming soon. MCP for the agent on your shoulder.Node.jsPythonJava.NETPHPGoRustRubyElixirServerlessRESTSMTPCLIExpressNext.jsNestJSFastifyNuxtHonoBunAstroKoaRemix123456789101112131415161718import express from 'express';
import { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const app = express();
app.use(express.json());
app.post('/welcome', async (req, res) => {
await bird.email.send({
from: 'onboarding@bird.dev',
to: [req.body.email],
subject: 'Welcome to Bird',
html: '<p>You are in.</p>',
});
res.json({ sent: true });
});
Copy Code01 Direct sending IPs / React Email rendering (Soon) / Managed warm-up
[H2] Send Email. HTML and plain text, React Email soon. Delivered on the network the ISPs already trust.
Read Email DocsDirect sending IPs, managed warm-up, ISP-aware routing, SPF/DKIM/DMARC handled. Templates render in HTML and plain text; React Email coming soon.email.tsx200 ยท 1.2simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.email.send({
from: 'onboarding@bird.dev',
subject: 'Hello from Bird',
html: '<p>Your first email is <strong>live</strong>.</p>',
});Your invite is readyWelcome aboard, Ada.You can sign in any time at bird.com/login.Your test API key is on your dashboard, ready to send.Copy codeCopiedCopy as promptCopiedView on GithubPer-ISP delivery breakdownPer-message audit log02 A2P 10DLC / Tier-1 carriers / voice OTP fallbackSMS is being upgraded
[H2] Send SMS. Tier-1 carriers, 190+ countries, with the compliance overhead handled for you.
A2P 10DLC, alpha sender IDs, DLT entity registration โ€” we file what you have to file. Smart routing per destination. Voice OTP fallback when SMS degrades. A 6-digit code lands in under three seconds on the lines that matter.sms.ts200 ยท 0.4simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.sms.send({
from: 'Bird',
to: '+14155550182',
text: 'Your Bird code is 482917.',
});Today at 2:14 PMHey Ada โ€” your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.482917DeliveredNew API soon - Sign up to get notified10DLC application + brand vetting in 48hRoute diversity per destinationVoice OTP fallback (opt-in per account)Segment-accurate pricing in the response03 PSTN + SIP / streaming TTS / declarative flowsVoice is being upgraded
[H2] Use Voice. Programmable voice, on PSTN and SIP, with TTS that doesn't sound robotic.
Outbound and inbound. Declarative flow JSON for IVR. Recording and live transcription. Streaming TTS in thirty languages with sub-250 ms first-byte audio โ€” the model loads before the call connects.voice.ts201 ยท 0.4simport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.calls.create({
from: '+14155550100',
to: '+14155550182',
flow: [{ say: 'Your verification code is four, eight, two...' }],
});Bird Verify+1 (415) 555-0182Yourverificationcodeisfoureighttwonineoneseven.New API soon - Sign up to get notifiedStreaming TTS in 30+ languagesDeclarative flows: say, gather, dial, transferRecording + live transcript over WebSocketPSTN + SIP termination, BYOC supported04 Cloud API / template messages / interactive repliesWhatsApp is being upgraded
[H2] Send WhatsApp. Official Cloud API. Templates, interactive buttons, and media โ€” on the channel three billion people already use.
Pre-approved templates, session messaging, and interactive replies. Delivery and read receipts on every message. One number, every conversation โ€” with the same typed API as email and SMS.whatsapp.ts200 ยท 480msimport { BirdClient } from '@messagebird/sdk';
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.whatsapp.send({
to: '+14155550182',
template: 'order_shipped',
variables: { order: 'RG-29481', carrier: 'UPS' },
});Order RG-29481 shippedHey Ada โ€” your order is on the way. Carrier UPS, ETA Wednesday.Track orderContact support9:42 AM โœ“โœ“New API soon - Sign up to get notifiedOfficial Cloud API accessTemplate + session messagingInteractive buttons and listsDelivery + read receipts
[H2] We are a team of engineers who love building tools for other engineers.
Test mode, real-time webhooks, and an MCP server for the agent on your shoulder.Delivereddelivered@bird.devSend202 Accepted: { "id": "em_01kove1gv2hs72p4rq94zmt" }202 Accepted: { "id": "em_01k50rmp0fe5kbyt8rah4ja" }202 Accepted: { "id": "em_01km947y1ofmto7ilsfudgv" }202 Accepted: { "id": "em_01k3eho76xg32xg32tk7idg" }202 Accepted: { "id": "em_01kkju9g76dgb6psfupkna1" }202 Accepted: { "id": "em_01k1o7qlcfexojyhwvqxw7i" }Test mode. Simulate every state โ€” delivered, bounced, complained, queued โ€” without burning real budget or hitting a real recipient.POST /webhooks/bird15:42:16200sms.failed128ms15:42:13500email.delivered42ms15:42:10200whatsapp.read55ms15:42:07200voice.completed91ms15:42:04200sms.failed128ms15:42:01200email.delivered42msModular webhooks. Real-time event webhooks, per channel. email.delivered, sms.failed, voice.completed, whatsapp.read. HMAC-signed. Replay-protected. Same shape every channel.MCP for agents. Connect Claude or Cursor to Bird's hosted MCP server, or run it locally with the bird CLI. Your agent gets typed tools across every channel โ€” scoped keys, full audit, no leakage.
[H2] Five products.
[H2] One shared layer.
Email, SMS, voice, WhatsApp, and Realtime โ€” all built on the same primitives. Learn the platform once, ship across every channel.Auth. One key format. Scoped to send vs. manage, read vs. write. Prefix + fingerprint so you know which key did what. Multiple keys live at once, so you rotate on your schedule.Idempotency. Idempotency-Key on every POST, PATCH, and DELETE. Replays come back free and flagged. Reuse a key with a different body and you get a 409, not a surprise.Errors. One envelope. One closed type union. Every code ships with a docs link and a message that tells you what to do.Webhooks. Standard Webhooks spec: HMAC-SHA256, per-endpoint secrets, 5-minute replay window โ€” verify with any off-the-shelf library. Rotate secrets with a 24-hour dual-signing overlap. Attempt logs and replay built in.Pagination. Cursor-based. Stable order on every list, enforced by construction โ€” no page drift, ever.Rate limits. IETF RateLimit headers on every response โ€” not just the 429. You can see your budget before you hit the wall, and Retry-After when you do.Suppressions. Bounces, complaints, unsubscribes โ€” managed automatically, queryable and editable via API. Transactional streams can bypass marketing unsubscribes. Idempotent by design.
[H2] Your messages,
actually arriving.
Real-time signals on inbox placement, bounce rates, and send volume โ€” across every channel, every region. No guesswork.*****+++====-----:::::::ยทยทยทยทยทยทยทยทยทยท ยทยท::--=++**
*+++===---:::::ยทยทยทยทยทยทยทยทยท ยทยทยท::--=++*****
===---:::ยทยทยทยทยทยท ยทยทยท:::--=+++*******
--:::ยทยทยทยท ยทยทยทยท::---==++********++
::ยทยทยท ยทยทยทยทยท::---==++*********++=-
ยทยท ยทยทยทยทยท:::---==++*********++=--:
ยท ยทยทยทยทยทยท:::---==+++*********++=-::ยท
ยทยทยทยทยท:::---==+++*********++=-::ยท
ยทยทยทยท:::---==+++********++=--:ยทยท
ยท ยทยทยทยท:::---==++********++=--:ยท
ยทยทยทยท ยทยทยท:::--==++********+==-:ยทยท
::::ยทยทยทยทยทยทยทยท ยทยทยท::--==++*******++=--:ยท
=-----::::::::ยทยทยทยทยทยทยทยทยทยท ยทยท::--=++********+=-::ยท
++++=======---------::::::ยทยทยทยทยท ยทยทยท:--=++*******+=--:
********++++++++++=======----:::ยทยทยท ยทยท:--=++******++=-
***********************+++++===---::ยทยทยท ยทยท:-==+*******+=
******************************+++===--::ยทยท ยท::-=++******+
===++++++++++*********************+++==--:ยทยท ยท:--=+******
::---------=======++++++**************++=--:ยทยท ยทยท:-=++****
ยทยทยทยทยทยทยทยท::::::::-----====++++***********++=--:ยทยท ยทยท:-=++***
ยทยทยทยทยทยทยทยท::::---===+++*********++==-:ยทยท ยทยท:-=++**
ยทยทยทยทยท:::--==+++*********+==-:ยทยท ยทยท:-=++*
ยทยทยทยท:::--==++********++=-::ยท ยทยท:-=++*World's commercial messages, by volume, transit the Bird network.40%-==++*********+==--:ยทยท ยทยท::-==++********++==--:ยทยท
=++*********++=--::ยท ยทยท::-==++*********++=--:ยทยท
+*********++=--::ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท
********++=--::ยทยท ยทยท::--=++*********++=--::ยทยท ยทยท::
******++==-::ยทยท ยทยท::--=++*********++==-::ยทยท ยทยท::--
****++==-::ยทยท ยทยท:--=++*********++==-::ยทยท ยทยท::--=+
**++==-::ยทยท ยทยท:--==+*********++==-::ยทยท ยทยท:--=++*
++==--:ยทยท ยทยท:--==++********++==-::ยทยท ยทยท:--==++**
==--:ยทยท ยทยท:--==++********++==--:ยทยท ยทยท:--==++****
--:ยทยท ยทยท::-==++********++==--:ยทยท ยทยท::-==++******
::ยท ยทยท::-==++*********++=--:ยทยท ยทยท::-==++********
ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท::-==++*********+
ยทยท::--=++*********++=--::ยทยท ยทยท::-==++*********++=
ยทยท::--=++*********++==-::ยทยท ยทยท::--=++*********++=--
ยทยท:--=++*********++==-::ยทยท ยทยท::--=++*********++==-::
ยทยท:--==+*********++==-::ยทยท ยทยท:--=++*********++==-::ยทยท
ยทยท:--==++********++==-::ยทยท ยทยท:--==++********++==-::ยทยท
ยท:--==++********++==--:ยทยท ยทยท:--==++********++==-::ยทยท
:-==++********++==--:ยทยท ยทยท::-==++********++==--:ยทยท
==++*********++=--:ยทยท ยทยท::-==++********++==--:ยทยท
++*********++=--::ยทยท ยทยท::-==++*********++=--:ยทยท ยท
*********++=--::ยทยท ยทยท::-==++*********++=--::ยทยท ยทยท:
*******++==-::ยทยท ยทยท::--=++*********++=--::ยทยท ยทยท::-Countries with direct carrier relationships, route diversity, and local compliance handled.190+*+=:ยทยท ยทยท:=+**+-ยท ยท:-=++++==:ยท ยท-=+****+=-ยท ยท:=***
*+-:ยท ยท:-+***=:ยท ยท:-=++***+=-: ยท:-=+**++=:ยท ยท:=***
*=-ยท ยท:=+**+-: ยทยท-=+******+=:ยท ยท-=++++=-:ยท ยท-=***
+=:ยท ยท-+***=-ยท ยทยท:=+********+-: ยท:-=+++=-: ยท-+***
+-: ยท:=***+=:ยท ยทยท:=+*********+=:ยท :-=====-ยท ยท-+***
+-ยท ยท-+***=-:ยทยทยทยท::-++**********+-ยท ยท:-===-:ยท ยท-+***
=:ยท ยท:=***+=-::::--=+************=: ::----:ยท :=+***
=:ยท :-+***+=----==+*****++++****+-ยท ยท::--:ยท :=+***
=: ยท-+****+====++*****+====+****=: ยท::::ยท ยท:=****
-ยท ยทยทยท :=+***++++++*****+=----=+***+-ยท ยทยทยทยทยท ยท-+****
-ยท ยทยทยทยท ยท-+*****++******+=-::::-=+**+=: ยทยทยท :-+****
-ยท ยทยท::ยทยท ยท:=+***********+=-:ยทยทยทยท:-+***=-ยท ยท:=+****
-ยท ยท::::ยท :-+**********+=-:ยท ยทยท:=+**+-: ยท-=*****
:ยท ยท::::ยทยท ยท-=+********+=-:ยท ยท-=***=:ยท :-+*****
: ยท:--::ยท ยท:=+*******+=-:ยท :-+**+-: ยท:=+****+
: ยท:----:ยท :-=+*****++=:ยท ยท:=***=-ยท ยท-=****++
: ยท:-----:ยท ยท:=++***++=-ยท ยท-+**+-:ยท ยท:-+****++
: ยท:-===-:ยท ยท:-=+++++=-:ยท ยทยท ยท:=***=-:ยท ยท:-=+***++=
: ยท:-===-:ยท ยท-==+++=-:ยท ยทยทยทยทยท ยท-+**+=-:ยทยทยท:-=+****+==
: ยท:-====-: ยท:-====-:ยท ยทยท::::ยท :=***+=-:::--=****+==-
: ยท-=====-:ยท ยท::-----:ยท ยท:----:ยท ยท-+***+=----=+****+=-:
: ยท-==+==-:ยท ยท:----:ยท ยท:-====-:ยท :=***++====+****+=-::
: ยท-==++=-:ยท ยท:::::ยทยท ยท:-=++++=-: ยท-+***+++++*****=-::ยทRunning this infrastructure. The team behind it is the team building the API.10 years
11082 chars
๐Ÿงญ Industry Context โ€” common generic-claim patterns in Software, SaaS & Tech Products to weigh the text against
Generic Claims: the all-in-one platform, trusted by thousands of companies, increase productivity by X percent, save hours every week, the leading platform for, built for teams of all sizesโ€ฆ
Red Flags: AI claims without explaining what the AI does, customer logos without case study or testimonial evidence, no live product access or demo, SOC 2 claims without audit period or report availability, productivity claims without methodology, pricing hidden behind sales calls onlyโ€ฆ
Semantic Drift Patterns: homepage claims AI-powered but product is rules-based, claims enterprise-grade but pricing page shows startup tiers only, homepage shows Fortune 500 logos but case studies are small businesses, claims all-in-one but integration page shows critical missing pieces, free plan promoted but core features require expensive upgradeโ€ฆ
Proof Expectations: live product demo or free trial access, specific feature documentation with screenshots, verified customer logos with published case studies, third-party review scores on G2, Capterra, or TrustRadius, published uptime SLA and status page, security certifications with audit datesโ€ฆ