Expo vs OneSignal
Compare Expo and OneSignal based on observed push API performance and features
Live performance comparison
Real-world performance data from notifications sent through Knock
| Provider | Notification volume | Growth | Status page updates (30d) | Status page updates (90d) |
|---|---|---|---|---|
25M–100M | 2nd of 5 → | 1 | 4 | |
<1M | 5th of 5 → | 2 | 6 |
From July 25th to October 23rd, Knock routed 25M–100M notifications through Expo and <1M through OneSignal. Expo reported 4 status page updates over the last 90 days, while OneSignal reported 6.
Response time
Response time measures how long each provider takes to accept a push API request from Knock, including connection overhead and any automatic retries. Lower values mean faster notification hand-off.
The chart above shows each provider's daily median response time (p50) from July 25th to October 23rd. The top-line number is an average of these daily values: Expo averaged 71ms compared to 218ms for OneSignal. Expo's highest daily p50 was 79ms; OneSignal's was 269ms. Expo is 147ms faster at the median, which can add up at high volumes.
The 90th percentile (p90) captures the slowest 10% of requests, revealing how each provider handles moderate stress. Averaged across all days, Expo has a p90 of 95ms compared to 304ms for OneSignal. The highest daily p90 was 110ms for Expo and 374ms for OneSignal. Expo handles these slower requests 209ms faster, suggesting more consistent performance across the board.
The 99th percentile (p99) represents the long tail — the slowest 1% of requests. Averaged across all days, Expo reached 317ms at p99 while OneSignal reached 467ms. The highest daily p99 was 948ms for Expo and 1059ms for OneSignal, indicating the worst-case response time during spikes or provider-side congestion. Expo shows a tighter tail, which may matter for time-sensitive push notifications like real-time alerts where even rare delays can impact user experience.
Error rate
Error rate tracks the ratio of 5xx responses and timeouts to total push API requests. Knock automatically retries failed requests, so transient provider errors rarely affect end-user delivery.
| Provider | Avg. daily error rate | Highest daily rate | Peak error date | Zero-error days | Days above 0.01% |
|---|---|---|---|---|---|
0.01% | 0.51% | Oct 13 | 67 | 17 | |
0.01% | 0.27% | Aug 14 | 85 | 6 |
Averaged across the date range, Expo shows a 0.01% daily error rate compared to 0.01% for OneSignal. The highest single-day error rate was 0.51% for Expo and 0.27% for OneSignal. Both providers show similar reliability levels, with error rates well within acceptable thresholds. Knock automatically retries failed requests to both providers, minimizing the impact of transient errors on end-user delivery.
About these metrics: Data represents notifications sent through Knock during the specified period. Response time measures time from Knock to provider acceptance. Error rate includes only provider 5xx responses and timeouts.
Recent Expo incidents
Recent status page incidents for Expo
Started Oct 5, 2026 — Resolved Oct 5, 2026
This incident has been resolved.
Started Sep 8, 2026 — Resolved Sep 8, 2026
This incident has been resolved.
Started Sep 5, 2026 — Resolved Sep 5, 2026
This incident has been resolved.
Started Aug 4, 2026 — Resolved Aug 4, 2026
This incident has been resolved.
Recent OneSignal incidents
Recent status page incidents for OneSignal
Started Oct 15, 2026 — Resolved Oct 15, 2026
Status: Resolved Between 14:31 UTC on Oct 14 and 14:51 UTC on Oct 15, 2026, a subset of apps (apps whose app ID starts with 0) may have intermittently seen incomplete or inconsistent results. The issue affected read requests only. No data was lost, and our primary systems never had incomplete data. It came from a read-only database used for a limited share of read traffic, which we removed from service at 14:51 UTC on Oct 15. Results have been consistent since then. We are adding automated ch
Started Sep 30, 2026 — Resolved Sep 30, 2026
Status: Resolved We experienced a database issue that affected our customers. It only impacted apps which IDs start with e. The team has resolved the incident, and traffic is back to normal. Affected components Dashboard / UI (Operational) APIs & SDK Endpoints (Operational)
Started Sep 22, 2026 — Resolved Sep 22, 2026
Status: Resolved The issue has been resolved. All impacted systems are now operating normally. Affected components APIs & SDK Endpoints (Operational)
Started Sep 18, 2026 — Resolved Sep 18, 2026
Status: Resolved /api/v1/notifications create endpoint is now stable for all customers. The team has scaled up resources to handle increased load on our notifications service. Affected components APIs & SDK Endpoints (Operational)
Started Aug 4, 2026 — Resolved Aug 4, 2026
Status: Resolved The issue has been resolved. All impacted systems are now operating normally. Affected components Push (Operational)
Pros and cons

Expo

OneSignal
Pros
- Simplifies push for React Native apps by abstracting away APNS and FCM complexity
- Free push notification delivery with no per-message costs
- Receipt tracking enables monitoring delivery success and debugging failures
- No need to manage platform-specific credentials or certificates
Pros
- Generous free tier with unlimited mobile push makes it accessible for small teams and hobby projects
- Visual editor and prebuilt UI enable non-technical teammates to compose, target, and schedule campaigns
- Broad channel coverage including push, email, SMS, and in-app messages from a single platform
- Fast to get started with SDKs, guided setup, and strong documentation
Cons
- Tied to the Expo ecosystem; apps ejected from Expo lose some push conveniences
- Platform features beyond push (EAS Build, EAS Update) require a paid plan at scale
- Adds a proxy layer between your app and APNS/FCM, which can increase latency
Cons
- Workflow builder is tuned for marketing campaigns and lacks granular, event-driven control for transactional product messaging
- Subscription and tag-based preferences model is less flexible than a user-and-channel preference model for complex cross-channel logic
- Separated environments for development, staging, and production aren't first-class, which can complicate team workflows
- End-to-end observability and message-level debugging is more limited than dedicated notification infrastructure platforms
Frequently asked questions
Expo provides a unified push notification API for React Native apps, abstracting away APNS and FCM complexity with free delivery and built-in receipt tracking. OneSignal is a cross-platform push notification service with built-in segmentation, A/B testing, analytics, and intelligent delivery optimization. Expo is best suited for react native and expo apps, while OneSignal is geared toward cross-platform push with built-in analytics.
Expo push notifications are free with no per-message cost. The broader Expo platform has paid tiers: Production at $99/month and Enterprise at $999/month, which include EAS Build, EAS Update, and priority support. Push notification delivery itself has no additional cost at any tier. OneSignal offers a free tier for up to 10,000 subscribers. Growth plans start at $9/month with additional subscribers and features. Professional plans start at $99/month with advanced analytics, in-app messaging, and journeys. Enterprise pricing is custom. The best value depends on your sending volume and target platforms.
Based on real-world data from Knock, Expo has a median push API response time (p50) of 71ms compared to 218ms for OneSignal.
From July 25th to October 23rd, Expo showed an error rate of 0.01% while OneSignal showed 0.01%. Both rates are within acceptable thresholds for production push notification delivery, and Knock automatically retries failed requests to minimize the impact of transient errors.
On the Knock platform, Expo handled 25M–100M notifications from July 25th to October 23rd compared to <1M for OneSignal. Expo volume has remained stable, while OneSignal volume has remained stable.
Yes. Knock enables you to integrate multiple push notification providers into a single notification workflow. You can use Expo and OneSignal side by side, route traffic between them, or migrate from one to the other without changing your application code.
Expo strengths include simplifies push for react native apps by abstracting away apns and fcm complexity and free push notification delivery with no per-message costs. OneSignal strengths include generous free tier with unlimited mobile push makes it accessible for small teams and hobby projects and visual editor and prebuilt ui enable non-technical teammates to compose, target, and schedule campaigns. On the other hand, Expo drawbacks include tied to the expo ecosystem; apps ejected from expo lose some push conveniences, while OneSignal drawbacks include workflow builder is tuned for marketing campaigns and lacks granular, event-driven control for transactional product messaging.
Use either provider with Knock
Knock enables you to integrate Expo, OneSignal, or any combination of push notification providers into a single notification workflow. Manage templates, orchestrate cross-channel delivery, and switch providers without changing your code.