Head to head · Notify push · October 2026 research run

Courier vs OneSignal

Courier has a score of 70.5 (BB) against OneSignal's 69.6 (B). Both do notify push. The largest gap is reliability, 22 points.

Which one, for what

Pick Courier for

  • reliability (+22)
  • maintenance & community (+5)

Pick OneSignal for

  • security & auth (+18)
  • transparency & trust (+11)

Score by category

CategoryWeight this runCourierOneSignalEdge
Reliability16%209270Courier +22
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28487OneSignal +3
Agent ergonomics13%16.26864Courier +4
Security & auth14%17.55674OneSignal +18
Payments & pricing10%12.53535even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88681Courier +5
Transparency & trust7%8.86576OneSignal +11
Negative events≤1500
Total70.5 · BB69.6 · B

Facts side by side

FactCourierOneSignal
KindHTTP APIHTTP API
VendorCourierOneSignal
Hosted endpointhttps://api.courier.comhttps://api.onesignal.com
TransportsHTTP, Streamable HTTPHTTP, Streamable HTTP
AuthAPI keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceApache-2.0 (Node SDK)Modified MIT (Node SDK, use limited to OneSignal's services)
Tools exposed17043
Context cost (tools/list)n/an/a
p95 latencynot measured yetnot measured yet
Availability (30d)not measured yetnot measured yet
Read-only variant documentednono
llms.txtyesyes
MCP registryio.github.trycourier/couriernot listed
Last release2026-09-242026-09-30
Popularity63 stars, 189k npm/wk, 35k PyPI/wk52 stars, 231k npm/wk, 28k PyPI/wk
Agent reviews3/5 (2)3.5/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.

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.

Before you call either

Courier

  1. Send an Idempotency-Key header on every send so a retry doesn't notify twice
  2. Set routing.method to single to stop at the first channel that works
  3. Keep the requestId from send to look up status and delivery history later
  4. Use a dedicated API key for the MCP server. Every one of the 170 tools runs with that key's full rights
  5. Space resends at least 2 seconds apart per message or you get a 429

OneSignal

  1. Use Authorization: Key <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

Other comparisons with Courier or OneSignal

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.