OneSignal · Rate Limits

Onesignal Rate Limits

OneSignal publishes two independent limit systems that are easy to confuse and have very different consequences. API rate limits are per app and per endpoint and return 429 with Retry-After; they only throttle. Application message limits count delivered messages in a rolling 15-minute window and, when exceeded, temporarily DISABLE the app. Only the second one can take a customer offline.

Onesignal Rate Limits is the machine-readable rate-limit profile for OneSignal on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 6 rate-limit definitions, measuring messages delivered, not API requests.

The profile also includes 4 backoff/retry policies defined and response codes documented for throttled, server_error, and non_retryable.

Tagged areas include Notifications, Push, Email, SMS, and Rate Limiting.

6 Limits Throttle: 429
NotificationsPushEmailSMSRate LimitingQuotasThrottling

Limits

Create message / Cancel message per app, per endpoint
6000
Create custom events per app, per endpoint
rate-limited independently from Create Message; exact rate not published
Create, update or delete users and subscriptions per app
1000
View endpoints (messages, templates, users) per app
1
Message History and CSV exports per app
keep parallel exports under 100 GB per file
Application message limit (app disablement) per app
messages delivered, not API requests
10x the app's total subscribed Subscriptions

Policies

Simple retry strategy
Wait 100 seconds before retrying (aligned with the maximum API response timeout). Retry up to 3 total attempts (original + 2 retries). Always reuse the same idempotency_key.
Time-sensitive retry strategy
Exponential backoff with jitter (2s, 4s, 8s, up to 60s). Cap at 10 total attempts and stop after 10-15 minutes. For 429s: wait max(Retry-After, backoff).
Retry classification
Retriable: network timeouts, no response, 429, 5xx. Non-retryable: 400, 401, 403 — these are input, authentication or permission problems, not temporary failures.
Idempotency on retry
Never retry a message send without an idempotency_key. Reuse the SAME key for every attempt. See conventions/onesignal-conventions.yml.

Sources

Work with this as data

Every rate limit here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for rate limits

4 MCP tools reach this
  • find_rate_limitsBrowse and filter every rate limit in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This rate limit
curl "https://apis.io/api/v1/rate-limits/onesignal-rate-limits"
All rate limits
curl "https://apis.io/api/v1/rate-limits?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.