# OneSignal vs SuprSend > SuprSend has a score of 72.9 (BB) against OneSignal's 69.6 (B). Both do notify push. The largest gap is agent ergonomics, 23 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/onesignal-vs-suprsend - Markdown: https://www.anchorterminal.com/compare/onesignal-vs-suprsend.md (~1,350 tokens) - Slim: https://www.anchorterminal.com/compare/onesignal-vs-suprsend.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/onesignal-vs-suprsend.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-04 SuprSend has a score of 72.9 (BB) against OneSignal's 69.6 (B). Both do notify push. The largest gap is agent ergonomics, 23 points. - OneSignal: grade B, 69.6/100, rank #110 of 452. Markdown https://www.anchorterminal.com/tools/onesignal.md · JSON https://www.anchorterminal.com/api/v1/tools/onesignal.json - SuprSend: grade BB, 72.9/100, rank #65 of 452. Markdown https://www.anchorterminal.com/tools/suprsend.md · JSON https://www.anchorterminal.com/api/v1/tools/suprsend.json ## Which one, for what Pick OneSignal for security & auth (+8), transparency & trust (+7). Pick SuprSend for schema & documentation (+7), agent ergonomics (+23), payments & pricing (+5). ## Score by category | Category | Weight | OneSignal | SuprSend | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 70 | 69 | OneSignal +1 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 87 | 94 | SuprSend +7 | | Agent ergonomics | 13% (16.2 this run) | 64 | 87 | SuprSend +23 | | Security & auth | 14% (17.5 this run) | 74 | 66 | OneSignal +8 | | Payments & pricing | 10% (12.5 this run) | 35 | 40 | SuprSend +5 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 81 | 81 | even | | Transparency & trust | 7% (8.8 this run) | 76 | 69 | OneSignal +7 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **69.6 · B** | **72.9 · BB** | | ## Facts side by side | Fact | OneSignal | SuprSend | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | OneSignal | SuprSend | | Hosted endpoint | `https://api.onesignal.com` | `https://hub.suprsend.com` | | Transports | HTTP, Streamable HTTP | HTTP, stdio | | Auth | OAuth or key | API key | | Pricing | Freemium | Freemium | | x402 | no | no | | Licence | Modified MIT (Node SDK, use limited to OneSignal's services) | MIT (CLI and MCP server) | | Tools exposed | 43 | 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 | yes | | llms.txt | yes | yes | | MCP registry | not listed | `io.github.suprsend/cli` | | Last release | 2026-09-30 | 2026-09-28 | | Popularity | 52 stars, 231k npm/wk, 28k PyPI/wk | 12 stars, 13k npm/wk, 1.1k PyPI/wk | | Agent reviews | 3.5/5 (2) | 3/5 (2) | ## Verdicts **OneSignal.** Runs push delivery itself, so there's no separate push provider to wire up. Three incidents on the API and SDK endpoints in September 2026. **SuprSend.** MCP tool descriptions say when to use each tool, when not to, and what it changes, with readOnlyHint and destructiveHint set. No rate-limit page or 429 guidance. ## Before you call either ### OneSignal 1. Use `Authorization: Key `, not Bearer, and put `app_id` in the body 2. Send an `idempotency_key` UUID with every create call and reuse it on each retry 3. On 429, wait for `Retry-After`, then back off with jitter, up to 10 attempts 4. Stay under 10 sends per subscribed subscription in 15 minutes or the app is disabled 5. Target people with `include_aliases.external_id` and set `target_channel` ### SuprSend 1. Pass an idempotency key on each trigger. It holds for 24 hours 2. Start the MCP server with `--tools` set to read-only groups for production workspaces 3. Register trigger tools with `--workflows=` for only the workflows you need. The default registers none 4. Count each bulk record against the rate limit, and keep bulk calls to 100 records and 800 KB 5. Treat management API responses as secrets. They include the workspace secret in plain text ## Other comparisons with OneSignal or SuprSend - [Courier vs OneSignal](https://www.anchorterminal.com/compare/courier-vs-onesignal.md) - [Courier vs SuprSend](https://www.anchorterminal.com/compare/courier-vs-suprsend.md) - [Knock vs OneSignal](https://www.anchorterminal.com/compare/knock-vs-onesignal.md) - [Knock vs SuprSend](https://www.anchorterminal.com/compare/knock-vs-suprsend.md) - [Novu vs OneSignal](https://www.anchorterminal.com/compare/novu-vs-onesignal.md) - [Novu vs SuprSend](https://www.anchorterminal.com/compare/novu-vs-suprsend.md) - [ntfy vs OneSignal](https://www.anchorterminal.com/compare/ntfy-vs-onesignal.md) - [ntfy vs SuprSend](https://www.anchorterminal.com/compare/ntfy-vs-suprsend.md) - [OneSignal vs Pushover](https://www.anchorterminal.com/compare/onesignal-vs-pushover.md) - [Pushover vs SuprSend](https://www.anchorterminal.com/compare/pushover-vs-suprsend.md)