Chat / Platform API
Current version: v3
    Chat Platform API v3
    Chat Platform API
    Chat
    Platform API
    Home
    /
    Chat
    /
    Platform API
    /
    Application

    Rate limits

    Sendbird applications are rate-limited to ensure the best experience for all users. The rate limits vary depending on your plan's allowed quota of monthly active users (MAU). You can find which rate limits your organization is subject to under Organization settings > General on the Sendbird Dashboard. If you exceed the rate limits, Sendbird server will return an error response.

    Note : Sendbird organizations created after May 28, 2020, 00:00:00 UTC are automatically rate-limited, while those created before this date will have sufficient time to adjust their applications before rate limits apply.


    Plan-based rate limits

    By default, the following rate limits apply per endpoint and per application. While the following table shows the maximum values, the number of requests per second in general usage should be set lower.

    MethodFree trial5K MAU10K MAU25K MAU50K MAU100K+ MAU

    GET

    10/sec

    60/sec

    100/sec

    200/sec

    400/sec

    600/sec

    POST

    5/sec

    10/sec

    20/sec

    40/sec

    100/sec

    200/sec

    PUT

    5/sec

    10/sec

    20/sec

    40/sec

    100/sec

    200/sec

    DELETE

    5/sec

    10/sec

    20/sec

    40/sec

    100/sec

    200/sec

    Note : We recommend you implement a retry logic based on the value of the X-RateLimit-RetryAfter error response. If you need higher rate limits, contact our sales team.


    Rate-limited APIs

    The following HTTP requests have stricter limits to prevent any server issues it may cause when too many requests are sent at once.

    Note: API endpoints are relative to the base URL allocated to your application. In this page, the / endpoint refers to https://api-{application_id}.sendbird.com/v3/.

    ScopeHTTP requestLimit

    Application

    POST /migration/{channel_url}

    5 requests per second

    User

    PUT /users/{user_id}

    5 requests per second

    User

    POST /group_channels

    5 requests per second

    User

    POST /group_channels/{channel_url}/invite

    5 requests per second

    User

    POST /{channel_type}/{channel_url}/messages

    5 requests per second
    * This isn’t effective for group channels.

    User

    PUT /group_channels/{channel_url}/messages/mark_as_read

    5 requests per second


    Error responses

    For every rate-limited HTTP request, a status response, such as 200 OK success and 429 Too Many Requests, will return including the headers below.

    HeaderTypeDescription

    X-RateLimit-Limit

    int

    Indicates how many calls your application can make during the time specified in this header. For example, a value of 100;w=60 indicates that your application can make 100 calls in 60 seconds.

    X-RateLimit-Remaining

    int

    Indicates how many remaining calls your application can make within the current time window. If the rate limit is exceeded, the 429 Too Many Requests status response is returned with a value of 0.

    X-RateLimit-Reset

    float

    Indicates the number of seconds that must be passed from the current time until the rate limit is reset.

    X-RateLimit-RetryAfter

    float

    Indicates the number of seconds that must be passed from the current time until you are able to send a request again.

    When a request is rate-limited, the following is returned in the response body.

    HTTP 429 Rate Limited
    
    X-RateLimit-Limit: 100;w=60
    X-RateLimit-Remaining: 0
    X-RateLimit-Reset: 1583170221.32
    X-RateLimit-RetryAfter: 0.73
    
    {"message": "Too many requests", "code": 500910, "error": true}
    

    Note : See the Error codes page for more information.