Stream · Rate Limits

Getstream Rate Limits

Stream applies rate limits per API endpoint and per platform on a rolling 1-minute window. Platforms (Server-side, iOS, Android, Web) have independent counters and do not share quota, so a server-side script hitting a limit does not affect mobile or web clients. Each response returns the current quota in the X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers, and a 429 status is returned when a limit is exceeded. Per-user endpoints are additionally capped at roughly 60 requests per minute per endpoint and platform; app-level endpoint limits range from about 60 to 10,000 requests per minute. Applications can query their live quotas via GET /rate_limits. WebSocket connections are separately capped at 50 concurrent connections per user in production (3 in development).

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

It captures 4 rate-limit definitions, measuring requests and connections.

The profile also includes 3 backoff/retry policies defined and response codes documented for throttled.

Tagged areas include Chat, Rate Limiting, Quotas, and Throttling.

4 Limits Throttle: 429
ChatRate LimitingQuotasThrottling

Limits

Per-User Endpoint Limit user
requests
~60 per minute per endpoint per platform
Each individual user is capped per endpoint and platform.
Per-App Endpoint Limit app
requests
~60 to 10,000 per minute (varies by endpoint)
Application-wide limit that varies by endpoint; not shared across platforms.
Platform Isolation platform
requests
independent counters per platform
Server-side, iOS, Android, and Web each have their own quota pool.
Concurrent WebSocket Connections user
connections
50 in production, 3 in development
connectUser() should be called once per user session; extra sockets cause billing and behavior issues.

Policies

Per-Endpoint Per-Platform Windows
Limits are enforced on a 1-minute rolling window, isolated by endpoint and platform.
Dynamic Adjustment
Query-endpoint limits may be raised or lowered based on platform load and the application's usage patterns.
Backoff Strategy
Clients should honor the X-RateLimit-Reset timestamp and implement exponential backoff with jitter on 429 responses.

Sources