# Crypto data API quota calculator

Price one crypto data job in each API's own unit, weight, credits or requests, and see whether it fits the free tier or how many times over it runs.

*https://cryptomarkets.tools/calculators/crypto-api-quota · next to Crypto Market Data APIs*

**Answer:** Enter how many symbols you track, the candle interval, how often you refresh, how much history you backfill and how often you poll prices. The calculator converts that job into Binance request weight, OKX requests, CoinGecko and CoinMarketCap credits, CoinAPI credits and Glassnode credits, using each provider's published cost per request, and sets the result against that provider's own quota and per-minute limit. Providers whose meter has no published formula are named and left out.

The calculator itself is interactive at https://cryptomarkets.tools/calculators/crypto-api-quota. These are the figures it multiplies, each with the document it was read from:

## Rates

| Rate | Value |
| --- | --- |
| Binance, tier | Public, no key |
| Binance, quota | 6,000 weight a minute |
| Binance, rate limit | (the quota is per minute) |
| Binance, cost in weight | candle request 2; ticker request 2 per symbol |
| Binance, candle intervals | 1m: 1,000 per request; 5m: 1,000 per request; 15m: 1,000 per request; 1h: 1,000 per request; 1d: 1,000 per request |
| Binance, source | [Market data endpoints, Spot REST API (request weights per endpoint)](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints), read 2026-09-26; quota from the card, verified 2026-09-19 |
| OKX, tier | Public, no key |
| OKX, quota | none (rate limits only) |
| OKX, rate limit | per endpoint, per 2 seconds: candles 40, history-candles 20, tickers 20 |
| OKX, cost in requests | candle request 1; ticker request 1 per symbol |
| OKX, candle intervals | 1m: 300 per request; 5m: 300 per request; 15m: 300 per request; 1h: 300 per request; 1d: 300 per request |
| OKX, source | [API v5 reference, Market Data and Public Data rate-limit rules](https://www.okx.com/docs-v5/en/), read 2026-09-26; quota from the card, verified 2026-09-19 |
| CoinGecko, tier | Demo |
| CoinGecko, quota | 10,000 credits a month |
| CoinGecko, rate limit | 100 requests a minute |
| CoinGecko, cost in credits | candle request 1; ticker request 1 per symbol |
| CoinGecko, candle intervals | 1m: no (1-minute granularity is Enterprise-only); 5m: 288 per request, 1 day back; 15m: no (no 15-minute granularity; the range picks 5-minute, hourly or daily); 1h: 2,160 per request, 365 days back; 1d: whole range in one request, 365 days back |
| CoinGecko, source | [Authentication, Usage Credits](https://docs.coingecko.com/reference/authentication), read 2026-09-26; quota from the card, verified 2026-10-04 |
| CoinMarketCap, tier | Basic |
| CoinMarketCap, quota | 15,000 credits a month |
| CoinMarketCap, rate limit | 50 requests a minute |
| CoinMarketCap, cost in credits | candle request none on this tier; ticker request 1 per 250 symbols |
| CoinMarketCap, candle intervals | none (coin-level OHLCV, latest and historical, starts at Startup ($95 a month)) |
| CoinMarketCap, source | [API reference, Cryptocurrency endpoints (credit use per endpoint)](https://coinmarketcap.com/api/documentation/pro-api-reference/cryptocurrency), read 2026-09-26; quota from the card, verified 2026-09-26 |
| CoinAPI, tier | Startup ($79 a month; there is no free plan) |
| CoinAPI, quota | 1,000 credits a day |
| CoinAPI, rate limit | not stated |
| CoinAPI, cost in credits | candle request 1 per call, or 1 per 100 points returned with `limit` (floor 1); ticker request 1 per symbol |
| CoinAPI, candle intervals | 1m: 1,000 per request, assumed; 5m: 1,000 per request, assumed; 15m: 1,000 per request, assumed; 1h: 1,000 per request, assumed; 1d: 1,000 per request, assumed |
| CoinAPI, source | [Market Data API FAQ, credit consumption and the limit parameter](https://www.coinapi.io/products/market-data-api/faq), read 2026-09-26; quota from the card, verified 2026-09-19 |
| Glassnode, tier | Professional, Base access (annual, from $7,000 a year) |
| Glassnode, quota | 50 credits a month |
| Glassnode, rate limit | 5 requests a minute |
| Glassnode, cost in credits | candle request 2 per asset (1 for Bitcoin); ticker request not priced |
| Glassnode, candle intervals | 1m: no (not a Glassnode resolution; the finest is 10 minutes, on Full access); 5m: no (not a Glassnode resolution; the finest is 10 minutes, on Full access); 15m: no (not a Glassnode resolution; the finest is 10 minutes, on Full access); 1h: no (hourly resolution needs the Full access level (+$3,000 a year)); 1d: whole range in one request, 1,460 days back |
| Glassnode, source | [Data Credits](https://docs.glassnode.com/basic-api/api-credits), read 2026-09-26; quota from the card, verified 2026-09-19 |
| Dune | not modelled — charges credits for compute it prices only after a query runs, and its two billing pages disagree on what reading a result costs; the free plan is a 14-day trial |
| CryptoQuant | not modelled — the deduction scales with the rows returned and the data type, and no rate card is published |
| Nansen | not modelled — its OHLCV sits in a backtesting endpoint group whose credit cost neither the card nor the guide states |
| Amberdata | not modelled — the price is a subscription per exchange and market, not a meter; a call outside the subscribed venue is rejected rather than charged |
| Kaiko | not modelled — the price is a contract quoted per instrument, data type and granularity; the 6,000 requests a minute is a ceiling, not what you pay for |
| Assumption, page size | 1,000 candles per request where the card states none |
| Assumption, month | 30 days |

## What it computes

One job, priced six ways. The job is what you would write down before opening any pricing page:
how many symbols, which candle interval, how often you fetch the new candles, how many days of
history you load once at the start, and whether you also poll a latest price several times a
minute. The calculator turns that into requests, then into each provider's own unit, and then
sets it against two different limits, because every provider here has one or both of them.

**The budget.** A quantity that runs out: [Binance](https://cryptomarkets.tools/tools/binance-api) request weight per
minute, [CoinAPI](https://cryptomarkets.tools/tools/coinapi) credits per day, [CoinGecko](https://cryptomarkets.tools/tools/coingecko-api),
[CoinMarketCap](https://cryptomarkets.tools/tools/coinmarketcap-api) and [Glassnode](https://cryptomarkets.tools/tools/glassnode) credits per month.
The running job is converted into the budget's own period, so a per-day load is compared with a
per-day quota and multiplied out to a month for a monthly one. Where it does not fit, the verdict
says by how many times, rounded up.

**The rate.** A ceiling on how fast you may ask, whatever the budget says: calls per minute on
CoinGecko, CoinMarketCap and Glassnode, and per-endpoint counters in requests per two seconds on
[OKX](https://cryptomarkets.tools/tools/okx-api), which has no budget at all. The busiest minute is taken to be the one in
which a refresh fires every symbol at once, plus that minute's ticker polls. A job that exceeds
the ceiling can usually be paced out; the verdict flags it so that you plan the pacing rather than
meet a 429.

The backfill is shown separately, because it happens once: its cost in the provider's unit, the
share of one period's quota it uses, and how long it takes when paced at the rate limit.

## Where the numbers come from

Two places, both already on this site and both dated. What one request costs in each unit comes
from [why API quotas don't compare](https://cryptomarkets.tools/guides/why-api-quotas-dont-compare), which reads it from each
provider's own documentation and cites the page: Binance's weight per endpoint, CoinGecko's credit
per successful call, CoinMarketCap's credit per 250 items on latest quotes, CoinAPI's credit per
100 points returned when a call uses `limit`, and Glassnode's credit per asset per request. The
quota, the per-minute limit, the page size and the history each tier reaches come from the
provider's card, each verified on the date the rate table prints beside it.

The default scenario is the guide's own worked job, a year of daily candles for 20 assets,
refreshed once a day. Its backfill column should match the guide's table line for line; where it
does not, one of the two pages is wrong, and the error report at the foot of this page is the way
to say so.

The figures live in one table that both this form and the page's Markdown twin read, so the twin
prints every number the form multiplies, with its document and date.

## What it leaves out

**Providers whose meter is not a formula.** [Dune](https://cryptomarkets.tools/tools/dune) charges for compute it prices
only after a query runs, and its two billing pages disagree on what reading a result costs.
[CryptoQuant](https://cryptomarkets.tools/tools/cryptoquant) deducts by rows returned and data type and publishes no rate
card. [Nansen](https://cryptomarkets.tools/tools/nansen) serves OHLCV from a backtesting endpoint group whose credit cost is
not stated. [Amberdata](https://cryptomarkets.tools/tools/amberdata) and [Kaiko](https://cryptomarkets.tools/tools/kaiko) sell access per venue, market
or instrument; the meter exists but is not what you pay for. The rest of the
[market data APIs](https://cryptomarkets.tools/categories/market-data-apis) are not in the guide's conversion and are not
modelled yet.

**Quota changes.** Free tiers in this market are re-cut, often without notice: CoinMarketCap changed
what a credit buys on 7 August 2026, and its own pages still disagree about the free allowance. The table carries the date each figure was read. Check the provider's page before relying
on a verdict near the line.

**Enterprise tiers and overage.** Each provider is modelled at the cheapest tier that has an API:
free for Binance, OKX, CoinGecko and CoinMarketCap, Startup for CoinAPI, which has no free plan,
and Professional with its included credits for Glassnode. Higher tiers, purchased credit packs and
CoinAPI's metered overage are not priced; "needs 4× the quota" is the question to take to the
pricing page, not its answer.

**Websocket streams.** A stream is metered differently, by connection, by subscription or by bytes,
and a job that streams candles instead of polling them does not spend REST weight or credits in
the way modelled here. CoinAPI bills websocket data by the gigabyte and CoinGecko charges a
fraction of a credit per websocket response; neither is in the table.

**The page size.** Where a card states how many candles one request returns, that figure is used:
1,000 on Binance and 300 on OKX, applied to OKX's history endpoint too because the card states no
separate figure for it. Where a card states none, as for CoinAPI, the calculator assumes 1,000 and
says so. A smaller real page means more requests, which matters for the rate limit; on CoinAPI's
per-100-points meter it barely changes the credits.

**Batching, per-IP sharing and failed calls.** Each symbol is one request, except on CoinMarketCap
where the card documents the batch rule for latest quotes. An endpoint that prices many symbols in
one call would cost less than shown. Binance and OKX count per IP, so every process behind one
address shares the budget. Retries are not counted, and on CoinGecko a failed call spends rate but
not credits.

**CoinGecko's candles are price points.** On the Demo plan the historical chart endpoint returns
prices at a granularity chosen from the range, not OHLC candles; it is what the guide prices and
what is modelled here. Its OHLC endpoint returns 4-day candles beyond 30 days on Demo.

## Tools this bears on

- [Binance Market Data API](https://cryptomarkets.tools/tools/binance-api.md) — One venue's own tape — prices, books, trades and funding, free and unkeyed.
- [OKX Market Data API](https://cryptomarkets.tools/tools/okx-api.md) — Public v5 endpoints for spot, swaps, futures and options — open, and tightly licensed.
- [CoinGecko API](https://cryptomarkets.tools/tools/coingecko-api.md) — Prices, market data and onchain DEX data for 18,000+ coins, via REST, websocket or MCP.
- [CoinMarketCap API](https://cryptomarkets.tools/tools/coinmarketcap-api.md) — Prices, rankings, DEX and derivatives data, metered by rows returned rather than by call.
- [CoinAPI Market Data API](https://cryptomarkets.tools/tools/coinapi.md) — One symbol scheme over 400+ venues, metered in REST credits and WebSocket gigabytes.
- [Glassnode](https://cryptomarkets.tools/tools/glassnode.md) — A curated metric set in a charting studio, with the API on a separate annual plan.

## FAQ

### Why does the same job fit one free tier and need twenty times another?

Because the units are different. Binance meters request weight that refills every minute, so a modest job barely registers. Glassnode charges credits per asset per request out of a small monthly allowance, so refreshing twenty assets every day spends that allowance in under two days. Neither number means anything until it is multiplied out to the same job.

### Does a free tier that fits mean the job is free?

It means the meter will not stop you. It says nothing about the licence. The Binance and OKX market data is free to read but not free to redistribute, CoinGecko's Demo plan requires attribution, and CoinMarketCap's free licence covers products for personal, non-commercial end users. Read the terms on each card before shipping anything other people see.

### Why is CoinMarketCap marked as unable to do a candle job on the free plan?

Coin-level OHLCV, latest and historical, starts at the Startup plan on CoinMarketCap. The free Basic plan can still price the ticker part of a job, at one credit per 250 symbols on the latest-quotes endpoint, but not the candles.

### Why are Dune, CryptoQuant and Kaiko not in the table?

Their meters cannot be written as a formula from their own documentation. Dune prices compute after a query runs, CryptoQuant's deduction scales with rows and data type without a rate card, and Kaiko and Amberdata sell an entitlement per venue or instrument rather than per request. The calculator names them rather than guessing.

## Sources

1. [Market data endpoints, Spot REST API (request weights per endpoint)](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints) — Binance, read 2026-09-26
2. [API v5 reference, Market Data and Public Data rate-limit rules](https://www.okx.com/docs-v5/en/) — OKX, read 2026-09-26
3. [Authentication, Usage Credits](https://docs.coingecko.com/reference/authentication) — CoinGecko, read 2026-09-26
4. [Coin Historical Chart Data by ID, auto-granularity](https://docs.coingecko.com/demo/reference/coins-id-market-chart) — CoinGecko, read 2026-09-26
5. [API reference, Cryptocurrency endpoints (credit use per endpoint)](https://coinmarketcap.com/api/documentation/pro-api-reference/cryptocurrency) — CoinMarketCap, read 2026-09-26
6. [Market Data API FAQ, credit consumption and the limit parameter](https://www.coinapi.io/products/market-data-api/faq) — CoinAPI, read 2026-09-26
7. [Market Data API pricing, REST credits](https://www.coinapi.io/products/market-data-api/pricing) — CoinAPI, read 2026-09-26
8. [Data Credits](https://docs.glassnode.com/basic-api/api-credits) — Glassnode, read 2026-09-26

*Last updated 2026-10-06. Figures re-read from the documents on that date; corrected in place.*
