API Credits & Rate Limits

In our API, each call to an endpoint typically consumes one API credit. However, an important exception exists for bulk endpoints.

Bulk Endpoints and API Credits

Bulk endpoints allow users to retrieve data for multiple parameter combinations in a single request. While this is efficient in terms of reducing the number of API calls, it's essential to understand how API credits are consumed:

  • Credit Calculation: Each request to a bulk endpoint consumes as many API credits as individual calls to the standard endpoint would. For example:

    • Calling the /market/mvrv/bulk endpoint with 5 assets will consume 5 API credits.

    • If a bulk request includes 5 assets and 5 exchanges, it will consume 25 API credits (one for each combination's metric value).

  • Parameter Whitelists: When parameters are not specified (i.e., no whitelists are applied), the bulk endpoint returns data for all possible parameter values. This can lead to a significant number of API credits being consumed. To manage and predict credit usage effectively, it's advisable to:

For more detailed information on bulk endpoints and their usage, refer to the Bulk Metrics documentation.

Rate limits

  • applied to all requests, at 600 req/min or depending on your access tier.

  • metadata endpoints have their own rate limit which is 1200 req/min. The metadata rate limit is fully isolated and does not interfere with other requests.

  • 3 headers exist

    • x-rate-limit-limit: 600

      x-rate-limit-remaining: 599

      x-rate-limit-reset: 60

  • Requests to Studio from the same account do not count towards your rate limit.

  • You can talk with your account manager to increase the rate limit

  • If the rate limit is exceeded a 429 error is thrown

  • A common issue is

    • to run into rate limits when too many parameter combinations are requested, for example assets. Its then adviced to look at the Bulk endpoints which allow to request many parameters, like all assets or all exchanges, within a single request. This is a common pitfall when trying to keep various metrics up to date with many parameters

    • Another issue is when looping through many metrics, here its recommended to pass the rate limit headers to your http library which usuaully is capable of automatically respecting the rate limit

Rate Limits

Rate limits are applied to all API requests to ensure stability and fair usage. If you exceed the rate limit, the API will return a 429 Too Many Requests error.

To increase your rate limit, please contact your account manager.

General Limits

  • Standard Requests: Defaults to 600 req/min, or varies based on your specific access tier.

  • Metadata Endpoints: Separately limited to 1200 req/min. This bucket is fully isolated and does not impact your standard request quota.

Note: Requests made via Glassnode Studio from the same account do not consume your API rate limit.


Response Headers

Every API response includes headers to help you track your usage:

Header
Description

x-rate-limit-limit

The total request limit per minute (e.g., 600).

x-rate-limit-remaining

The number of requests left in the current window (e.g., 599).

x-rate-limit-reset

Time in seconds until the limit resets (e.g., 60).

Best Practices & Common Pitfalls

1. High Cardinality Requests (Assets/Exchanges) Running into limits when requesting many parameter combinations (e.g., iterating through a list of assets) is a common issue.

  • Solution: Use Bulk Endpointsarrow-up-right. These allow you to fetch data for multiple parameters (like "all assets" or "all exchanges") in a single request.

2. Looping Through Metrics Scripts that loop through numerous metrics often trigger rate limits.

  • Solution: Pass the x-rate-limit headers to your HTTP client library. Most modern libraries can read these headers to automatically pace requests and respect the reset window.

Last updated