CoinGecko
- Free allowance
- Demo plan USD 0/month: 10,000 call credits per month at 100 calls per minute, 1 API key, daily and hourly coin history for the past 1 year; a keyless public API also answers at about 5 calls per minute per IP
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- request-rate10,000 calls per calendar month on the Demo plan; 100 calls per minute on the Demo plan
- Evidence
- documented40 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
| Free tier | Demo plan USD 0/month: 10,000 call credits per month at 100 calls per minute, 1 API key, daily and hourly coin history for the past 1 year; a keyless public API also answers at about 5 calls per minute per IP unit requests; metered on request-count; 1 call = 1 credit on every endpoint, and requests are counted from the first day of the calendar month to the last. Every request counts toward the per-minute limit, 4xx and 5xx answers included. The keyless public API (api.coingecko.com/api/v3 with no key, and api.geckoterminal.com/api/v2 for onchain DEX data) shares an IP-based pool of about 5 calls per minute that varies with server load; a keyless request past 365 days of history answered HTTP 401 with error_code 10012. The cheapest paid plan is Basic: paid plans start at USD 35/month with 100,000 calls a month at 300 calls per minute, and a second pricing table shows Basic at USD 29/mo billed yearly. |
|---|---|
| Price | none stated |
| Limits |
History window: daily and hourly coin data reach back 1 year on Demo and keyless (a 400-day keyless request answered error_code 10012); no limits kind names a history window. Bulk path: no bulk path; the per-coin CSV/XLS export on the website covers 1 year. |
| Binding | request-rate 100 calls a minute would spend the month's 10,000 credits in 100 minutes, so the monthly count binds first. |
| Identity | email A Demo key needs a CoinGecko account: Google, Apple, or an email with a password of at least 8 characters (one uppercase, one lowercase, one number, one special character), with an email confirmation step; the pricing page says no credit card is required. The keyless public API needs no account and no key. |
| Egress | not metered in bytes; the 10,000 calls a month bound what a Demo key can pull |
| Per-object cap | 1 year of daily and hourly history per coin on Demo and on the keyless API; 2 years on Basic; daily history from 2013 and hourly history from 2018 on Analyst and above |
| Interface | rest GET https://api.coingecko.com/api/v3/... with the Demo key in x_cg_demo_api_key (header or query); paid keys use pro-api.coingecko.com and x_cg_pro_api_key. The same root answers with no key at the keyless rate. WebSocket is on paid plans only. endpoint: https://api.coingecko.com/api/v3 |
| Tooling | curl or any HTTP client; the website's historical-data page exports up to 1 year per coin as CSV or XLS |
| Composes with | Crypto prices and market caps for a year back at 10,000 calls a month; it pairs with a stock or economic source such as Tiingo or FRED when a model mixes asset classes. |
| Reliability | A call past the per-minute limit answers HTTP 429; a keyless 429 carries a Retry-After of 60 seconds and a JSON body with status.error_code 429 and the message "You've exceeded the Rate Limit."; keyless limits are shared per IP and vary with server load, so a shared egress address meets 429 sooner. |
| Notes | Two free routes: the keyless public API (no account, about 5 calls a minute per IP) and the Demo key (email, 10,000 calls a month at 100 a minute). Both stop at 1 year of history; full history from 2013 starts at the Analyst plan. |
| Evidence note | documented The Demo quota, rate and history depth are documented on the pricing page and the rate-limit page. Two keyless probes measured the public API: a price answered HTTP 200 and a 400-day history answered 401 with the 365-day limit. A keyless burst measured the 429 answer of the public API. The Demo key's own 429 body and Retry-After, and the answer at the monthly credit cut-off, need a Demo key to measure (unverified: behind a sign-up); the knowledge base says handling at the monthly limit depends on billing settings and describes only the overage-enabled case. |
| Parsed numbers |
|
Evidence 40
| date | source | what it proved |
|---|---|---|
| 2026-10-31 | www.coingecko.com/en/api/pricing | the Demo plan is free with 100 calls per minute and 10,000 calls a month |
| 2026-10-31 | www.coingecko.com/en/api/pricing | Demo has 10k call credits a month against 100k on the first paid plan |
| 2026-10-31 | www.coingecko.com/en/api/pricing | Demo reaches 1 year of daily coin history; paid tiers reach back to 2013 |
| 2026-10-31 | www.coingecko.com/en/api/pricing | not published |
| 2026-10-31 | www.coingecko.com/en/api/pricing | the Demo plan needs no credit card |
| 2026-10-31 | www.coingecko.com/en/api/pricing | every endpoint costs one credit per call |
| 2026-10-31 | www.coingecko.com/en/api/pricing | the monthly count runs from the first to the last day of the calendar month |
| 2026-10-31 | www.coingecko.com/en/api/pricing | the cheapest paid plan is USD 35/month with 300 calls per minute and 100,000 a month |
| 2026-10-31 | docs.coingecko.com/docs/common-errors-rate-limit | the keyless API is rate limited per IP and shared by every user on that IP |
| 2026-10-31 | docs.coingecko.com/docs/common-errors-rate-limit | error answers count toward the per-minute limit |
| 2026-10-31 | docs.coingecko.com/docs/common-errors-rate-limit | a Demo key is passed as x_cg_demo_api_key and a paid key as x_cg_pro_api_key |
| 2026-10-31 | docs.coingecko.com/docs/keyless-public-api | the keyless public API needs no account and no key |
| 2026-10-31 | docs.coingecko.com/docs/keyless-public-api | keyless CoinGecko endpoints allow about 5 calls per minute, varying with load |
| 2026-10-31 | www.coingecko.com/en/api_terms | not published |
| 2026-10-31 | www.coingecko.com/en/api_terms | a stored cache is refreshed at least every 24 hours |
| 2026-10-31 | www.coingecko.com/en/api_terms | stored data is deleted when access to the API is terminated |
| 2026-10-31 | www.coingecko.com/en/api/pricing | WebSocket is not on the Demo plan and starts at 5 sockets on the first paid plan |
| 2026-10-31 | www.coingecko.com/en/api/enterprise/data-license | not published |
| 2026-10-31 | www.coingecko.com/en/coins/bitcoin/historical_data | the website exports a coin's history as XLS or CSV |
| 2026-10-31 | www.coingecko.com/en/coins/bitcoin/historical_data | the website history page covers 1 year; more needs the API |
| 2026-10-31 | www.coingecko.com/account/sign_up | the account can be opened with Google; the same form offers Apple and email |
| 2026-10-31 | www.coingecko.com/account/sign_up | an email signup sets a password of at least 8 characters with mixed classes |
| 2026-10-31 | www.coingecko.com/account/sign_up | an email signup is confirmed through emailed instructions |
| 2026-10-31 | probe: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd | the keyless simple/price endpoint answered HTTP 200 with no key |
| 2026-10-31 | probe: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd | the keyless call returned a bitcoin price in USD |
| 2026-10-31 | probe: https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=400&interval=daily | a keyless request for 400 days of history answered HTTP 401 |
| 2026-10-31 | probe: https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=400&interval=daily | keyless history is limited to the past 365 days |
| 2026-10-31 | www.coingecko.com/en/api/pricing | a second pricing table shows Basic at USD 29/mo billed yearly |
| 2026-11-02 | probe: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd | a keyless call past the pool limit answered with a Retry-After of 60 seconds |
| 2026-11-02 | probe: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd | the keyless call answered HTTP 429 |
| 2026-11-02 | probe: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd | the keyless 429 body is a JSON object with status.error_code 429 |
| 2026-11-02 | docs.coingecko.com/docs/errors-and-rate-limits | HTTP 429 is the rate-limit answer |
| 2026-11-02 | docs.coingecko.com/demo/reference/authentication | a Demo credit is deducted on an HTTP 200 request |
| 2026-11-02 | docs.coingecko.com/demo/reference/coins-id-market-chart | Demo history reaches back 365 days |
| 2026-11-02 | www.coingecko.com/en/api/pricing | Demo daily coin history is 1 year |
| 2026-11-02 | www.coingecko.com/en/api/pricing | Demo hourly coin history is 1 year |
| 2026-11-02 | support.coingecko.com/articles/5761735734-what-happens-when- | handling at the monthly limit depends on billing settings; only the overage-enabled case is described |
| 2026-11-02 | www.coingecko.com/en/api/pricing | the Demo rate and monthly cap are documented |
| 2026-11-02 | www.coingecko.com/en/api/pricing | the Demo plan is unchanged: 100 calls/min, 10,000 a month |
| 2026-11-03 | www.coingecko.com/en/api/pricing | Demo gets 1 year of daily and hourly coin history, Basic 2 years, and Analyst and above daily from 2013 and hourly from 2018 |
More fields 3
| bulk path | no bulk path; per-coin CSV/XLS export of 1 year on the website |
|---|---|
| history depth | 1 year of daily and hourly coin data on Demo and keyless; from 2013 on Analyst and above |
| credit deduction | A Demo request deducts 1 credit from the monthly quota when it answers HTTP 200. |
Unknown values 1
- retention stated: the field does not apply to this kind of offer