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.

EndpointRate Limit
Create notificationFree 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 subscriptions1000 requests/sec/app
1 request/sec/user or subscription
Up to 100 property modifications per request.
View messages, View templates, View user, View message1 request/sec/app
10 requests/sec look-back.
Message History, Audience Activity CSVPlease keep parallel request sizes under 100 GB per file.

If you exceed a rate limit, you’ll receive an HTTP 429 response:

{
  "errors": ["API rate limit exceeded."]
}

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

ScenarioRate 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?

  1. Review your code for issues (e.g., infinite loops or retry storms).
  2. Log into the Dashboard.
  3. Click the re-enable link in the red banner at the top.

If you need help, email support@onesignal.com for assistance.