Rate Limits

Last Edit: Nov 12 2020

Every application is rate limited at the API endpoint. These limits are set on a 1-minute, 15-minute, and 1-hour time windows; API requests have specific rate limits. For example, reading a feed has a different limit than establishing a follow relationship.

What Happens When You're Rate Limited

If an API call exceeds a rate limit during the target time window, subsequent requests for the same API function will be rejected. The payload returned for that API call will indicate that rate-limiting has occurred.

If your application becomes rate-limited, it doesn't block other API calls from working. For example, hitting a rate limit on follows will still allow you to read feeds. Each 'resource' is rate-limited separately.

Rate limits are reset at the end of each time window.

How To Avoid Rejected API Requests

For Pro and Enterprise plans, Stream will review your feed group architecture, and set higher rate limits for your production application. For other paid plans, you will need to review responses from Stream to watch for error conditions indicating that your API request was rate-limited and retry. We recommend implementing an exponential back-off retry mechanism.

Rate Limits

API Request Calls per minute Calls per 15 minutes Calls per hour
Adding Activities 1,000 12,000 48,000
Removing Activities 300 3,600 14,400
Updating Activities 250 3,000 12,000
Updating Activity To Targets 250 3,000 12,000
Retrieving Activities 2,000 24,000 96,000
Following Feeds 500 6,000 24,000
Unfollowing Feeds 250 3,000 12,000
Reading Feed Followers 200 2,400 9,600
Reading Followed Feeds 500 6,000 24,000
Batch Follow 250 3,000 12,000
Batch Unfollow 0 0 0
Collections upsert 250 3,000 12,000
Collections select 250 3,000 12,000
Collections delete many 250 3,000 12,000
Collection read 1,000 10,000 100,000
Collections add 1,000 10,000 100,000
Collections remove 1,000 10,000 100,000
Collections update 1,000 10,000 100,000
User add 1,000 10,000 100,000
User read 1,000 10,000 100,000
User update 1,000 10,000 100,000
User delete 1,000 10,000 100,000
Reaction add 1,000 10,000 100,000
Reaction read 1,000 10,000 100,000
Reaction update 1,000 10,000 100,000
Reaction delete 1,000 10,000 100,000
Image upload 250 3,000 12,000
Image processing 250 3,000 12,000
Image delete 250 3,000 12,000
File upload 250 3,000 12,000
File delete 250 3,000 12,000
Analytics Track Engagement 1,000 10,000 100,000
Analytics Track Impression 1,000 10,000 100,000
Analytics Track and Redirect 1,000 10,000 100,000
Batch Unfollow is disabled by default and requires a paid subscription.