API Quotas & Limits

We put limits and quotas on all requests to protect Cobaltmetrics from receiving more data than it can handle, and to ensure an equitable distribution of our resources. The limits and quotas are subject to change, and we also reserve the right to temporarily limit API usage without warning when we see a pattern of requests causing the API to be unusable for most users.

Please note that all requests count against your quotas, whether you use the web application or the REST API.

Quotas

We combine two types of quotas:

  • The number of requests you can send every minute;
  • The total number of requests you can send every day.

Unregistered users have lower quotas than registered users:

  • Unregistered users can send up to 30 requests per minute, and a total of 100 requests per day;
  • Registered users can send up to 60 requests per minute, and a total of 1,000 requests per day.

We will soon introduce a small number of plans with different quotas and privileges. Please contact us if you are interested.

HTTP headers

To monitor your usage, you can use the HTTP headers of any response sent by the API.

Per-minute quotas

By default, the following HTTP headers will be returned with each response:

  • X-PerMinute-RateLimit-Limit: the per-minute rate limit ceiling;
  • X-PerMinute-RateLimit-Remaining: the number of requests left for the current time window.

If you exceed the rate limit, the API will return a HTTP 429 "Too Many Requests" response code and the following HTTP headers will be added to the response:

  • Retry-After: how long you should wait before making another request;
  • X-PerMinute-RateLimit-Reset: the remaining window before the rate limit resets.

Daily quotas

By default, the following HTTP headers will be returned with each response:

  • X-RateLimit-Limit: the daily rate limit ceiling for your current plan;
  • X-RateLimit-Remaining: the number of requests left for the current time window.

If you exceed the rate limit, the API will return a HTTP 429 "Too Many Requests" response code and the following HTTP headers will be added to the response:

  • Retry-After: how long you should wait before making another request;
  • X-RateLimit-Reset: the remaining window before the rate limit resets.