Expo
performance benchmarks
Browse Expo's observed push API response time, error rates, and incident history over the last 90 days.
Live performance metrics
Real-world performance data from notifications sent through Knock
| Message volume | Growth | Status page updates (30d) | Status page updates (90d) |
|---|---|---|---|
25M–100M | 2nd of 5 → | 2 | 6 |
From January 22nd to April 22nd, Knock routed 25M–100M messages through Expo. For adoption, Expo ranks 2nd of 5 providers based on new channel connections, with adoption holding steady over the period. Expo reported 6 status page updates over the last 90 days, 2 of which were in the last 30 days.
Response time
Response time measures how long Expo takes to accept a push API request from Knock, including connection overhead and any automatic retries. Lower values mean faster notification hand-off.
| Median (p50) | p90 | p95 | p99 |
|---|---|---|---|
42ms | 70ms | 93ms | 383ms |
From January 22nd to April 22nd, Expo averaged a daily median response time (p50) of 42ms across all days in the range, meaning half of all push API requests on a typical day complete in under 42ms. The 99th percentile averaged 383ms, with a peak daily p99 of 2076ms. These response times are in line with what we see across most push notification providers on the Knock platform.
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.
| Avg. daily error rate | Highest daily rate | Peak error date | Zero-error days | Days above 0.01% |
|---|---|---|---|---|
0.20% | 10.72% | Apr 9 | 48 | 24 |
From January 22nd to April 22nd, Expo averaged a 0.20% daily error rate for 5xx responses and timeouts, with the highest single-day error rate reaching 10.72%. This peak coincided with a major incident reported on Expo's status page (Some push notifications are not being delivered). This is slightly above average compared to other providers on Knock, though still within acceptable thresholds for production push delivery. Knock automatically retries failed requests, so transient provider errors rarely affect end-user delivery.
About these metrics: Data represents notifications sent through Knock to Expo 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 Apr 13, 2026 — Resolved Apr 13, 2026
Push notification delivery has returned to normal.
Started Apr 9, 2026 — Resolved Apr 9, 2026
The Expo push notification service suffered from partial unavailability due to an outage of one of our cache servers. Specifically, we deployed a change that optimized our cache entries to be more compact to improve the performance and efficiency of our caches. However, the cache could not handle the load from evicting the old entries. Clearing the cache solved the problem.
Started Feb 24, 2026 — Resolved Feb 24, 2026
The issue with Android and iOS push notification delivery has been resolved. All queued notifications have been delivered.
Started Feb 18, 2026 — Resolved Feb 18, 2026
This incident has been resolved.
Started Feb 17, 2026 — Resolved Feb 21, 2026
Insights charts are receiving data once more as of February 20, 5:10pm PT.
About Expo
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.
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
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
Frequently asked questions
What is Expo?
Expo is a push notification provider commonly used for react native app notifications, cross-platform mobile messaging, real-time alerts and updates. 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.
How much does Expo cost?
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. Expo does not offer a permanent free tier.
How fast is Expo?
Based on real-world data from notifications sent through Knock, Expo accepts push API requests with a median response time of 42ms (p50) and 383ms at the 99th percentile.
How reliable is Expo?
From January 22nd to April 22nd, Expo showed an error rate of 0.20% for 5xx responses and timeouts across 25M–100M messages sent through Knock. Knock automatically retries failed requests, so transient provider errors rarely affect end-user delivery.
What are the pros and cons of Expo?
Key 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. On the other hand, tied to the expo ecosystem; apps ejected from expo lose some push conveniences and platform features beyond push (eas build, eas update) require a paid plan at scale.
Does Expo work with Knock?
Yes. Knock has a native Expo integration that enables you to send push notifications through Expo as part of a cross-channel workflow. You can combine Expo with other channels like in-app feeds, SMS, email, and Slack from a single API call.
Use Expo with Knock
Knock enables you to integrate Expo alongside other notification channels, manage templates, and orchestrate cross-channel workflows from a single platform.