Rate limits
Understand OneSignal’s API and application rate limits, including per-endpoint thresholds and messaging limits based on your subscribed user count. Learn how to avoid triggering limits and what to do if your app is disabled.
API rate limits
Our API rate limits are designed to act as safety measures and should not interfere with normal usage. These limits apply per app and per endpoint.
Endpoint | Rate Limit |
---|---|
Create notification | Free plans: 150 requests/sec/app Paid plans: 6,000 requests/sec/app Each request can target multiple users or audiences. |
Creating, updating, or deleting users or subscriptions | 1000 requests/sec/app 1 request/sec/user or subscription Up to 100 property modifications per request. |
View messages, View templates, View user, View message | 1 request/sec/app 10 requests/sec look-back. |
Message History, Audience Activity CSV | Please keep parallel request sizes under 100 GB per file. |
If you exceed a rate limit, you’ll receive an HTTP 429
response:
The response includes a Retry-After
header with the number of seconds to wait before retrying. Monitor your app’s API usage patterns and implement exponential backoff when handling 429 errors.
Application rate limits
In a rolling 15-minute window, you may not send more than 10x your total number of subscribed users. For example:
- 1,000 subscribers = max 10,000 messages within any 15-minute window.
- 500,000 subscribers = max 5,000,000 messages within any 15-minute window.
This protects your app from unintended notification floods and is not expected to impact normal messaging behavior.
If this limit is exceeded:
- Your app may be temporarily disabled.
- An email will be sent to all App Administrators.
- A banner will appear in your Dashboard with a re-enable button.
Example dashboard banner to re-enable your app when hitting the application rate limit.
To re-enable your app, click the button in the banner. If needed, contact support@onesignal.com
for assistance.
Common scenarios
Scenario | Rate Limit Triggered? |
---|---|
1 notification to 1,000 users | ❌ No |
10 notifications to 1,000 users each | ✅ Yes (10 × 1,000 = 10,000) |
10,000 notifications to 1 user each | ✅ Yes |
9 notifications to 1,000 users in 14 minutes, then 1 more after 1 minute | ❌ No (new 15-min window) |
9 notifications to 1,000 users in 14 minutes, then 9 more after 1 minute | ❌ No (static 15-min windows) |
FAQ
Do apps get disabled if API limits are reached?
No. API rate limit breaches result in temporary throttling (429
), but apps are not disabled.
Will I be notified when my app is disabled?
Yes. All app administrators receive an email when the app is disabled or re-enabled, including date and time details. Anyone with access to the app can re-enable it. If you need help re-enabling your app, email support@onesignal.com
for assistance.
Will my app be automatically re-enabled?
No. You must manually re-enable it via the Dashboard. Investigate and fix any issues that caused the spike in messages.
How do I re-enable my app?
- Review your code for issues (e.g., infinite loops or retry storms).
- Log into the Dashboard.
- Click the re-enable link in the red banner at the top.
If you need help, email support@onesignal.com
for assistance.