Quotas and spike arrests

We ask our open platform developers to limit the number of calls to our API in order to ensure a pleasant listening experience for everyone. We also understand that different developers have different business needs when it comes to API calls. Applications that have more users will be making more API calls than those with fewer.


Quotas

We have determined that a reasonable quota for each application is 1,000 requests per minute. This number is large enough to allow our largest partner applications with the most users to function comfortably. If your application has fewer than 100,000 users, this number should be easy to adhere to. If your application is still surpassing the quota regularly, please make sure your application is adhering to a subscribe/eventing model rather than a polling model. See this documentation for more information.

If your application in aggregate makes more than 1,000 requests in a minute, your API request will fail with a TOO_MANY_REQUESTS error code. The response header will contain information about the request and request retry information as follows:

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Content-Length: 71
Connection: keep-alive
RateLimit-Limit: 1000
RateLimit-Remaining: 0
RateLimit-Reset: 32
Retry-After: 32

Where RateLimit-Reset and Retry-After are expressed in seconds.

Spike Arrests

We have also implemented a spike arrest policy, where any unusual spikes in requests get throttled with a TOO_MANY_REQUESTS error code. If there is an unusual spike in user activity, you might see an increase in these errors. This is to protect against malicious attacks, and should not be triggered by normal use.

The response header will contain:

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 32

Where Retry-After is expressed in seconds.

Spike arrests are measured in requests per second. An application's spike arrest will throttle if more than 100 requests occur in the space of one second.

If your application regularly and continuously surpasses its quota or spike policy, we will reach out to you to make changes. If ample time is given to make these changes and violations still occur regularly, we reserve the right to restrict or revoke your access.