OneSignal
A weekend of work, and real gaps remain.
Sends push notifications across web, mobile and other channels from one API, with segmentation, scheduling and delivery reporting on top of the platform services.
Build me web push for my own application, and treat token hygiene as the main job. STACK - Node with Fastify, SQLite via better-sqlite3 - The web-push library for VAPID; do not implement the encryption yourself SUBSCRIPTION - Service worker registers and posts the subscription to the server - Ask for permission only after a user action that implies interest — never on page load, and the README says why - Store endpoint, keys, user id, user agent bucket and created time SENDING - A queue with a worker; batch by endpoint host so one slow push service does not block the rest - Per-notification: title, body, icon, url, and a tag so a repeat replaces rather than stacks - TTL set deliberately; a notification that is late is often worse than one that never arrives TOKEN HYGIENE, WHICH IS THE ACTUAL WORK - A 404 or 410 from the push service means the subscription is dead: delete it immediately - A 429 means back off for that host, not for everything - A subscription that has failed five times in a row is retired and recorded as retired - Report the live subscription count weekly; a list that only grows is a list that is lying SEGMENTS - Simple attribute filters evaluated at send time against your own user table SCHEDULING - Deliver in the recipient's local morning by storing their timezone, not by guessing from an IP Include a README on VAPID keys, the retirement rules and the delivery rates you actually measured.
What you lose
- Delivery across web push, iOS, Android, email and SMS from one API
- Token lifecycle management: expiry, migration and cleanup across millions of devices
- Segmentation and scheduled sends with timezone-aware delivery windows
- Delivery and open reporting per platform, which the platforms make awkward to collect
- Throughput to send millions of notifications in minutes
If you would rather not build
- Pushover — paid, one-off, personal notifications
The escape hatch
open source · no votes, no paid placement
Novu
$0Notification infrastructure with channels, templates and preferences, self-hostable.
novuhq/novufree · open source
Why this verdict
our own opinion · changed only by a person
54/100
Verdict kinda at 54: web push alone is a weekend with the right library, and the retirement rules are what separate a working list from a rotting one. Native mobile push and the multi-channel story are where the product earns its fee.
History
tracked since 9 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about OneSignal
answered from the record above
Is OneSignal free?
No — the plan we track is $9 a month. Growth from about $9/month at small subscriber counts; the price scales with subscribers and messaging channels.
Can you replace OneSignal by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 54 out of 100, build time a weekend. Read what you lose before you decide.
How much does OneSignal cost?
$9 a month on Growth — $108 a year. Recorded 9 Aug 2026.
What do you lose by replacing OneSignal?
Delivery across web push, iOS, Android, email and SMS from one API; Token lifecycle management: expiry, migration and cleanup across millions of devices; Segmentation and scheduled sends with timezone-aware delivery windows; Delivery and open reporting per platform, which the platforms make awkward to collect; Throughput to send millions of notifications in minutes. If any of those carry weight for you, keep paying.
Is there an open-source alternative to OneSignal?
Yes: Novu, Gotify. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click.
free forever · no tracking pixel · every prompt stays free on the site