Industry Context — Common BS Fingerprints in Software, SaaS & Tech Products
Bird
(https://sparkpost.com) 📸 Data Snapshot: June 19, 2026Analyze the raw signals below. How would a machine score this business’s credibility?
Here are the exact signals captured from up to six pages of the site — the same raw inputs the evaluation engine analyzed. They are grouped by signal type so you can weigh each the way the machine does.
🏗️ Semantic Structure — heading hierarchy & page identity (Info Density · Commodity Fingerprint)
HOMEPAGE Bird · Messaging infrastructure for developers — Bird (https://sparkpost.com)
Bird · Messaging infrastructure for developers — Bird
Bird is the omnichannel platform for customer messaging, marketing, and CRM — email, SMS, voice, and WhatsApp on one API, built for developers and scale.
NAV_HEADING_REPEATED_BODY Bird · Messaging infrastructure for developers — Bird (https://sparkpost.com/dashboard/signup/)
Bird · Messaging infrastructure for developers — Bird
Bird is the omnichannel platform for customer messaging, marketing, and CRM — email, SMS, voice, and WhatsApp on one API, built for developers and scale.
NAV_HEADING_REPEATED_BODY_FOOTER Support Documentation – SparkPost (https://sparkpost.com/en-us/docs/)
Support Documentation – SparkPost
SparkPost Support Documentation
NAV_HEADING_REPEATED_BODY_FOOTER Bird · Messaging infrastructure for developers — Bird (https://sparkpost.com/en-us/products/email/)
Bird · Messaging infrastructure for developers — Bird
Bird is the omnichannel platform for customer messaging, marketing, and CRM — email, SMS, voice, and WhatsApp on one API, built for developers and scale.
📝 The Narrative — clean text per page (Info Density · Semantic Coherence)
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
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
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
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
🛡️ Trust Signals — reviews, proof links, trust-theatre flag (Trust & Proof)
| Page | Reviews | Proof links |
|---|---|---|
| / (home) | 10 | 0 |
| /dashboard/signup/ | 10 | 0 |
| /en-us/docs/ | 15 | 0 |
| /en-us/products/email/ | 10 | 0 |
🔗 Identity & Technical Layer — schema JSON-LD: identity chains, entity gaps (Identity & Authority)
Your Diagnosis
Before revealing the machine’s verdict, predict the BS score for each signal. Higher = more BS (more fluff, less verifiable substance). Drag each slider, then submit to compare your judgment against the engine.
Stuck? Reveal the heuristic lens — how the deterministic page-auditor reads each signal (no AI, pure pattern rules)
These are the structural rules a local, deterministic auditor applies — the same lens you can use to judge each signal. They describe what to look for, not this company’s result.
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.
Pull the main entities out of the H1, then check whether they actually recur through the body. A page that announces one thing and then talks about another drifts. Headings with no real sentences underneath read as pseudo-substance.
Count trust words (review, testimonial, rating, verified) against real outbound proof links (Google, Trustpilot, Clutch, G2, Yelp). Lots of trust language with zero verification links is trust theatre. Unlinked logo galleries count against it.
Look at how much sentence length varies. Natural writing varies its rhythm; templated or mass-produced copy is statistically uniform. Very low variation reads as commodity content — unless unique named entities break the pattern.
Inspect the JSON-LD. Is there an Organization or Person schema, and does it carry sameAs links to real external profiles (LinkedIn, socials)? Missing schema or no identity declaration signals an anonymous entity.
Want to apply this lens yourself? The free BS Indicator Chrome extension runs these heuristic checks live on any page. Bear in mind it is a single-page, deterministic tool — it relies only on pattern rules for the page in front of it and does not perform the cross-page semantic correlation this audit uses, so its readout is a starting lens, not the full verdict.
Based on 1129 businesses audited.
Bird has 4.1 points less BS than the average for Software, SaaS & Tech Products.
Software, SaaS & Tech Products BS: Bird (sparkpost.com)
Bird represents the ‘low-BS’ end of the SaaS spectrum by replacing adjectives with code. Its only major failure is ‘Trust Theatre’ via unverified volume stats and a fragmented identity between the legacy SparkPost docs and the new Bird API.
Immediately implement Organization and Person schema to anchor the engineering team’s authority. Link the 40% volume claim to an industry report or press release to move it from ‘claim’ to ‘proof.’ Unify the documentation sub-domain branding to eliminate the SparkPost/Bird semantic drift. Add a public-facing status page link in the footer to substantiate the delivery reliability claims.
The site aligns perfectly with the Developer Infrastructure and CPaaS (Communications Platform as a Service) category. The content is heavily weighted toward API specifications, SDK availability, and technical protocols rather than generic business benefits.
“The score of 29 is driven primarily by the Trust and Proof pillar (11 points) due to the lack of verification for massive volume claims and the Identity pillar (5 points) due to missing schema. It is rescued by a very low Information Density penalty, as the site prioritizes technical specifications over marketing power words.”
This training module utilizes a snapshot of public data from Bird, captured on June 19, 2026, to demonstrate how machine logic evaluates different types of business narratives.
Purpose: This data is presented under “Fair Use” / “Educational Exception” for the purpose of forensic semantic analysis, allowing users to compare human intuition against machine-generated evaluations.
Notice to Bird: This analysis is part of a non-adversarial audit conducted by 1 Euro SEO. The results provided by 1EuroSEO are intended as professional feedback to help improve any website’s machine-readability and authority signals. The 1EuroSEO BS Detection Tool is a free tool, and anyone can test any company to see how their content is interpreted by AI models.
Any company can use the insights for free and improve its voice by comparing it to industry clichés or competitors. When a company has updated its content, it can always submit a new audit request, which will be reflected in a new current score.
To all users: You are encouraged to visit the live site at https://sparkpost.com to view the most current version of its content and learn from the source what this company is about and what it offers.