Flutter

Rate Limits

LAST EDIT Oct 11 2024

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

Copied!

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

Copied!

For Premium 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

Copied!

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

Reading Feeds

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.