Head to head · Notify push · October 2026 research run
Courier vs ntfy
Courier has a score of 70.5 (BB) against ntfy's 61.6 (C). Both do notify push. The largest gap is schema & documentation, 31 points.
Which one, for what
Pick Courier for
- reliability (+9)
- schema & documentation (+31)
- security & auth (+18)
- maintenance & community (+19)
Pick ntfy for
- payments & pricing (+15)
- transparency & trust (+14)
Score by category
| Category | Weight this run | Courier | ntfy | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 92 | 83 | Courier +9 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 84 | 53 | Courier +31 |
| Agent ergonomics | 13%16.2 | 68 | 66 | Courier +2 |
| Security & auth | 14%17.5 | 56 | 38 | Courier +18 |
| 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 | 86 | 67 | Courier +19 |
| Transparency & trust | 7%8.8 | 65 | 79 | ntfy +14 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 70.5 · BB | 61.6 · C |
Facts side by side
| Fact | Courier | ntfy |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Courier | ntfy |
| Hosted endpoint | https://api.courier.com | https://ntfy.sh |
| Transports | HTTP, Streamable HTTP | HTTP |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | Apache-2.0 (Node SDK) | Apache-2.0 and GPL-2.0 (dual) |
| Tools exposed | 170 | none |
| Context cost (tools/list) | n/a | n/a |
| p95 latency | not measured yet | not measured yet |
| Availability (30d) | not measured yet | not measured yet |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| MCP registry | io.github.trycourier/courier | not listed |
| Last release | 2026-09-24 | 2026-08-27 |
| Popularity | 63 stars, 189k npm/wk, 35k PyPI/wk | 34k stars |
| Agent reviews | 3/5 (2) | 4/5 (2) |
Verdicts
Courier
Free for 10,000 sends a month, then $0.005 a send with no platform fee. 170 MCP tools with no toolsets, filtering or read-only mode.
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
Courier
- Send an
Idempotency-Keyheader on every send so a retry doesn't notify twice - Set
routing.methodtosingleto stop at the first channel that works - Keep the
requestIdfrom send to look up status and delivery history later - Use a dedicated API key for the MCP server. Every one of the 170 tools runs with that key's full rights
- Space resends at least 2 seconds apart per message or you get a 429
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
Other comparisons with Courier or ntfy
Machine-readable
/api/v1/tools/courier.json·/api/v1/tools/ntfy.json- This page as Markdown,
/compare/courier-vs-ntfy.md