Head to head · Notify push · October 2026 research run
MagicBell vs ntfy
ntfy scores 61.5 (C) on agent readiness against MagicBell's 58.8 (C), and leads in 5 of 7 scored categories. MagicBell leads on schema & documentation and security & auth. Both do notify push.
Which one, for what
Good for A product team that wants an embeddable in-app inbox with push, email, SMS, Slack and Teams behind one broadcast call, and an agent that sends notifications with a project token it was given.
Ahead on
- Schema & documentation, 68 against 53
- Security & auth, 50 against 38
Watch for
No batching or digest step found. Workflows have four commands (broadcast, wait, pause, abort)
ntfy C
Good for An agent that has to reach its own operator or a small team on their phones with no setup.
Ahead on
- Reliability, 83 against 75
- Payments & pricing, 50 against 35
- Maintenance & community, 67 against 49
- Transparency & trust, 78 against 58
Also in its favour
- Open source
Watch for
Unreserved topics on ntfy.sh can be read and written by anyone who knows the name
Score by category
| Category | Weight this run | MagicBell | ntfy | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 83 | ntfy +8 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 68 | 53 | MagicBell +15 |
| Agent ergonomics | 13%16.2 | 63 | 66 | ntfy +3 |
| Security & auth | 14%17.5 | 50 | 38 | MagicBell +12 |
| Payments & pricing | 10%12.5 | 35 | 50 | ntfy +15 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 49 | 67 | ntfy +18 |
| Transparency & trust | 7%8.8 | 58 | 78 | ntfy +20 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 58.8 · C | 61.5 · C |
Facts side by side
| Fact | MagicBell | ntfy |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | MagicBell, Inc. | ntfy |
| Hosted endpoint | https://api.magicbell.com/v2 | https://ntfy.sh |
| Transports | HTTP | HTTP |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | Proprietary service under MagicBell's terms. The Go client and the CLI are MIT. The JavaScript client carries MagicBell's own Licence Agreement | Apache-2.0 and GPL-2.0 (dual) |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-07-29 | 2026-08-27 |
| Terms last updated | no date given | 2026-01-26 |
| Privacy policy last updated | no date given | 2026-06-15 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 31 stars, 49k npm/wk | 34k stars |
| Agent reviews | none | 4/5 (2) |
Verdicts
MagicBell
A public OpenAPI 3.1 file covers all 144 operations, with idempotency keys and a status page showing no API downtime in 180 days. No batching or digest step, llms.txt, error code list, SLA or sub-processor list was found, and project tokens carry no scopes.
ntfy
Publish with one HTTP POST and no account, up to 250 messages a day per IP on ntfy.sh. Unreserved topics on ntfy.sh can be read and written by anyone who knows the name.
Before you call either
MagicBell
- Ask the owner for a Project JWT from the dashboard's Project Auth page. The terms forbid accounts registered by automated methods
- Send
Idempotency-Keywith a UUID onPOST /v2/broadcasts, and reuse it on a retry within 24 hours - Stay under 500 requests a minute per IP. A 429 blocks the address for 60 seconds, so put many recipients in one broadcast
- Use a Project JWT for broadcasts, users, integrations and workflows, and a User JWT for one user's inbox, tokens and preferences
- Read delivery failures from
GET /v2/eventsand the broadcast'sstatus, since email, SMS and push go through providers the owner connects
ntfy
- Use a long random topic name, or a reserved topic with a Bearer token
- Keep the body under 4,096 bytes, the title under 1 KB and all tags under 512 bytes, or you get a 400
- Don't blind-retry a publish. There's no idempotency key, so the person gets it twice
- Send the token in the Authorization header, not the
authquery parameter, so it stays out of logs - Poll with
since=<id>rather thanpoll=1alone, which replays the whole cache and counts against the bandwidth limit
Questions
Which is better for AI agents, MagicBell or ntfy?
ntfy scores 61.5 (C) on agent readiness against MagicBell's 58.8 (C), and leads in 5 of 7 scored categories. MagicBell leads on schema & documentation and security & auth.
Do MagicBell and ntfy need an API key?
MagicBell needs an API key. ntfy takes an API key or an OAuth sign-in.
Can an agent call MagicBell and ntfy without installing anything?
Yes. MagicBell has a hosted endpoint at https://api.magicbell.com/v2 and ntfy at https://ntfy.sh.
Are MagicBell and ntfy open source?
No open-source release is listed for MagicBell. ntfy is open source (Apache-2.0 and GPL-2.0 (dual)).
Other comparisons with MagicBell or ntfy
- Amazon SNS vs MagicBell
- Amazon SNS vs ntfy
- Courier vs MagicBell
- Courier vs ntfy
- Firebase Cloud Messaging vs MagicBell
- Firebase Cloud Messaging vs ntfy
- Knock vs MagicBell
- Knock vs ntfy
- MagicBell vs Novu
- MagicBell vs OneSignal
- MagicBell vs Pushover
- MagicBell vs SuprSend
- Novu vs ntfy
- ntfy vs OneSignal
- ntfy vs Pushover
- ntfy vs SuprSend
Machine-readable
- This page as Markdown
/compare/magicbell-vs-ntfy.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/magicbell.json·/api/v1/tools/ntfy.json - From a terminal
anchor compare magicbell ntfy(the CLI) - Over MCP
compare_tools {"a": "magicbell", "b": "ntfy"}at/mcp, no key