## Websocket is now supported for Self-serve API subscribers
🗓️ **October 23, 2025**
### CoinGecko Websocket (Beta) is now available for [paid plan](https://www.coingecko.com/en/api/pricing) customers (Analyst plan & above)!
For Analyst, Lite, Pro, and Pro+ self-serve customers, you are now eligible to access the following Websocket features, and stream real-time data by utilising your monthly API plan credits:
* Max connections: 10 concurrent socket connections
* Max subscriptions: 100 token or pool data subscription per channel, per socket
* Credit charge: **0.1** credit per response returned, deducting from monthly API plan credits
Please visit [Websocket](https://docs.coingecko.com/websocket) for full details, and test out Websocket data streaming. We will gradually improve the Websocket and expand the feature limits. Please share your feedback and suggestion via this [**survey form**](https://forms.gle/gNE1Txc9FCV55s7ZA), or email soonaik\@coingecko\[dot]com .
### Notice: Temporary Disruption on MagicEden data for NFT Endpoints
Due to recent updates to MagicEden's API, we are updating our integration. During this period, endpoints for NFT data may be temporarily unavailable or return incomplete information.
<GreenSeparator />
## More Bonding Curve Support and New Ascending Sort for Megafilter
🗓️ **October 4, 2025**
### Now supported Bonding Curve (non-graduated) Data for More Endpoints
We've added support for bonding curve (e.g. launchpad graduation from PumpFun) data across multiple token endpoints:
* [Token Data by Token Address](https://docs.coingecko.com/reference/token-data-contract-address) — `/onchain/networks/{network}/tokens/{address}`
* [Tokens Data by Token Addresses](https://docs.coingecko.com/reference/tokens-data-contract-addresses) — `/onchain/networks/{network}/tokens/multi/{addresses}`
* [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address) — `/onchain/networks/{network}/tokens/{address}/info`
* [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address) — `/onchain/networks/{network}/pools/{pool_address}/info`
We've fixed an issue where the [Token OHLCV chart by Token Address](https://docs.coingecko.com/reference/token-ohlcv-token-address) endpoint returned data for the base token of the top pool instead of the requested token. It will now always return data for the specified token address.
## SDK Gains Public Treasury Coverage, MCP Adds Exchanges, NFTs, and ISO Support
🗓️ **September 25, 2025**
### Expanded SDK Coverage for Public Treasuries
We're broadening our SDK coverage to make treasury-level insights more powerful and easier to access. Check out what's new below (with functions from [our TypeScript SDK](https://github.com/coingecko/coingecko-typescript))
* Exchange coverage with [/exchanges/list](https://docs.coingecko.com/reference/exchanges-list), [/exchanges/](https://docs.coingecko.com/reference/exchanges-id), [/exchanges//tickers](https://docs.coingecko.com/reference/exchanges-id-tickers), and [/exchanges//volume\_chart/range](https://docs.coingecko.com/reference/exchanges-id-volume-chart-range)
* NFT markets with [/nfts/markets](https://docs.coingecko.com/reference/nfts-markets)
* Multi-address queries with [/onchain/networks//pools/multi/](https://docs.coingecko.com/reference/pools-addresses) and [/onchain/networks//tokens/multi/](https://docs.coingecko.com/reference/tokens-data-contract-addresses)
* We've removed endpoints such as [/coins/list](https://docs.coingecko.com/reference/coins-list), [/onchain/networks/trending\_pools](https://docs.coingecko.com/reference/trending-pools-network), and single-address pool/token queries in favor of more scalable multi-address endpoints
For example, when using the [Coin Historical Chart Data within Time Range](https://docs.coingecko.com/reference/coins-id-market-chart-range) tool, you can now pass ISO date strings directly instead of converting them into UNIX timestamps for your LLM tools.
1. [Crypto Treasury Holdings by Coin ID](https://docs.coingecko.com/reference/companies-public-treasury) endpoint now supports governments and more coins data as seen on [https://www.coingecko.com/en/treasuries/bitcoin](https://www.coingecko.com/en/treasuries/bitcoin)
2. **New endpoints:**
1. [Crypto Treasury Holdings by Entity ID](https://docs.coingecko.com/reference/public-treasury-entity)
2. [Entities List (ID Map)](https://docs.coingecko.com/reference/entities-list)
3. [Derivatives Exchange Data by ID](https://docs.coingecko.com/reference/derivatives-exchanges-id) endpoint now supports `coin_id` and `target_coin_id` to identify coins of ticker pairs.
```json JSON theme={null}
"tickers": [
{
"symbol": "ASTERUSDT",
"base": "ASTER",
"target": "USDT",
"coin_id": "aster-2", 👈 NEW
"target_coin_id": "tether" 👈 NEW
}
]
```
<GreenSeparator />
## Multiple Improvements: Bonding Curve Data, Pooled Token Balance, and More.
🗓️ **September 12, 2025**
### 🚀 Now Supporting Bonding Curve Data
Bonding curve data (launchpad graduation) is now supported for the followiing endpoints:
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
More endpoints to support bonding curve data soon.
### 🚀 Now Supporting Pooled Token Balance Data
The following endpoints now support additional pool token balance data by flagging this parameter `include_composition=true` :
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
* [Token Data by Token Address](https://docs.coingecko.com/reference/token-data-contract-address) (requires `include=top_pools` parameter to be flagged together)
* [Tokens Data by Token Addresses](https://docs.coingecko.com/reference/tokens-data-contract-addresses) (requires `include=top_pools` parameter to be flagged together)
**Payload example:**
```json theme={null}
"base_token_balance": "11700.98",
"base_token_liquidity_usd": "29630000",
"quote_token_balance": "66384614.21",
"quote_token_liquidity_usd": "66330000",
```
### 🚀 Other improvements
1. [Onchain Megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint now supports more `sort` options:
* `m5_price_change_percentage_desc`
* `h1_price_change_percentage_desc`
* `h6_price_change_percentage_desc`
* `fdv_usd_asc`
* `fdv_usd_desc`
* `reserve_in_usd_asc`
* `reserve_in_usd_desc`
2. [Top Gainers & Losers](https://docs.coingecko.com/reference/coins-top-gainers-losers) endpoint now supports additional price change percentage data by flagging `price_change_percentage` parameter. The available options are: `1h,24h,7d,14d,30d,60d,200d,1y`.
* Payload example:
```json theme={null}
"usd_1y_change": 21740.8866287307,
"usd_1h_change": -0.279590756868549,
"usd_24h_change": 3.13876587906131,
"usd_7d_change": -9.67782096261206,
"usd_14d_change": -3.39755498745517,
"usd_30d_change": -13.7768698159765,
"usd_60d_change": 29.9096824213076,
"usd_200d_change": 2282.33681679488
```
3. [Exchange Tickers by ID](https://docs.coingecko.com/reference/exchanges-id-tickers) endpoint now supports to sort tickers based on market cap, by flagging the `order` parameter.
* Available options: `market_cap_desc`, `market_cap_asc`
</Update>
<Update label="August 2025">
## Improved Update Frequency for selected Pro-API On-chain Endpoints
🗓️ **August 18, 2025**
\[Changes below are applicable to all [paid plan subscribers](https://www.coingecko.com/en/api/pricing).]
Dear CoinGecko API paid plan subscribers,
We're excited to announce an improvement to our API, aimed at providing you with even faster access to real-time data! Starting **02:00 UTC, September 2, 2025**, the edge cache duration for the following endpoints will be reduced from \*\*30s \*\*to **10s**, allowing you to retrieve updated data more frequently.
| Endpoints | Effective Date & Time | Current Update Frequency | New Update Frequency |
| [Token Price by Token Addresses](https://docs.coingecko.com/reference/onchain-simple-price) | Tuesday, 02:00 UTC, September 2, 2025 | 30s | 10s |
| [Token Data by Token Address](https://docs.coingecko.com/reference/token-data-contract-address) | Tuesday, 02:00 UTC, September 2, 2025 | 30s | 10s |
| [Tokens Data by Token Addresses](https://docs.coingecko.com/reference/tokens-data-contract-addresses) | Tuesday, 02:00 UTC, September 2, 2025 | 30s | 10s |
| [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address) | Wednesday, 02:00 UTC, September 3, 2025 | 30s | 10s |
| [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses) | Wednesday, 02:00 UTC, September 3, 2025 | 30s | 10s |
| [Pool OHLCV chart by Pool Address](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s |
| [Token OHLCV chart by Token Address](https://docs.coingecko.com/reference/token-ohlcv-token-address) | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s |
| [Past 24 Hour Trades by Pool Address](https://docs.coingecko.com/reference/pool-trades-contract-address) | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s |
| [Past 24 Hour Trades by Token Address](https://docs.coingecko.com/reference/token-trades-contract-address#/) | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s |
#### **What This Means for You:**
* **Fresher Data, Quicker**: With a reduced cache time, you'll now have the option to access more up-to-date data, closer to real-time!
* **No Extra Credits for Cached Data**: If your request hits the cache (now updated every 10 seconds for endpoints above), there will be no additional credits charged - just like before.
**Things to Keep in Mind:**
* If your request hits our origin server instead of the cache to retrieve the latest data, there may be additional credits used.
* To balance cost and real-time data needs, we recommend reviewing your request frequency. For those who prefer to obtain data without extra credits, consider keeping your request interval at 30 seconds or more to align with the new cache duration.
We're committed to continuously improving your experience and ensuring you get the data you need, as efficiently as possible. If you have any questions or need assistance, feel free to reach out to [soonaik@coingecko.com](mailto:soonaik@coingecko.com) .
**CoinGecko API Team**
<GreenSeparator />
## Now Supported: Launchpad Data (Pump.fun & More), Granular OHLCV, and Honeypot Info
🗓️ **August 05, 2025**
We're excited to announce a major update to our on-chain API endpoints! This release introduces support for popular token launchpads, adds high-frequency OHLCV data, and enhances our honeypot detection capabilities to give you deeper and more timely on-chain insights.
### 🚀 Now Supporting Launchpad Data (Pump.fun & More!)
In addition to the 1,600+ DEXes already integrated with GeckoTerminal.com, you can now track token data from popular launchpad platforms directly through the CoinGecko API. More launchpads will be supported soon!
| [Virtuals (Base)](https://www.geckoterminal.com/base/virtuals-base/pools) | base | virtuals-base |
**Improved endpoints to track launchpad data:**
* [Token Data by Token Address](https://docs.coingecko.com/reference/token-data-contract-address)
* [Tokens Data by Token Addresses](https://docs.coingecko.com/reference/tokens-data-contract-addresses)
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
More launchpad-specific data will be supported soon for the endpoints above!
**Tips:** use [megafilter endpoint](https://docs.coingecko.com/reference/pools-megafilter) to retrieve latest launchpad data, by flagging `sort=pool_created_at_desc`
**Request example** (Get latest pools on Pump.fun):
We've expanded our honeypot detection features to provide more comprehensive risk assessment. You can now check if a token is a potential honeypot using the main info endpoints.
**Improved Endpoints:**
* [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
* [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
**Example Payload:**
```json theme={null}
{
"mint_authority": null,
"freeze_authority": null,
"is_honeypot": true // possible values: true / false / unknown
}
```
### \[Pro-API Exclusive] New Filtering Option in Megafilter
Previously, the[Pools Megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint could only show tokens confirmed as ***not*** a honeypot (`checks=no_honeypot`). Now, you can also include tokens where the honeypot status is 'unknown'.
* To use this, set `include_unknown_honeypot_tokens=true`.
* Important: This parameter only takes effect when `checks=no_honeypot` is also specified in the request.
**Example Request (Get trending pools that are not confirmed honeypots, including those with an unknown status):**
## SOL Currency Is Now Supported for CoinGecko Endpoints
🗓️ **June 19, 2025**
We're excited to announce that you can now obtain real-time and historical price & market data for tokens listed on CoinGecko.com, with the option to return data value in **SOL** (Solana) currency.
Note: for dates prior to May 2025, 'SOL' historical data is limited to hourly and daily granularity
#### **Improved endpoints:**
* [Coin Price by IDs](https://docs.coingecko.com/reference/simple-price)
* [Coin Price by Token Addresses](https://docs.coingecko.com/reference/simple-token-price)
* [Crypto Global Market Data](https://docs.coingecko.com/reference/crypto-global)
**Example**: price of Bitcoin in Solana, using [Coin Price by IDs](https://docs.coingecko.com/reference/simple-price) endpoint.
```json theme={null}
{
"bitcoin": {
"sol": 720.21
}
}
```
**Example:** historical daily price, market cap and volume of Trump in Solana, using [Coin Historical Chart Data by ID](https://docs.coingecko.com/reference/coins-id-market-chart) endpoint.
```json theme={null}
{
"prices": [
[
1750118400000,
0.0640701365814472
],
[
1750204800000,
0.0644263929356261
],
[
1750291200000,
0.0639713357587322
],
[
1750326151000,
0.06415963364804504
]
],
"market_caps": [
[
1750118400000,
12843589.584485611
],
[
1750204800000,
12882547.839086628
],
[
1750291200000,
12793790.726102708
],
[
1750326151000,
12826247.390733324
]
],
"total_volumes": [
[
1750118400000,
2425793.780846796
],
[
1750204800000,
2055697.9106767387
],
[
1750291200000,
1871087.4334618242
],
[
1750326151000,
2008278.189223005
]
]
}
```
<GreenSeparator />
## New Endpoints & Improvements: Historical Token Holders Chart, OHLCV by Token Address, Multi-pool Token Data Support
🗓️ **June 09, 2025**
### \[Pro-API Exclusive] New Endpoint - Historical Token Holders Chart by Token Address
This new endpoint allows you to get the historical token holders chart based on the provided token contract address on a network.
* Supported chains include: Solana, EVM (Ethereum, Polygon, BNB, Arbitrum, Optimism, Base), Sui, TON, and Ronin.
Check it out now: [Historical Token Holders Chart by Token Address](https://docs.coingecko.com/reference/token-holders-chart-token-address)
### \[Pro-API Exclusive] New Endpoint - Token OHLCV chart by Token Address
This endpoint allows you to get the OHLCV chart (Open, High, Low, Close, Volume) of a token based on the provided token address on a network.
* This endpoint will return OHLCV data of the most liquid pool of the specified token. You may use this endpoint Top Pools by Token Address to check the top pools of a token.
Check it out now: [Token OHLCV chart by Token Address](https://docs.coingecko.com/reference/token-ohlcv-token-address#/)
### Improved Endpoints - Support Multi-pool Token Data
Previously, we only surfaced 1 quote token for pools with more than 2 tokens. With this new improvements, for pools that have 2 or more tokens:
* Extra quote tokens being listed under a new key `relationships.quote_tokens`
* If `include=quote_token` is flagged, the extra quote tokens will be also listed under `included`
## Upcoming Change Notice: Removal of normalized\_volume\_btc Data
🗓️ **May 30, 2025**
**`Notice: Upcoming Change to CoinGecko API Endpoints - Removal ofnormalized_volume_btc Data`**
**Effective Date: 16 June 2025**
**Affected Endpoints:**
* [Exchange Data by ID](https://docs.coingecko.com/reference/exchanges-id)
* [Exchanges List with Data](https://docs.coingecko.com/reference/exchanges#/)
**Details of the Change:**
Please be advised that the `normalized_volume_btc` data point will be removed from the above-listed API endpoints, effective 16 June 2025. This change is being implemented due to significant recent change to a 3rd party data source provider, which have fundamentally altered how this specific data can be accessed.
After the effective date, the `trade_volume_24h_btc_normalized` field will no longer be present in the API responses for these endpoints.
**Action Required:**
If your applications or integrations currently rely on the `trade_volume_24h_btc_normalized` data from these CoinGecko API endpoints, please make the necessary adjustments to your code before 16 June 2025 to avoid potential errors or data discrepancies.
<GreenSeparator />
## New Endpoint & Improvements: On-Chain Trades, Net Buy Volume, and More
🗓️ **May 29, 2025**
### \[Pro-API Exclusive] New Endpoint - On-chain Trades by Token Address
Previously, the [Past 24 Hour Trades by Pool Address](https://docs.coingecko.com/reference/pool-trades-contract-address) endpoint allows you to retrieve the last 300 trades of a specific pool only.
With this new endpoint [Past 24 Hour Trades by Token Address](https://docs.coingecko.com/reference/token-trades-contract-address), you can now retrieve the last 300 trades **across different pools**, based on the provided **token contract address** on a network.
### Improved Endpoints - Support Net Buy Volume Data
The following endpoints now support more volume breakdown data:
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses#/)
By flagging `include_volume_breakdown=true` , you can surface the following data:
[Pool OHLCV chart by Pool Address](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) endpoint now supports to include empty intervals by flagging `include_empty_intervals=true` .
* By default, specific timeframe intervals (e.g. minutely) with no recorded swaps are excluded (or **skipped**) from the response.
* This new parameter option provides the flexibility to get **padded** data, when there's no trade data.
Sample Response:
```json theme={null}
{
"data": {
"id": "81da0682-1c4f-445a-9bed-9b5454004df5",
"type": "ohlcv_request_response",
"attributes": {
"ohlcv_list": [
[
1744712700,
0.000212149802253853,
0.000212173305907688,
0.000212149802253853,
0.000212173305907688,
46.48164903882
],
[
1744712400,
0.000212149802253853, 👈 O — Follow previous Close value
0.000212149802253853, 👈 H — Follow previous Close value
0.000212149802253853, 👈 L — Follow previous Close value
0.000212149802253853, 👈 C — Follow previous Close value
0.0 👈 V — Set to zero
],
[
1744712100,
0.000210532522666822,
0.000212149802253853,
0.000210532522666822,
0.000212149802253853, 👈 Previous Close value
46.4765
],
...
}
```
### Improved Endpoints - Support Large Images
The following endpoints now support more size options for coin logo image:
* [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
* [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-addres)
## New Endpoint & Improvements: On-Chain Trending Data, Enhanced Trending Search, and Improved Token Lookup
🗓️ **April 25, 2025**
### \[Pro-API Exclusive] New Endpoint - On-chain Trending Search Data
With this new endpoint [Trending Search Pools](https://docs.coingecko.com/reference/trending-search-pools), you can now retrieve the on-chain trending search pools and tokens data, as seen on GeckoTerminal.com .
By default, this endpoint returns the top 4 trending pools data, you may specify the `pools` parameter to retrieve up to top 10 pools data.
Tips: you may flag `include=base_token` to retrieve the trending tokens data.
Note: this exclusive endpoint is available for our API [paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above).
### \[Pro-API Exclusive] Improved Endpoint - Trending Search List
[Paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above) can now use [Trending Search List](https://docs.coingecko.com/reference/trending-search) endpoint and flag `show_max` parameter to retrieve more trending coins, NFTs and coin categories on CoinGecko.com.
| Trending Data | Public API (Demo plan) | Paid API (Analyst plan & above) |
### Improved Endpoints - Support Token Lookup by Symbol and Name
The following endpoints now support token lookup by symbol and name, in addition to the existing API ID support:
* [Coin Price by IDs and Symbols](https://docs.coingecko.com/reference/simple-price)
* [Coins List with Market Data](https://docs.coingecko.com/reference/coins-markets)
Previously, these endpoints only supported token lookup by \[API IDs]\([https://docs.coingecko.com/docs/1-get-data-by-id-or-address#/methods-to-query-price--market-data-of-coins](https://docs.coingecko.com/docs/1-get-data-by-id-or-address#/methods-to-query-price--market-data-of-coins\)). This enhancement streamlines token data retrieval and eliminates the need for manual coin ID mapping.
Example Mapping:
| API Ids | Symbol | Name |
| :------- | :----- | :------ |
| bitcoin | btc | Bitcoin |
| tether | usdt | Tether |
| usd-coin | usdc | USDC |
Lookup Priority: When multiple lookup parameters are provided, the system applies the following priority order: id (highest) > name > symbol (lowest).
**`Filtering by Symbol withinclude_tokens`**
The `include_tokens`parameter has been added to provide flexibility when filtering by symbol:
* `include_tokens=top` : Returns only the top market cap token for the specified symbol.
* `include_tokens=all`: Returns all tokens that share the specified symbol.
Example Request & Data:
| Request Example | Token Data Returned | Remarks |
| pro-api.coingecko.com/api/v3/coins/markets?vs\_currency=usd\&symbols=btc\&include\_tokens=top | 1. Bitcoin | When symbols and 'include\_tokens=**top**' is specified, only the top market cap tokens will be returned. |
| pro-api.coingecko.com/api/v3/coins/markets?vs\_currency=usd\&symbols=btc\&include\_tokens=all | 1. Bitcoin<br />2. Osmosis allBTC<br />3. atcat<br />4. Meld Bridged BTC (Meld)<br />5. BlackrockTradingCurrency | When symbols and 'include\_tokens=**all**' is specified, all the coins that share the same symbol will be returned.<br /><br />All the 5 coins stated in the example have the same symbol 'btc'. |
### /coins/markets Endpoint Improvement
We've enhanced the`/coins/markets` endpoint [Coins List with Market Data](https://docs.coingecko.com/reference/coins-markets), by including 'total' and 'per-page' values in the Response Headers.
This addition to the Response Headers enables developers to identify the total number of active coins on coingecko.com and specify the required pagination to retrieve all available data.
```Text Response Header (Example) theme={null}
per-page: 250
total:16989
```
<GreenSeparator />
## Upcoming Change Notice: Removal of twitter\_followers Data
🗓️ **April 25, 2025**
**`Notice: Upcoming Change to CoinGecko API Endpoints - Removal oftwitter_followers Data`**
**Effective Date: 15 May 2025**
**Affected Endpoints:**
* [Coin Data by ID](https://docs.coingecko.com/reference/coins-id)
* [Coin Data by Token Address](https://docs.coingecko.com/reference/coins-contract-address)
* [Coin Historical Data by ID](https://docs.coingecko.com/reference/coins-id-history)
**Details of the Change:**
Please be advised that the `twitter_followers` data point within the `community_data` object will be removed from the above-listed API endpoints, effective 15 May 2025. This change is being implemented due to significant recent changes to the X (formerly Twitter) API, which have fundamentally altered how this specific data can be accessed.
Example of Affected Data Structure:
```json theme={null}
"community_data": {
"twitter_followers": 7694251,
// ... other community data points ...
}
```
After the effective date, the `twitter_followers` field will no longer be present in the API responses for these endpoints.
**Action Required:**
If your applications or integrations currently rely on the `twitter_followers` data from these CoinGecko API endpoints, please make the necessary adjustments to your code before 15 May 2025 to avoid potential errors or data discrepancies.
Please be aware that if you have previously stored `twitter_followers` data obtained from the CoinGecko API and archived it within your own systems, you are solely responsible for its continued use and any implications thereof.
We appreciate your understanding as we adapt to changes in third-party platforms to maintain the stability and reliability of our API. If you have any questions or require further clarification, please do not hesitate to contact our support team.
</Update>
<Update label="March 2025">
## New Endpoint & Multiple Improvements: On-Chain Top Token Holder Address, Security Data, Historical Supply.
🗓️ **March 28, 2025**
### \[Pro-API Exclusive] New Endpoint - Top Token Holder Address Data
You can now access the top 50 token holder address data for tokens, as seen on GeckoTerminal.com.
By default, this endpoint returns the top 10 holders data, you can also specify the `holders` parameter to retrieve up to top 50 holders data.
**Network supported:**
* EVM: Ethereum, Polygon, BNB, Arbitrum, Optimism, Base
* Solana
* Sui
* TON
* Ronin
👉 Visit the endpoint reference page - [Top Token Holders by Token Address](https://docs.coingecko.com/reference/top-token-holders-token-address) to learn more and try it out now!
**Note:** this exclusive endpoint is available for our API [paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above).
* The holders data is currently in **Beta**, with ongoing improvements to data quality, coverage, and update frequency.
* For Solana tokens, the maximum number of retrievable top holders data is 40 instead of 50.
**Tips:** You may also use the following endpoints to retrieve **token holders count** and **top holders distribution percentage data**:
* [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
* [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
### Historical Supply endpoints - Support for Inactive Coins
You may now access historical total and circulating supply data of inactive coins using the following endpoints. To check for list of inactive coins, you may use [Coin List (ID Map)](https://docs.coingecko.com/reference/coins-list) endpoint and flag `status=inactive`.
Note: these endpoints below are exclusive for [Enterprise plan](https://www.coingecko.com/en/api/pricing) customers only.
**Improved endpoints:**
* [Circulating Supply Chart by ID](https://docs.coingecko.com/reference/coins-id-circulating-supply-chart)
* [Circulating Supply Chart within Time Range by ID](https://docs.coingecko.com/reference/coins-id-circulating-supply-chart-range)
* [Total Supply Chart by ID](https://docs.coingecko.com/reference/coins-id-total-supply-chart)
* [Total Supply Chart within time range by ID](https://docs.coingecko.com/reference/coins-id-total-supply-chart-range)
### Onchain Pool Data endpoints - Locked Liquidity
Now support **`locked_liquidity_percentage`** data.
**Improved endpoints:**
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
### Onchain Token Info endpoints - GT Score, Mint Authority, Freeze Authority
The following Token Info endpoints now provide more security related information:
* **GeckoTerminal Score Details** - Learn more about GT Score [here](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated).
* **Pool** - Combination of pool signals such as honeypot risk, buy/sell tax, proxy contract, liquidity amount, and whether the liquidity is locked.
* **Transaction** - Total number of transactions and trading volume in the last 24 hours.
* **Creation** - Age of the pool since creation. The longer, the better it is for the score.
* **Info** - Submitted social info and metadata to the token.
* **Holders** - Distribution of tokens among unique addresses.
* **Mint Authority**
* **Freeze Authority**
**Improved endpoints:**
* [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
* [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
```json theme={null}
"gt_score": 92.6605504587156,
"gt_score_details": {
"pool": 0,
"transaction": 32.2,
"creation": 0,
"info": 0,
"holders": 0
}
"mint_authority": "no",
"freeze_authority": "no"
```
### Onchain Simple Token Price endpoint - Market Cap to FDV Fallback
The [Onchain Simple Token Price](https://docs.coingecko.com/reference/onchain-simple-price) endpoint now supports fallback option for Market Cap to return FDV value, when the Market Cap value is not available.
Notes:
* If the token's market cap is not verified by the CoinGecko team, the onchain endpoints will return **null** for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
If you require the Market Cap key (`market_cap_usd`) to return FDV value (as seen on GeckoTerminal.com) when Market Cap data is unavailable, please specify this parameter `marketcap_fdv_fallback=true`.
<GreenSeparator />
## Update Frequency Improvements for selected Pro-API endpoints (March 2025)
🗓️ **March 14, 2025**
\[Changes below are applicable to Analyst/Lite/Pro/Enterprise [plan subscribers](https://www.coingecko.com/en/api/pricing) only.]
Dear CoinGecko API paid plan subscribers,
We're excited to announce an improvement to our API, aimed at providing you with even faster access to real-time data! Starting **02:00 UTC, March 25, 2025**, the edge cache duration for the following endpoints will be reduced from 60s to 30s, allowing you to retrieve updated data more frequently.
3. [Pools by Category ID](https://docs.coingecko.com/reference/pools-category)
**What This Means for You:**
* **Fresher Data, Quicker**: With a reduced cache time, you'll now have the option to access more up-to-date data, closer to real-time!
* **No Extra Credits for Cached Data**: If your request hits the cache (now updated every 30 seconds for endpoints above), there will be no additional credits charged—just like before.
**Things to Keep in Mind:**
* If your request hits our origin server instead of the cache to retrieve the latest data, there may be additional credits used.
* To balance cost and real-time data needs, we recommend reviewing your request frequency. For those who prefer to obtain data without extra credits, consider keeping your request interval at 60 seconds or more to align with the new cache duration.
We're committed to continuously improving your experience and ensuring you get the data you need, as efficiently as possible. If you have any questions or need assistance, feel free to reach out to [soonaik@coingecko.com](mailto:soonaik@coingecko.com) .
**CoinGecko API Team**
<GreenSeparator />
## Multiple Improvement: Holders data, Pool Stats, Simple Token Price
🗓️ **March 14, 2025**
### Onchain Token Info endpoints - Holders data
Now support the following holder data **(Beta)**:
* holders count
* top holders distribution percentage
**Improved endpoints:**
* [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
* [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
```json theme={null}
"holders": {
"count": 1432761,
"distribution_percentage": {
"top_10": "1.3019",
"11_20": "0.1024",
"21_40": "0.095",
"rest": "98.5007"
},
"last_updated": "2025-03-06T01:21:18Z"
```
### Onchain Pool Data endpoints - More Data Support
Now support the following data:
* `price_change_percentage`: m15, m30
* `volume_usd`: m15, m30
* `transactions`: h6
**Improved endpoints:**
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
Powered by GeckoTerminal, the CoinGecko API now supports on-chain data across **200+ blockchain networks**, including the latest additions: Hyperliquid, HyperEVM, Abstract, Berachain, Story, Monad, Unichain, and Soneium.
While we offer the widest on-chain data coverage, we understand that you may have specific needs when slicing and dicing data for your use case. That's why we're introducing Megafilter, an exclusive endpoint available for our API paid plan subscribers (Analyst plan & above).
### 🔥 What's Megafilter?
This new endpoint provides unmatched flexibility, allowing you to query and filter data exactly the way you want.
🔗 Docs: [Megafilter for Pools](https://docs.coingecko.com/reference/pools-megafilter)
### 👀 What Can You Do?
With the /megafilter endpoint, you can slice and dice on-chain data your way across:
* Advanced filtering options based on liquidity, FDV, volume, transactions, buy/sell trends, and time range
* Custom sorting, including trending pools (5m), newest pools, or liquidity growth
* Fraud detection filters: Exclude honeypots, check GT Score, verify CG listings, and track social metrics
Here's some quick examples:
* Track fresh pools on Uniswap V4 & Aerodrome with liquidity above \$1,000
* Discover trending DEX pools across Solana, Base, and other chains with a high GT Score.
* Filter out risky pools with built-in honeypot protection & fraud checks
* Customize data retrieval based on your strategy: time-based, volume-based, or trend-driven
### Try it out now!
🚀 API Docs: [Megafilter for Pools](https://docs.coingecko.com/reference/pools-megafilter)\
🔗 Live Filtering on [GeckoTerminal](https://www.geckoterminal.com/)
<GreenSeparator />
## Update Frequency Improvements for selected Pro-API endpoints
🗓️ **February 14, 2025**
\[Changes below are applicable to Analyst/Lite/Pro/Enterprise [plan subscribers](https://www.coingecko.com/en/api/pricing) only.]
Dear CoinGecko API paid plan subscribers,
We're excited to announce an improvement to our API, aimed at providing you with even faster access to real-time data! Starting **02:00 UTC, February 24, 2025**, the edge cache duration for the following endpoints will be reduced to 30s, allowing you to retrieve updated data more frequently.
| Endpoints | Effective Date & Time | Current Update Frequency | New Update Frequency |
| Onchain [/networks/../pools/../ohlcv](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) | 02:00 UTC, February 25, 2025 - Enterprise plan subscribers only | 60s | 30s |
| Onchain [/networks/../pools/../ohlcv](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) | 02:00 UTC, February 26, 2025 - Analyst/Lite/Pro plan subscribers | 60s | 30s |
**What This Means for You:**
* **Fresher Data, Quicker**: With a reduced cache time, you'll now have the option to access more up-to-date data, closer to real-time!
* **No Extra Credits for Cached Data**: If your request hits the cache (now updated every 30 seconds for endpoints above), there will be no additional credits charged—just like before.
**Things to Keep in Mind:**
* If your request hits our origin server instead of the cache to retrieve the latest data, there may be additional credits used.
* To balance cost and real-time data needs, we recommend reviewing your request frequency. For those who prefer to obtain data without extra credits, consider keeping your request interval at 60 seconds or more to align with the new cache duration.
We're committed to continuously improving your experience and ensuring you get the data you need, as efficiently as possible. If you have any questions or need assistance, feel free to reach out to [soonaik@coingecko.com](mailto:soonaik@coingecko.com) .
**CoinGecko API Team**
<GreenSeparator />
## Enhanced Onchain Metadata, Increased Max Address Limit for Multi Endpoints, Improved Exchange Tickers Sorting
🗓️ **February 09, 2025**
### Onchain Metadata: Improved Coverage
**Previously:** Payload may return 'missing.png' for `image_url` for tokens that do not have image data.
**Now:** Coverage of metadata (images, websites, description, socials) is now improved for tokens on Solana, Ton, Base, and Sui networks. For tokens that do not contain image data, 'null' value will be returned for `image_url`.
Note: Metadata may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by CoinGecko team, you may use the following endpoints:
* [Coin Data by ID](https://docs.coingecko.com/reference/coins-id)
* [Coin Data by Token Address](https://docs.coingecko.com/reference/coins-contract-address)
### Improved Max Address Limit for onchain /multi endpoints
**Previously:** Onchain /multi endpoints support up to 30 token or pool contract addresses per request.
**Now:** Onchain /multi endpoints support up to 50 token or pool contract addresses per request.
**Improved endpoints:**
1. [Tokens Data by Token Addresses](https://docs.coingecko.com/reference/tokens-data-contract-addresses)
2. [Multiple Pools Data by Pool Addresses ](https://docs.coingecko.com/reference/pools-addresses)
Note: this new max address input limit is exclusive for paid plan subscribers (Analyst plan & above) only.
### Improved Data Consistency for Exchange Tickers by ID
For [Exchange Tickers by ID](https://docs.coingecko.com/reference/exchanges-id-tickers) endpoint, the order is sorted by **trust\_score\_desc** by default.
* Sometimes duplicate or missing data may occur due to paginated cached response, especially when a ticker's rank changes between 2 paginated requests, e.g. it might shift from Page 2 to Page 1, vice versa.
* We've added a new `order` option: **base\_target**, which will sort the tickers by **base** symbol, then **target** symbol, in lexicographical order, i.e. `0->9`, then `a->Z`.
You can now obtain the `market_cap_rank` data of NFT collections via the following endpoints:
* [NFTs Collection Data by ID](https://docs.coingecko.com/reference/nfts-id)
* [NFTs Collection Data by Contract Address](https://docs.coingecko.com/reference/nfts-contract-address)
```json example theme={null}
"market_cap_rank": 75,
```
<GreenSeparator />
## Removal of Unsupported Categories
🗓️ **January 23, 2025**
### Upcoming Removal of Unsupported Categories from CoinGecko and CoinGecko API
#### Summary
We are announcing the removal of certain categories from CoinGecko and CoinGecko API. These categories will no longer be supported across all API endpoints starting **February 12, 2025**.
| 4 | Technology and Science | technology-science |
| 5 | Presale Meme | presale-meme-coins |
| 6 | Business Platform | business-platform |
| 7 | Number | number |
| 8 | Structured Product | structured-products |
| 9 | Investment | investment |
| 10 | Niftex Shards | niftex-shards |
| 11 | Ethereum POW IOU | ethereum-pow-iou |
| 12 | Mirrored Assets | mirrored-assets |
| 13 | Remittance | remittance |
| 14 | Protocol | protocol |
| 15 | Unicly Ecosystem | utokens |
| 16 | Finance and Banking | finance-banking |
| 17 | Eth 2.0 Staking | eth-2-0-staking |
#### Reason for Removal
Many of these categories no longer have associated coins. Some categories are outdated and no longer relevant in the crypto space. The changes align with updated category topology standards to maintain data accuracy and relevance.
#### Impact
API responses for the `/coins/markets` [endpoint](https://docs.coingecko.com/reference/coins-markets) will no longer support data of the categories above. Any requests specifying these categories will return an error.
#### Action Required
Ensure applications using the `/coins/markets` [endpoint](https://docs.coingecko.com/reference/coins-markets) are not querying these removed categories. Please update any code or documentation referencing these categories to prevent errors.
<GreenSeparator />
## Extended Historical Data for Onchain OHLCV Endpoint
🗓️ **January 15, 2025**
### What's New?
We've improved the [Pool OHLCV Chart by Pool Address](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) endpoint to provide access to a much broader range of historical data.
#### Key Updates
* **Previous Behavior:** Users could only query data for the past 6 months from today.
* **New Behavior**: Users can now access data from September 2021 to the present, depending on the pool's tracking start date on GeckoTerminal.
* Each API request is **limited to a 6-month date range**, but users can query older data by using the before\_timestamp parameter.
Note: access to data beyond the past 6 months is only available to [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above).
#### Action Required
No changes are required for existing integrations. However, users who need data beyond the past 6 months should adjust their queries to use the `before_timestamp` parameter to fetch additional data.
<GreenSeparator />
## Update to Total Supply of POW Coins
🗓️ **January 15, 2025**
#### What's Changing?
We are updating the definition of Total Supply for PoW (Proof-of-Work) coins to reflect the actual number of mined coins rather than the maximum supply. This change ensures consistency and accuracy in representing the supply data.
#### Key Updates
* **Previous Behavior:**
* Total Supply: Displayed as the maximum possible supply (e.g., Bitcoin: 21,000,000).
* **New Behavior:**
* Total Supply: Now reflects the actual number of mined coins.\
For example: Bitcoin: \~19,500,000 (as of January 2025).
This update will also affect historical Total Supply data for consistency. This change applies to all affected PoW coins, including Bitcoin, Bitcoin Cash, Litecoin, Ethereum Classic, and more.
#### Affected endpoints that contain "total\_supply" data:
* **Current Data**
* [Coin Data by ID](https://docs.coingecko.com/reference/coins-id)
* [Coins List with Market Data](https://docs.coingecko.com/reference/coins-markets)
* **Historical Darta**
* [Total Supply Chart by ID](https://docs.coingecko.com/reference/coins-id-total-supply-chart)
* [Total Supply chart within time range by ID](https://docs.coingecko.com/reference/coins-id-total-supply-chart-range)
* **Fresher Data, Quicker**: With a reduced cache time, you'll now have the option to access more up-to-date data, closer to real-time!
* **No Extra Credits for Cached Data**: If your request hits the cache (now updated every 20-30 seconds for endpoints above), there will be no additional credits charged—just like before.
**Things to Keep in Mind:**
* If your request hits our origin server instead of the cache to retrieve the latest data, there may be additional credits used.
* To balance cost and real-time data needs, we recommend reviewing your request frequency. For those who prefer fresher data without extra credits, consider keeping your request interval at 30 seconds or more to align with the new cache duration.
We're committed to continuously improving your experience and ensuring you get the data you need, as efficiently as possible. If you have any questions or need assistance, feel free to reach out to [soonaik@coingecko.com](mailto:soonaik@coingecko.com) .
**CoinGecko API Team**
<GreenSeparator />
## Improved 5-minutely data for Historical Chart Data endpoints
🗓️ **January 09, 2025**
For the following 4 historical chart endpoints, the data of the *last 48 hours from now* is no longer excluded.
* [Coin Historical Chart Data by ID](https://docs.coingecko.com/reference/coins-id-market-chart)
* [Coin Historical Chart Data within Time Range by ID](https://docs.coingecko.com/reference/coins-id-market-chart-range)
* [Coin Historical Chart Data by Token Address](https://docs.coingecko.com/reference/contract-address-market-chart)
* [Coin Historical Chart Data within Time Range by Token Address](https://docs.coingecko.com/reference/contract-address-market-chart-range)
**Note:** The **5-minutely** and **hourly** interval params are exclusively available to Enterprise plan subscribers, bypassing auto-granularity:
* `interval=5m`: 5-minutely historical data, supports up to any 10 days date range per request.
* `interval=hourly`: hourly historical data, supports up to any 100 days date range per request.
* **Data availability:**
* `interval=5m`: Available from 9 February 2018 onwards
* `interval=hourly`: Available from 30 Jan 2018 onwards
For non-Enterprise plan subscribers who would like to get hourly data, please leave the `interval` params empty for auto granularity:
* 1 day from current time = 5-minutely data
* 1 day from any time (except current time) = hourly data
* 2 - 90 days from any time = hourly data
* above 90 days from any time = daily data (00:00 UTC)
</Update>
<Update label="December 2024">
## Added: Onchain Categories Data, CG data improvements
🗓️ **December 24, 2024**
### NEW: Onchain Categories : Get Categories on GeckoTerminal.com
This new [Categories List](https://docs.coingecko.com/reference/categories-list) endpoint allows you to query all the categories supported on GeckoTerminal.com such as 'Pump Fun' and 'Animal'.
* This endpoint is exclusively available for [Analyst/Lite/Pro/Enterprise plan](https://www.coingecko.com/en/api/pricing) subscribers only.
### NEW: Onchain Catergory Pools: Get Pools of a specific Category
This new [Pools by Category ID](https://docs.coingecko.com/reference/pools-category) endpoint allows you to query all the pools of a specific category on GeckoTerminal.com.
* This endpoint is exclusively available for [Analyst/Lite/Pro/Enterprise plan](https://www.coingecko.com/en/api/pricing) subscribers only.
* You can also obtain tokens of a specific category, by flagging `include=base_token`
### Onchain Token Info: Added Categories Data
You can now obtain the categories of a token via the following endpoints:
1. [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
2. [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
Payload example:
```yaml json theme={null}
"categories": [
"Doge",
"Baby",
"Animal"
],
"gt_category_ids": [
"doge",
"baby",
"animal"
```
### Onchain New Pools Data: Bug Fixed
Previously, this [/networks/new\_pools](https://docs.coingecko.com/reference/latest-pools-network) endpoint omitted new pools that are created within the last 24 hours.
It now returns all newly created pools in the last 48 hours.
### CoinGecko Exchange Data: Added support of inactive exchange id
You now query the the list of id of delisted exchanges with [Exchanges List (ID Map)](https://docs.coingecko.com/reference/exchanges-list) endpoint, by flagging `status=inactive `
Payload example:
```yaml json theme={null}
{
"id": "ftx",
"name": "FTX (Derivatives)"
},
{
"id": "ftx_spot",
"name": "FTX"
},
{
"id": "ftx_tr",
"name": "FTX TR"
},
{
"id": "ftx_us",
"name": "FTX.US"
},
```
**Tips**: you may query to get historical volume delisted exchanges for via the following endpoints:
* [Exchange Volume Chart by ID](https://docs.coingecko.com/reference/exchanges-id-volume-chart)
* [Exchange Volume Chart within Time Range by ID](https://docs.coingecko.com/reference/exchanges-id-volume-chart-range)
### CoinGecko Historical Chart Data: Faster Last UTC Day (00:00) Data Update
For [Coin Historical Chart Data by ID](https://docs.coingecko.com/reference/coins-id-market-chart) endpoint, the last completed UTC day (00:00) data is now available **10 minutes after midnight** on the next UTC day (00:10).
Previously, the last completed UTC day (00:00) was only made available **35 minutes** after midnight.
As part of our commitment to improving data quality and enhancing the consistency of asset information, we are rolling out an asset standardization initiative at CoinGecko.
**What is asset standardization?**\
Standardization involves refining how we classify and display assets. By systematically organizing asset listings into more precise categories - such as native, bridged, or wrapped tokens each following specific naming conventions, we aim to eliminate confusion and enhance data reliability.
**What changes should I expect?**\
The most notable change is that non-native token contracts previously grouped under native asset listings will now be assigned their own distinct pages.
For example, a bridged version of USDT that might have been aggregated under the original, native USDT page, will now be featured on a dedicated page specifically for that bridged variant.
Additionally, there may be varying levels of changes in various aggregated data points of the standardized assets, including trading volume, supply, market cap rankings, etc., due to misplaced contracts being transitioned away from the original page to accurately reflect their true metrics.
\*\*For full list of FAQs and updated infomation, please refer [here](https://support.coingecko.com/hc/en-us/articles/35555248857497-CoinGecko-Asset-Issuance-Standardisation-Initiative-Updates-and-FAQ)
### What's New in Q4 2024? 👈
Building on Q3's achievements, we're expanding the scope of Standardization to include four additional Coins this quarter, selected based on their significance and impact on the DeFi ecosystem.
#### **1. How does this affect my current API setup?**
The following CoinGecko API endpoints will be impacted, with full details tracked in [this spreadsheet](https://docs.google.com/spreadsheets/d/15FyY1gvUi20LdnlJRly-pXvm5ATNbFbSy06VoI1vVs4/edit?usp=sharing). We encourage you to make the necessary adjustments and enable edit notifications on the Google Sheets, to receive real-time updates when non-native token contracts have been successfully standardized.
**No changes are necessary** if you do not need data for non-native token contracts that will be separated away from the native tokens.
#### **3. What will happen to the coins that are separated into a new coin page?**
Historical data for new non-native or bridged assets will only be available from the date of asset page creation (i.e. stnadardized). To access historical data prior to the asset standardization, we recommend retrieving data from the original native assets.
#### **4. How do I identify the list of coins that will be separated?**
For a finalised list of token contracts and API IDs that have been separated from its native asset page and listed individually, please refer to this [Google Sheets](https://docs.google.com/spreadsheets/d/15FyY1gvUi20LdnlJRly-pXvm5ATNbFbSy06VoI1vVs4/edit?usp=sharing)
You may also identify the list of bridged coins via API: you may also use [/categories/list endpoint](https://docs.coingecko.com/reference/coins-categories-list) to look for bridged categories such as:
\[Changes below are applicable to Analyst/Lite/Pro/Enterprise [plan subscribers](https://www.coingecko.com/en/api/pricing) only.]
**Dear CoinGecko API paid plan subscribers,**
We're excited to announce an improvement to our API, aimed at providing you with even faster access to real-time data! Starting **02:00 UTC, January 13, 2025**, the edge cache duration for the following endpoints will be reduced to 20-30s, allowing you to retrieve updated data more frequently.
| Endpoints | Current Update Frequency | New Update Frequency |
* **Fresher Data, Quicker**: With a reduced cache time, you'll now have the option to access more up-to-date data, closer to real-time!
* **No Extra Credits for Cached Data**: If your request hits the cache (now updated every 20-30 seconds for endpoints above), there will be no additional credits charged—just like before.
**Things to Keep in Mind:**
* If your request hits our origin server instead of the cache to retrieve the latest data, there may be additional credits used.
* To balance cost and real-time data needs, we recommend reviewing your request frequency. For those who prefer fresher data without extra credits, consider keeping your request interval at 30 seconds or more to align with the new cache duration.
We're committed to continuously improving your experience and ensuring you get the data you need, as efficiently as possible. If you have any questions or need assistance, feel free to reach out to [soonaik@coingecko.com](mailto:soonaik@coingecko.com) .
**CoinGecko API Team**
<GreenSeparator />
## Multiple Improvements: Onchain Trending Pools, CG New Currencies Support, Snapshot, Exchange Info
🗓️ **December 15, 2024**
### Onchain Trending Pools: Added Support to Filter by Duration
You can now query trending pools with the following endpoints, and filter them by different duration: 5m, 1h, 6h, 24h, using `duration` parameter. e.g. `duration=5m`
* [Trending Pools List](https://docs.coingecko.com/reference/trending-pools-list): query all the trending pools across all networks on GeckoTerminal
* [Trending Pools by Network](https://docs.coingecko.com/reference/trending-pools-network): query the trending pools based on the provided network
### CG Coin Prices: Added Support for New Fiat Currencies
You can now query coin prices in the 13 new currencies for the following 3 endpoints:
* [Coin Price by IDs](https://docs.coingecko.com/reference/simple-price): query latest price in selected currencies, by coin id
* [Coin Price by Token Addresses](https://docs.coingecko.com/reference/simple-token-price): query latest price in selected currencies, by token address
* [BTC-to-Currency Exchange Rates](https://docs.coingecko.com/reference/exchange-rates): query BTC exchange rates with other currencies
**New supported currencies:**
1. Colombia | COP
2. Kenya | KES
3. Romania | RON
4. Dominican Republic | DOP
5. Costa Rica | CRC
6. Honduras | HNL
7. Zambia | ZMW
8. El Salvador | SVC
9. Bosnia and Herzegovina | BAM
10. Peru | PEN
11. Guatemala | GTQ
12. Lebanon | LBP
13. Armenian Dram | AMD
### CG Coin Info: Included Snapshot URL
[Coin Data by ID](https://docs.coingecko.com/reference/coins-id) now includes Snapshot link, e.g.
[Token Price by Token Addresses](https://docs.coingecko.com/reference/onchain-simple-price) now allows to input up to 100 contract addresses, instead of 30.
[Most Recently Updated Token List](https://docs.coingecko.com/reference/tokens-info-recent-updated) now allows to filter by blockchain network, by flagging the `network` parameter. e.g. `network=eth`.
### Global Market Chart - Improved Daily Data Update
Previously, for [Global Market Cap Chart Data endpoint](https://docs.coingecko.com/reference/global-market-cap-chart) , the daily data is returned at 23:00 UTC. We've made improvement to return daily data at 00:00 UTC.
The last completed UTC day (00:00) is available 5 minutes after midnight on the next UTC day (00:05). The cache will **always expire at 00:05 UTC**. If you wish to get the latest daily data (00:00 UTC), you can make request at 00:05 UTC or later.
### Asset Platforms - Included Images of Blockchain Network Logos
[Coins Categories List with Market Data](https://docs.coingecko.com/reference/coins-categories) now provides coins id of the top 3 coins of a category.
### Circulating Supply Chart and Total Supply Chart - Fixed '0' data issue
For the following **Enterprise-plan** exclusive endpoints below, there was a bug that returned wrong '0' value in the payload. This is fixed and will no longer return wrong '0' value in the payload.
1. [👑 Circulating Supply Chart by ID](https://docs.coingecko.com/reference/coins-id-circulating-supply-chart)
2. [👑 Circulating Supply chart within Time Range by ID](https://docs.coingecko.com/reference/coins-id-circulating-supply-chart-range)
3. [👑 Total Supply Chart by ID](https://docs.coingecko.com/reference/coins-id-total-supply-chart)
4. [👑 Total Supply Chart within time range by ID](https://docs.coingecko.com/reference/coins-id-total-supply-chart-range)
<GreenSeparator />
## Improvement of update frequency for OHLC endpoints
🗓️ **September 04, 2024**
The cache & update frequency of the following endpoints have been improved from every 30 minutes to every 15 minutes:
We've expanded functionality to include support for the `interval=hourly` parameter within the [/coins//ohlc](https://docs.coingecko.com/reference/coins-id-ohlc) endpoint.
We've introduced a new endpoint [/key](https://docs.coingecko.com/reference/api-usage) for conveniently monitoring your account's API usage, including rate limits and remaining credits.
* The 'token' parameter within the [/ohlcv ](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) endpoint can now accept a token address, provided it exists in the queried pool, to return OHLCV data\
* [/ohlcv ](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) endpoint now includes the base and target token metadata in the response\
Trending Pools endpoint, [/networks//trending\_pools](https://docs.coingecko.com/reference/trending-pools-network) is now available to fetch a list of pools that are trending as seen on GeckoTerminal based on web visits and on-chain activities.
* [/coins//total\_supply\_chart](https://docs.coingecko.com/reference/coins-id-total-supply-chart) : get historical total supply of a coin, by number of days away from now.
* [/coins//total\_supply\_chart/range](https://docs.coingecko.com/reference/coins-id-total-supply-chart-range) : get historical total supply of a coin, within a range of timestamp.
It now supports up to 15 trending coins, a significant increase from the previous limit of 7.
<GreenSeparator />
## Improvement on pool data (Onchain/GT)
🗓️ **December 03, 2023**
Pool data now returns transaction stats for the last 1 hour. Unique buyers and sellers in the last 1 hour and 24 hours are now returned in the response
</Update>
<Update label="November 2023">
## Multiple Improvements
🗓️ **November 21, 2023**
The web\_slug data is now available in the following endpoints.
For the [/asset\_platforms](https://docs.coingecko.com/reference/asset-platforms-list) endpoint, we've introduced the native\_coin\_id data. This enables users to obtain the coin ID of different blockchain networks or asset platforms that may not have a contract address to look up
Inspired by CoinGecko API most popular endpoint, we have launched the [/simple/networks//token\_price/](https://docs.coingecko.com/reference/onchain-simple-price), simple endpoint. Simply pass in addresses of any tokens on supported blockchain and get price data for it
You can now get the latest 300 trades in the past 24 hours of a given pool from this endpoint [/networks//pools//trades](https://docs.coingecko.com/reference/pool-trades-contract-address). You may optionally filter by trade size as well. You can now build your own telegram bot alert!
* To fetch information of tokens inside a pool, use [/networks//pools//info](https://docs.coingecko.com/reference/pool-token-info-contract-address)
* To fetch information of a specific token use [/networks//tokens//info](https://docs.coingecko.com/reference/token-info-contract-address)
* If you like to get token information of the most recently updated tokens, use [/tokens/info\_recently\_updated](https://docs.coingecko.com/reference/tokens-info-recent-updated)
Pool response data now returns price in the base and quote token of the pool base\_token\_price\_quote\_token and quote\_token\_price\_base\_token for your convenience without the need to do additional calculation to derive these values
<GreenSeparator />
## Introduced new endpoints (Onchain/GT)
🗓️ **September 06, 2023**
Added new endpoints to allow querying multiple pools and tokens in a single API call. /networks/network/pools/multi/addresses and /networks/network/tokens/multi/addresses
</Update>
<Update label="June 2023">
## Included new fields (Onchain/GT)
🗓️ **June 23, 2023**
* More data added to the Pool response such as FDV, market cap (from CoinGecko if available), price change percentage, volume, number of buy/sell transactions
* More data added when querying for token such as FDV, volume, market cap, and the top 3 pools
<GreenSeparator />
## Introduced precision params for other endpoints
The uses of 'precision' parameter allows to specify price data in full or 0-18 decimals, and previously was only made available for [/simple/price](https://docs.coingecko.com/reference/simple-price) and [/simple/token\_price/](https://docs.coingecko.com/reference/simple-token-price) endpoints.
* Top 5 trending NFT data (based on high trading volume in the last 24 hours) is now included in the [/search/trending](https://docs.coingecko.com/reference/trending-search) endpoint
* Near Protocol contract address (e.g. wrap.near) is now supported for [/coins//contract/ ](https://docs.coingecko.com/reference/coins-contract-address) endpoint
* Token metadata such as name, symbol, and CoinGecko ID are now returned in the responses for pools endpoints. Users will need to pass in this attribute include=base\_token, quote\_token
This refers to number of users who added the coin into a watchlist or portfolio.
**Example of responses:**
```json JSON theme={null}
{
"id": "bitcoin",
......
"watchlist_portfolio_users": 1449601, 👈
"market_cap_rank": 1,
......
"tickers": []
}
```
<GreenSeparator />
## Increased Rate Limit (Onchain/GT)
🗓️ **April 19, 2023**
We've increased the rate limit of Public Plan from 10 calls per minute to 30 calls per minute
<GreenSeparator />
## Multiple Improvements (Onchain/GT)
🗓️ **April 18, 2023**
* base\_token\_native\_currency and quote\_token\_native\_currency added to the pools endpoint response. This allows you to obtain price in the network's native currency in addition to in USD
* reserve\_in\_usd added to the pools endpoint response. This returns the total liquidity/reserve of the pool in USD
* pool\_created\_at added to the pools endpoint response
We've added [/coins/top\_gainers\_losers](https://docs.coingecko.com/reference/coins-top-gainers-losers) endpoint exclusively for Paid Plan Subscribers.
[/networks//pools//ohlcv/](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) now returns more granularity `day,` `hour`, `minute` and multiple aggregates
* Market cap and volume data for 'ecosystem' categories in the [/coins/categories](https://docs.coingecko.com/reference/coins-categories) endpoint will now return 'null' until further notice. The CoinGecko team is actively working on improvements to provide more accurate data. If you have any feedback or suggestions, please reach out via [api@coingecko.com](mailto:api@coingecko.com).
* Previously, the [/simple/token\_price/](https://docs.coingecko.com/reference/simple-token-price) endpoint was unable to return data for some Solana coins. This issue has been resolved, and users can now expect accurate data for Solana coins from this endpoint.
We've introduced the [/exchange//volume\_chart/range](https://docs.coingecko.com/reference/exchanges-id-volume-chart-range) endpoint for Paid Plan Subscribers.
* The provided endpoint URL includes parameters such as `ids=bitcoin` and `vs_currencies=usd`, indicating that the intention to retrieve the current price of Bitcoin in US Dollars.
**How to obtain Coin ID aka API ID?** There are 3 options:
* View the full list of coins with API ID, symbol and name using this [Google Sheet](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* Look for the "API ID“ by visiting the info section of a coin page on CoinGecko:
Other than using Coin ID, you may also query price & market data of a coin using contract address, using [/simple/token\_price/\{id](https://docs.coingecko.com/reference/simple-token-price)} endpoint as example:
* Look for the "Contract“ by visiting the info section of a coin page on CoinGecko.
<Note>
### Notes
* Not all coins will have a contract address listed on the CoinGecko site.
* If an address is not shown on the CoinGecko page, you will not be able to query the coin by its contract address via the API.
* The contract addresses are curated by the CoinGecko team, if you find out any missing contract address, feel free to [share](https://support.coingecko.com/hc/en-us/requests/new) with us to review.
* [Block Explorer (Etherscan)](https://etherscan.io/token/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984)
## Specify target currency to return
In the 2 examples above, both queries for Coin ID and Contract Address contain `vs_currencies=usd`. Most of the CoinGecko API endpoints will require you to specify the currency.
CoinGecko API data supports all major fiat currencies and some famous crypto currencies like the following:
| Type | Currency | vs\_currencies (Param value) |
For full list of supported currencies, please go to [/simple/supported\_vs\_currencies](https://docs.coingecko.com/reference/simple-supported-currencies) endpoint
There are 4 parameters values applied for this endpoint:
* `vs_currency`: `usd`
* `order`: `market_cap_desc` — The endpoint response will be sorted in descending order, from the coins with the largest market cap to those with the smallest.
* `per_page`: `100` — The results of coins per page are set at 100 in this case (maximum is 250).
* `page`: `1` — The page number of the results is determined by the parameter `per_page`. In the case of `per_page=100` and `page=2`, the responses will include coins ranked 101 to 200 on CoinGecko, sorted by market cap, as per the specified endpoint.
If you are not a developer and prefer to learn only specific tutorials on Google Sheet/Excel, feel free to check [👶 Tutorials (Beginner-friendly)](https://docs.coingecko.com/docs/tutorials-beginner-friendly)
| [1. Get data by ID or Address](https://docs.coingecko.com/docs/1-get-data-by-id-or-address) | Learn how to use different endpoints by obtaining Coin ID and token's contract address at first. |
| [2. Get Historical Data](https://docs.coingecko.com/docs/2-get-historical-data) | Learn how to get historical data of a coin by using different historical endpoints. |
| [3. Get Exchanges & NFT Data](https://docs.coingecko.com/docs/3-get-exchanges-nft-data) | Learn how to query exchanges and NFT data by accessing different endpoints. |
| [4. Get On-chain Data](https://docs.coingecko.com/docs/4-get-on-chain-data) | Learn how to use `/onchain` GT endpoints to query onchain data. |
* Most of the historical data are returned and queried using UNIX Timestamp.
* If you are not familiar with UNIX Timestamp, you may use tool like [epochconverter.com](https://www.epochconverter.com/) to convert between UNIX Timestamp and human readable date.
* You may use either coin ID or contract address to get the historical data.
</Check>
There are five different endpoints to get historical data of a coin:
| [/coins/\{id}/history](https://docs.coingecko.com/reference/coins-id-history) | Get the historical data (price, market cap, 24hrs volume, etc.) at a given date for a coin based on a particular coin ID. |
| [/coins/\{id}/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) | Get the historical chart data of a coin including time in UNIX, price, market cap and 24hrs volume based on particular coin ID. |
| [/coins/\{id}/market\_chart/range](https://docs.coingecko.com/reference/coins-id-market-chart-range) | Get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hrs volume based on particular coin ID. |
| [/coins/\{id}/contract/\{contract\_address}/market\_chart](https://docs.coingecko.com/reference/contract-address-market-chart) | Get the historical chart data of a coin including time in UNIX, price, market cap and 24hrs volume based on token contract address. |
| [/coins/\{id}/contract/\{contract\_address}/market\_chart/range](https://docs.coingecko.com/reference/contract-address-market-chart-range) | Get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hrs volume based on token contract address. |
The data granularity (interval) for [/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) and [/market\_chart/range](https://docs.coingecko.com/reference/coins-id-market-chart-range) endpoints is automatic and based on the date range:
| Get Full List with IDs | [/coins/list](https://docs.coingecko.com/reference/coins-list) | [/nfts/list](https://docs.coingecko.com/reference/nfts-list) | [/exchanges/list](https://docs.coingecko.com/reference/exchanges-list) | [/derivatives/exchanges/list](https://docs.coingecko.com/reference/derivatives-exchanges-list) |
| Get latest market data | [/coins/\{id}](https://docs.coingecko.com/reference/coins-id) | [/nfts/\{id}](https://docs.coingecko.com/reference/nfts-id) | [/exchanges/\{id}](https://docs.coingecko.com/reference/exchanges-id) | [/derivatives/exchanges/\{id}](https://docs.coingecko.com/reference/derivatives-exchanges-id) |
| Get Historical Data | [/coins/\{id}/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) | [/nfts/\{id}/market\_chart](https://docs.coingecko.com/reference/nfts-id-market-chart) | [/exchanges/\{id}/volume\_chart](https://docs.coingecko.com/reference/exchanges-id-volume-chart) | [/exchanges/\{id}/volume\_chart](https://docs.coingecko.com/reference/exchanges-id-volume-chart) |
**How to obtain the pool contract address? (e.g.`WETH/USDC`)**
* Look for the contract address section of pool page on [GeckoTerminal](https://www.geckoterminal.com/eth/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640):
Apart from the pool contract address, you also have the option to query onchain data by using the token contract address, using [/onchain/networks/\{network}/tokens/\{token\_address}/pools](https://docs.coingecko.com/reference/top-pools-contract-address) as example:
Accelerate your development with CoinGecko's curated AI prompts. These prompts are designed to guide AI-powered coding assistants in correctly implementing our official API SDKs (libraries), helping you spend less time debugging and more time building.
## How to Use Our Prompts
Integrating these prompts into your workflow is simple. Copy the entire markdown prompt for your chosen language and provide it as context to your AI assistant.
1. For **Chat Interfaces (Claude, ChatGPT, etc.)**: Paste the prompt at the beginning of your conversation before asking the AI to write code.
2. For **Cursor IDE**: Add the prompt to your project's `Rules` to enforce the guidelines across all AI interactions.
3. For **GitHub Copilot**: Save the prompt to a file (e.g. `coingecko_rules.md`) and reference it in your chat with `@workspace#coingecko_rules.md`.
## Available Prompts
Select the prompt that matches your project's tech stack.
* 🐍 **[Python](https://docs.coingecko.com/docs/python-ai-prompts)**: A complete guide for implementing the CoinGecko API using our official [coingecko-sdk](https://pypi.org/project/coingecko-sdk/).
* 🟦 **[TypeScript](https://docs.coingecko.com/docs/typescript-ai-prompts#/)**: The definitive prompt for integrating the CoinGecko API with our official [@coingecko/coingecko-typescript](https://www.npmjs.com/package/@coingecko/coingecko-typescript) package.
To get the most out of our AI prompts, keep these tips in mind:
* **Be Specific**: After providing the main prompt, give the AI a clear, specific task (e.g. "Write a function to fetch the price of Bitcoin and Ethereum in EUR").
* **Customize**: Feel free to modify the prompts to fit your project's unique requirements or coding standards.
* **Version Control**: Store your customized prompts in your repository to ensure your entire team benefits from consistent AI-generated code.
* **Always Review**: Treat AI-generated code as a starting point. Always review it for security, performance, and correctness.
* [/coins/list](https://docs.coingecko.com/reference/coins-list) — can be used to query all the supported coins on CoinGecko with names, symbols and coin IDs that can be used in other endpoints.
* [/search/trending](https://docs.coingecko.com/reference/trending-search) — can be used to query trending search coins, categories and NFTs on CoinGecko.
* [/simple/supported\_vs\_currencies](https://docs.coingecko.com/reference/simple-supported-currencies) — can be used to query the list of currencies for other endpoints that include parameters like `vs_currencies`, allowing to obtain the corresponding data for those currencies.
* [/asset\_platforms](https://docs.coingecko.com/reference/asset-platforms-list) — can be used to query the list of asset platforms for other endpoints that contain parameters like `id` or `ids` (asset platforms), allowing the retrieval of corresponding data for these asset platforms.
* [/simple/price](https://docs.coingecko.com/reference/simple-price) — can be used to query the prices of coins using the unique coin IDs that can be obtained from the "Discovery/Navigational Endpoints" mentioned above.
* [/coins/\{id}](https://docs.coingecko.com/reference/coins-id) — can be used to query the coin data using the unique coin IDs that can be obtained from the "Discovery/Navigational Endpoints" mentioned above.
* [/onchain/trending\_pools](https://docs.coingecko.com/reference/trending-pools-list) - can be used to query trending pools across all networks on GeckoTerminal.
* [/onchain/search/pools](https://docs.coingecko.com/reference/search-pools) - can be used to search for any pools on GeckoTerminal.
* [/onchain/networks-list](https://docs.coingecko.com/reference/networks-list) - can be used to query all the supported networks on GeckoTerminal.
* [/onchain/networks/\{network}/dexes](https://docs.coingecko.com/reference/dexes-list) - can be used to query all the supported decentralized exchanges (DEXs/`dexes`) on GeckoTerminal based on network id that can be obtained from the endpoint mentioned above.
* [/onchain/simple/networks/\{network}/token\_price/\{addresses}](https://docs.coingecko.com/reference/onchain-simple-price) - can be used to query any token price using the token address and network id that can be obtained from the "Discovery/Navigational Endpoints" and "Supporting Endpoints" mentioned above.
* [/onchain/networks/\{network}/pools/\{address}](https://docs.coingecko.com/reference/pool-address) - can be used to query the data of a specific pool based on the pool address and network id that can be obtained from the "Discovery/Navigational Endpoints" and "Supporting Endpoints" mentioned above.
Quick tips to empower your AI applications with CoinGecko API, and leverage our AI capabilities to help you build better and easier.
CoinGecko provides a powerful suite of AI-native tools to help you integrate real-time, historical, and onchain market data into your applications. Whether you're building a sophisticated trading bot, a market analysis tool, or a simple portfolio tracker, our AI toolkit is here to accelerate your development.
To help AI models interact with CoinGecko data effectively, we provide an `llms.txt` file at [/llms-full.txt](https://docs.coingecko.com/llms-full.txt). This file gives models context on how to best query our API, ensuring more accurate and efficient data retrieval. We recommend utilizing this in your integrations of MCP and AI applications.
The **MCP (Model-Context-Protocol)** Server is your gateway for connecting AI agents and large language models, like Claude and Gemini, directly to CoinGecko's live data streams. It's ideal for building conversational applications that can perform complex, real-time crypto analysis and answer user queries with up-to-the-minute information. Learn how to connect your AI agent by checking out [CoinGecko MCP Server](https://docs.coingecko.com/docs/mcp-server)
We've integrated AI assistance directly into our documentation to help you find answers and ship faster.
1. Use the **'Copy page'** button to copy endpoint-specific markdown prompts. You can take these prompts to your favorite LLM chat interface to explore use cases or generate boilerplate code.
2. Stuck on a problem? Click the **'AI Support'** button anywhere in our docs to chat with our AI Assistant. It's trained to resolve your inquiries instantly.
**Not a developer?** Fred not, check our no-code tutorial for beginners here: [Tutorials (Beginner-friendly)](https://docs.coingecko.com/docs/tutorials-beginner-friendly)
The server responds to a user’s request by issuing status codes when the request is made to the server. Kindly refer to the table below to further understand the status codes when indicating the success or failure of an API call.
| `400` (Bad Request) | This is due to an invalid request and the server could not process the user's request |
| `401` (Unauthorized) | This is due to the lack of valid authentication credentials for the requested resource by the user |
| `403` (Forbidden) | This is likely indicating that your access is blocked by our server, and we're unable to authorize your request |
| `408` (Timeout) | This error indicates that our server did not receive your complete request within our allowed time frame. This is usually caused by a slow network connection on your end or network latency. Please check your connection and try sending the request again. |
| `429` (Too many requests) | This is likely indicating that the rate limit has reached. The user should reduce the number of calls made, or consider scaling their service plan that has much higher rate limits and call credits |
| `500` (Internal Server Error) | This is a generic error response indicating that the server has encountered an unexpected issue that prevented it from fulfilling the request |
| `503` (Service Unavailable) | The service is currently unavailable. Please check the API status and updates on [https://status.coingecko.com](https://status.coingecko.com) |
| `1020` (Access Denied) | This is due to violation of CDN firewall rule |
| `10005` | You may not have access to this endpoint. e.g. 'This request is limited Pro API subscribers'. You may wanna subscribe to a paid plan [here](https://www.coingecko.com/en/api/pricing) |
| `10002` (Missing API Key) | API Key Missing. Please make sure you're using the right authentication method.<br />For Pro API, ensure you pass in `x_cg_pro_api_key` parameter with a Pro Key.<br />For Demo API, ensure you pass in `x_cg_demo_api_key` parameter with a Demo Key. |
| `10010` (Invalid API Key) | You have provided incorrect API key credentials. If you are using Pro API key, please change your root URL from `api.coingecko.com` to `pro-api.coingecko.com` |
| `10011` (Invalid API Key) | You have provided incorrect API key credentials. If you are using Demo API key, please change your root URL from `pro-api.coingecko.com` to `api.coingecko.com` |
| CORS error | Occurs when the server doesn't return the CORS headers required. You may learn more and attempt the recommended solutions [here](https://www.bannerbear.com/blog/what-is-a-cors-error-and-how-to-fix-it-3-ways/#how-to-fix-a-cors-error) |
## Rate Limit
<Note>
### **Notes**
* If you're using the Public API with Google Sheet and got hit with error, this is due to the IP sharing among Google Sheet users, and we have no control over this.
* If you need reliable performance, please **register for a demo account** or **subscribe to a paid plan** that comes with dedicated infra (API key) to prevent rate limit issues.
* For more details, please go to the page [here](https://www.coingecko.com/en/api/pricing).
</Note>
* For Public API user (Demo plan), the rate limit is \~30 calls per minutes and it varies depending on the traffic size.
* If you're Pro API user (any paid plan), the rate limit is depending on the paid plan that you're subscribed to.
* Regardless of the HTTP status code returned (including `4xx` and `5xx` errors), all API requests will count towards your **minute rate limit**.
* This endpoint can be used to query other coin's metadata like: links, categories, contract address, community, description in different languages and many more.
* Coin descriptions may include newline characters represented as `\r\n` (escape sequences), which may require processing for proper formatting.
* Use [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address) endpoint to get metadata of tokens listed on GeckoTerminal.com.
* For CoinGecko [categories](https://www.coingecko.com/en/categories), use [/coins/markets](https://docs.coingecko.com/reference/coins-markets) endpoint by supplying specific category.
* For GeckoTerminal [categories](https://www.geckoterminal.com/category), use [Pools by Category ID](https://docs.coingecko.com/reference/pools-category) endpoint by supplying specific category.
* Use [/coins/id](https://docs.coingecko.com/reference/coins-id) or [/coins/markets](https://docs.coingecko.com/reference/coins-markets) endpoints by flagging `sparkline = true`.
* If you wish to the obtain the URL slug of a specific CoinGecko Coin Page, e.g. `www.coingecko.com/en/coins/{web_slug}` you may use [/coin/id](https://docs.coingecko.com/reference/coins-id) endpoint and obtain the **`{web_slug}`** value.
* Active: use [/coins/list](https://docs.coingecko.com/reference/coins-list) endpoint, only active coins will be shown by default. You may also flag **`status=inactive`** to get a list of inactive coins.
* Price Stale: use [/simple/price](https://docs.coingecko.com/reference/simple-price) endpoint, flag `include_last_updated_at=true` to check latest update time.
* Current exchange rate: use [/exchange\_rates](https://docs.coingecko.com/reference/exchange-rates) endpoint.
* Historical exchange rate: use [/coins/id/history](https://docs.coingecko.com/reference/coins-id-history) or [/coins/id/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) endpoints.
* [/search](https://docs.coingecko.com/reference/search-data) endpoint allows you to search for coins, categories, exchanges (markets), and NFTs listed on CoinGecko.com. You may query by name or symbol.
* [/search-pools](https://docs.coingecko.com/reference/search-pools) endpoint allows you to search for pools listed on GeckoTerminal.com. You may query by pool contract address, token contract address, or token symbol.
## 19. Get List of Blockchain Networks supported on CoinGecko and GeckoTerminal.
CoinGecko and GeckoTerminal support different sets of blockchain networks. You can use the following endpoints to find the list of supported networks and their respective IDs:
You may use the [/asset-platforms-list](https://docs.coingecko.com/reference/asset-platforms-list) endpoint to obtain the native coin ID of all networks (asset platforms) listed on [www.coingecko.com](http://www.coingecko.com.).
There are multiple onchain endpoints that provide the liquidity data (`reserve_in_usd`) of a pool, for example: [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address). You may also get liquidity data (`total_reserve_in_usd`) of a token, using endpoints like: [Token Data by Token Address](https://docs.coingecko.com/reference/token-data-contract-address).
Note: `reserve_in_usd` (pool) represents the total liquidity of all tokens within a specific pool, whereas `total_reserve_in_usd` (token) refers to the total liquidity portion attributable to a specific token across all available pools.
## 22. Get list of onchain DEX pools based on specific criteria
* Use [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) to retrieve data for onchain DEX pools that match a given set of filters.
* Custom filtering: Combine multiple params — like liquidity thresholds, FDV ranges, 24-hour volume, and more — to extract the precise datasets you need.
* Risk and Quality checks: Apply fraud filters to weed out risky projects.
* For more details on examples and available filters, refer to:
* [Trending Search List](https://docs.coingecko.com/reference/trending-search/) — Trending Coins, NFTs, Categories on CoinGecko.com, based on user searches.
* [Trending Search Pools](https://docs.coingecko.com/reference/trending-search-pools/) — Trending Pools and Tokens on GeckoTerminal.com, based on user searches.
* [Top Gainers & Losers](https://docs.coingecko.com/reference/coins-top-gainers-losers) on CoinGecko.com, by specific time duration.
* [Trending Pools List](https://docs.coingecko.com/reference/trending-pools-list) and [Trending Pools by Network](https://docs.coingecko.com/reference/trending-pools-network) on GeckoTerminal.com, by specific time duration.
* By using [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address) endpoint, you can obtain the following security related data:
* Use [megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint to retrieve latest launchpad data, by flagging `sort=pool_created_at_desc`. Learn more on [changelog](https://docs.coingecko.com/changelog#now-supported%3A-launchpad-data-pump-fun-%26-more-%2C-granular-ohlcv%2C-and-honeypot-info).
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data. <br />
Subscribe to our [paid API plan](https://www.coingecko.com/en/api/pricing) (Analyst plan & above) to access WebSocket and REST API data delivery methods.
1. [/global](https://docs.coingecko.com/reference/crypto-global) — Display global crypto data such as number of active cryptocurrencies, exchanges and etc.
2. [/search/trending](https://docs.coingecko.com/reference/trending-search) — Display trending search coins, NFTs and categories.
3. [/coins/top\_gainers\_losers](https://docs.coingecko.com/reference/coins-top-gainers-losers) — Display the largest gainers in 24hr.
4. [/coins/categories](https://docs.coingecko.com/reference/coins-categories) — Display all the categories list.
5. [/coins/markets](https://docs.coingecko.com/reference/coins-markets) — Display all the supported coins with market related data.
1. [/coins/\{id} ](https://docs.coingecko.com/reference/coins-id)— Display all the coin data including name, price, market related data, website, explorers and etc.
2. [/simple/price](https://docs.coingecko.com/reference/simple-price) — Display data such as latest coin price, market cap and 24hr trading volume.
3. * [/coins/\{id}/history](https://docs.coingecko.com/reference/coins-id-history) — Display the historical price data.
* [/coins/\{id}/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) — Display the historical data in line chart.
* [/coins/\{id}/ohlc](https://docs.coingecko.com/reference/coins-id-ohlc) — Display the historical data in candlestick chart.
1. [/exchanges/\{id}](https://docs.coingecko.com/reference/exchanges-id) — Display the exchange information such as name, type, market related data such as trading volume and etc.
2. [/exchanges/\{id}/volume\_chart](https://docs.coingecko.com/reference/exchanges-id-volume-chart) — Display the historical volume chart data.
3. [/exchanges/\{id}/tickers](https://docs.coingecko.com/reference/exchanges-id-tickers) — Display the exchange's tickers.
1. [/nfts/\{id}](https://docs.coingecko.com/reference/nfts-id) — Display NFT data such as name, contract address, website, market related data such as floor price, market cap, volume and etc.
2. [/nfts/\{id}/market\_chart](https://docs.coingecko.com/reference/nfts-id-market-chart) — Display the historical market data in chart.
3. [/nfts/\{id}](https://docs.coingecko.com/reference/nfts-id) — Display the description of the NFT collection.
4. [/nfts/\{id}/tickers](https://docs.coingecko.com/reference/nfts-id-tickers) — Display the tickers of the NFT collection on different NFT marketplace.
1. [/onchain/search/pools ](https://docs.coingecko.com/reference/search-pools)— Allow users to search for pools on GeckoTerminal.
2. [/onchain/networks](https://docs.coingecko.com/reference/networks-list) — Display a list of supported networks on GeckoTerminal.
3. [/onchain/networks/trending\_pools](https://docs.coingecko.com/reference/trending-pools-list) — Display a list of trending pools across all networks on GeckoTerminal.
4. [/onchain/networks/new\_pools](https://docs.coingecko.com/reference/latest-pools-list) — Display all the latest pools across all networks on GeckoTerminal.
5. [/onchain/categories](https://docs.coingecko.com/reference/categories-list) — Display all the onchain categories on GeckoTerminal.
1. [/onchain/networks/\{network}/dexes](https://docs.coingecko.com/reference/dexes-list) — Display all the supported dex on a network on GeckoTerminal.
2. [/onchain/networks/\{network}/trending\_pools](https://docs.coingecko.com/reference/trending-pools-network) — Display a list of trending pools on a network on GeckoTerminal.
3. [/onchain/networks/\{network}/new\_pools](https://docs.coingecko.com/reference/latest-pools-network) — Display a list of new pools on a network on GeckoTerminal.
4. [/onchain/networks/\{network}/pools](https://docs.coingecko.com/reference/top-pools-network) — Display all the top pools on a network on GeckoTerminal.
5. [/onchain/categories/\{category\_id}/pools](https://docs.coingecko.com/reference/pools-category) — Display all the pools under a specific onchain category on GeckoTerminal.
1. * [/onchain/networks/\{network}/pools/\{address}](https://docs.coingecko.com/reference/pool-address) — Display pool data such as price, transactions, volume and etc.
* [/onchain/networks/\{network}/pools/\{pool\_address}/info](https://docs.coingecko.com/reference/pool-token-info-contract-address) — Display pool information such as name, symbol, image URL, description and etc.
2. [/onchain/networks/\{network}/pools/\{pool\_address}/ohlcv/\{timeframe}](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) — Display the OHLCV chart of the pool.
3. [/onchain/networks/\{network}/pools/\{pool\_address}/trades](https://docs.coingecko.com/reference/pool-trades-contract-address) — Display the trades of the pool in the past 24 hours.
1. [/onchain/categories](https://docs.coingecko.com/reference/categories-list) — Display list of onchain categories with market data.
2. [/onchain/categories/\{id}/pools](https://docs.coingecko.com/reference/pools-category) — Display list of pools with market data of a specific onchain category.
MCP Server for Crypto Price & Market Data. MCP (Model Context Protocol) is an open standard that allows Large Language Model (LLM) and other AI agents to securely and intelligently interact with external data sources and tools.
**CoinGecko MCP Server is currently in Beta.** We're constantly improving, and your feedback is crucial. Please share any thoughts or suggestions via [this feedback form](https://docs.google.com/forms/d/e/1FAIpQLSf06DOBauiZ8XS6NwWXUUwhFluH7jKHOAa3y4VsrkyGbLKyfA/viewform).
</Warning>
# 📕 Overview
The official CoinGecko MCP Server is now live, making CoinGecko data readily available to your AI models and applications. With the CoinGecko MCP, you can empower your agents to:
* **Access real-time market data**: Get aggregated prices, market cap, and trading volume for over 15k+ coins on CoinGecko, integrated across 1,000+ exchanges.
* **Dive into onchain analytics**: Query onchain DEX price and liquidity data for more than 8M tokens across 200+ networks via GeckoTerminal.
* **Discover market trends**: Instantly find trending coins, new token listings, top gainers/losers, and popular NFT collections.
* **Retrieve rich metadata**: Pull essential details like project descriptions, logos, social links, contract addresses, security info, and more.
* **Analyze historical performance**: Access historical price, market data, and OHLCV for any cryptocurrency.
* **Explore crypto categories**: Effortlessly list coins within specific sectors like Meme, DeFi, Layer 1, AI agent, and more.
Connecting your AI to CoinGecko is simple. We offer several MCP server options to fit your needs, from keyless access for testing to authenticated connections for production applications.
Most MCP-compatible clients, like Claude Desktop, Gemini CLI, and Cursor, can be configured using a simple JSON file (e.g., `claude_desktop_config.json`)
<Note>
### Prerequisites
* Make sure your device has `node` installed. You can download it from [nodejs.org/download](https://nodejs.org/en/download)
</Note>
## Which MCP Server Should You Use?
Here's a breakdown of the available options to help you choose the right one:
| MCP Server Type | Best For | Endpoints | Status | Setup Details |
| Remote Server (Public, Keyless) | - First-time users, quick tests, and basic queries<br />- Connect instantly without any registration<br />- Subject to shared rate limits, not for heavy use | Primary: `/mcp`<br />Alternative: `/sse` | Public Beta | [mcp.api.coingecko.com](https://mcp.api.coingecko.com/) |
| Remote Server (Authenticated) | - Scalable apps, AI agent integrations<br />- Unlocks 76+ tools available under your Demo/Pro plan<br />- Higher, reliable rate limits with 24/7 uptime. Get your API key [here](https://www.coingecko.com/en/api/pricing) | Primary: `/mcp`<br />Alternative: `/sse` | Public Beta | [mcp.pro-api.coingecko.com](https://mcp.pro-api.coingecko.com/) |
| Local Server | - Ideal for local development, desktop AI apps<br />- Build/test your AI app even without an active internet connection<br />- Demo/Pro API key to access more tools. Get your API key [here](https://www.coingecko.com/en/api/pricing) | Local server instance | Beta | [npmjs/coingecko-mcp](https://www.npmjs.com/package/@coingecko/coingecko-mcp) |
## 🔗 Endpoint Options
Each remote server offers two connection methods to ensure compatibility with various MCP clients:
* Use this if you encounter connection issues with the primary endpoint.
<Note>
Most clients work with either endpoint. The configuration examples below use the SSE endpoint by default for maximum compatibility.
</Note>
## Remote Server (Public, Keyless)
The easiest way to get started. Just add the following to your client's `mcp_config.json` file.
<Note>
### Client-Specific Config
The file name and location depend on your client. Find your config file here: [modelcontextprotocol.io/quickstart](https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server)
</Note>
Add the following configuration to your `mcp_config.json`:
<CodeGroup>
```json JSON theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.api.coingecko.com/mcp"
]
}
}
}
```
</CodeGroup>
Here's a quick 2-minute tutorial for setting up the public server with Claude Desktop:
To access more tools and higher rate limits, use your CoinGecko API key with our hosted "Bring Your Own Key" (BYOK) server. Get your API key [here](https://www.coingecko.com/en/api/pricing)
### Step 1: Add the configuration
Add the following configuration to your `mcp_config.json`:
<CodeGroup>
```json JSON theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.pro-api.coingecko.com/mcp"
]
}
}
}
```
</CodeGroup>
### Step 2: Authorize your MCP access
After adding the config, the first time your client tries to use the CoinGecko MCP, a new browser tab will open, redirecting you to our authentication page:
* Simply paste in your CoinGecko API key, and authorize to link your key to the MCP session.
✨ Don't have an API key yet? Upgrade to Pro today! Read more [here](https://www.coingecko.com/en/api/pricing).
* You can also toggle between dynamic/static tools here. Learn more about [Dynamic Tools](#dynamic-vs-static-tools).
## Local Server (API Key Required)
For local development and maximum control, run the MCP server directly on your machine. This method offers the rate limits based on your API plan.
<CodeGroup>
```json JSON theme={null}
{
"mcpServers": {
"coingecko_mcp_local": {
"command": "npx",
"args": [
"-y",
"@coingecko/coingecko-mcp"
],
"env": {
"COINGECKO_PRO_API_KEY": "YOUR_PRO_API_KEY",
"COINGECKO_ENVIRONMENT": "pro"
}
}
}
}
```
</CodeGroup>
✨ Don't have an API key yet? Get your free Demo key or upgrade to Pro! Read more [here](https://www.coingecko.com/en/api/pricing).
* Configure the `env` based on your API key tier:
* Pro API access:
<CodeGroup>
```json JSON theme={null}
...
"env": {
"COINGECKO_PRO_API_KEY": "YOUR_PRO_API_KEY",
"COINGECKO_ENVIRONMENT": "pro"
}
...
```
</CodeGroup>
* Demo API access:
<CodeGroup>
```json JSON theme={null}
...
"env": {
"COINGECKO_DEMO_API_KEY": "YOUR_DEMO_API_KEY",
"COINGECKO_ENVIRONMENT": "demo"
}
...
```
</CodeGroup>
# 🚀 Connecting with Claude
Connecting CoinGecko MCP to Claude is straightforward. The method varies slightly depending on your Claude plan.
## For Claude Free Users (via Claude Desktop)
You **must use the Claude Desktop app** and modify the configuration file.
1. **Locate`claude_desktop_config.json`**: Follow the instructions [here](https://modelcontextprotocol.io/quickstart/user) to find the file on your system.
2. **Add a server config**: Copy and paste one of the server configs above that matches your use case.
3. **Restart Claude Desktop**: Close and reopen the app for the changes to take effect.
## For Claude Pro Users
<Check>
### Tips
You can also follow the same steps as the Free users by modifying the `claude_desktop_config.json` file.
</Check>
1. In Claude ([claude.ai](https://claude.ai/) or the Desktop app), click on 'Add connectors' in your chat.
OpenAI ChatGPT have just launched an MCP connector, but requires [developer mode](https://platform.openai.com/docs/guides/developer-mode) toggle turned on.
1. Open your profile > Connectors > Advanced Settings > Toggle Developer Mode On
2. In the Connectors modal, choose "Create" and enter the CoinGecko MCP server info
Tap into the full potential of CoinGecko data — use these prompts to kickstart your next AI build.
### Simple Queries
> * What is the current price of Bitcoin in USD?
> * What is the market cap of Ethereum?
> * What are the top 3 trending coins on CoinGecko right now?
> * What are the top AI coins on GeckoTerminal now?
> * What is the floor price of the Pudgy Penguins NFT collection?
### Advanced Queries
> * Show me the current top 10 cryptocurrencies by market cap. Include their price, 24h change, and total volume. Display this in an interactive table.
🔥 Ready to upgrade? Explore [our API plans](https://www.coingecko.com/en/api/pricing).
## Dynamic vs. Static Tools
When running our CoinGecko MCP server, you can choose how the LLM client discovers tools.
* **Static (Default)**: The AI is given a complete list of tools and their functions upfront. This is faster for specific, known tasks.
* **Dynamic**: The AI first asks the server for available tools based on a keyword search, then learns how to use them. This is flexible but can be slower.
For a deeper dive, read the [official documentation](https://www.stainless.com/changelog/mcp-dynamic-tools) from Stainless.
To help AI models interact with CoinGecko data effectively, we provide an `llms.txt` file at [/llms-full.txt](https://docs.coingecko.com/llms-full.txt). This file gives models context on how to best query our API, ensuring more accurate and efficient data retrieval. We recommend utilizing this in your integrations.
CoinGecko MCP Server is powered by [Stainless](https://www.stainless.com/) ✱
Have feedback, a cool idea, or need help? Reach out to `soonaik@coingecko[dot]com` or fill in [this feedback form](https://docs.google.com/forms/d/e/1FAIpQLSf06DOBauiZ8XS6NwWXUUwhFluH7jKHOAa3y4VsrkyGbLKyfA/viewform).
A comprehensive AI prompt to guide coding assistants in correctly implementing the official CoinGecko Python SDK for reliable API integration.
## How to Use Our Prompts
Integrating these prompts into your workflow is simple. Copy the entire markdown prompt for your chosen language and provide it as context to your AI assistant.
1. For **Chat Interfaces (Claude, ChatGPT, etc.)**: Paste the prompt at the beginning of your conversation before asking the AI to write code.
2. For **Cursor IDE**: Add the prompt to your project's `Rules` to enforce the guidelines across all AI interactions.
3. For **GitHub Copilot**: Save the prompt to a file (e.g. `coingecko_rules.md`) and reference it in your chat with `@workspace#coingecko_rules.md`.
4. For **Claude Code**: Include the prompt in your CLAUDE.md file.
<CodeGroup>
````markdown Markdown theme={null}
# Goal: Generate Python code for the CoinGecko API using ONLY the official `coingecko_sdk`.
## 🚨 Critical Rules
1. **SDK Exclusivity**:
- **ALWAYS** use the official `coingecko_sdk` package.
- **NEVER** use the old `pycoingecko` library or make direct HTTP requests with `requests`, `httpx`, or `urllib`.
2. **Authentication**:
- **ALWAYS** load the API key from environment variables (e.g., `os.environ.get("COINGECKO_PRO_API_KEY")`).
- **NEVER** hardcode API keys or any other credentials in the source code.
3. **Client Implementation**:
- **ALWAYS** initialize a single, reusable client instance (`Coingecko` or `AsyncCoingecko`) for the application.
- **ALWAYS** configure automatic retries by setting the `max_retries` parameter on the client.
- **NEVER** implement manual retry loops using `time.sleep()`. The SDK handles this internally.
4. **Error Handling**:
- **ALWAYS** catch specific SDK exceptions (e.g., `coingecko_sdk.RateLimitError`, `coingecko_sdk.NotFoundError`).
- **NEVER** use a generic `except Exception:` block to catch known API errors.
## ✅ Correct Implementation Example
This is the standard for all generated code.
```python
# src/api/client.py
import os
from coingecko_sdk import Coingecko, AsyncCoingecko
# Initialize a single, reusable client. This should be imported and used application-wide.
# Unlock the Power of CoinGecko API with Unprecedented Ease
The official CoinGecko Typescript and Python SDK are now available for all developers! These SDKs dramatically streamline your integration process, enabling you to build powerful crypto applications faster and more reliably than ever before, regardless of your preferred language.
### Designed to make your life easier: Common Benefits of Our SDKs
* **Official Support**: Both SDKs are maintained by the CoinGecko team, ensuring up-to-date features, reliable access, and dedicated support.
* **Reduced Boilerplate**: Say goodbye to manual request construction and parsing. Our SDKs handle the complexities, allowing you to focus on your application logic.
* **Faster Development**: Build and iterate quicker with intuitive methods, clear documentation, and pre-built functionalities tailored for each language.
* **Seamless Integration**: Effortlessly incorporate CoinGecko data into your existing Python or TypeScript projects.
# 🟦 CoinGecko TypeScript SDK
Purpose-built to unlock the full capabilities of TypeScript for seamless integration with CoinGecko's API.
* **Full Type Safety**: Catch errors at compile time and write cleaner, more predictable code with strict TypeScript support.
* **Developer-Centric Design**: Enjoy a streamlined developer experience with intuitive interfaces, strong typings, and structured classes.
* You can also check your full historical usage by specifying "API Keys", "timeframe" or "date range". You may export as CSV for more comprehensive view.
* The overage option enables you to make API calls when your usage exceeds the monthly credits.
* You can activate the overage option by clicking the "Turn On Overage" button, ensuring uninterrupted service and allowing you to continue making API calls or vice versa.
A comprehensive AI prompt to guide coding assistants in correctly implementing the official CoinGecko TypeScript SDK.
## How to Use Our Prompts
Integrating these prompts into your workflow is simple. Copy the entire markdown prompt for your chosen language and provide it as context to your AI assistant.
1. For **Chat Interfaces (Claude, ChatGPT, etc.)**: Paste the prompt at the beginning of your conversation before asking the AI to write code.
2. For **Cursor IDE**: Add the prompt to your project's `Rules` to enforce the guidelines across all AI interactions.
3. For **GitHub Copilot**: Save the prompt to a file (e.g. `coingecko_rules.md`) and reference it in your chat with `@workspace#coingecko_rules.md`.
4. For **Claude Code**: Include the prompt in your CLAUDE.md file.
<CodeGroup>
````markdown Markdown theme={null}
# Goal: Generate TypeScript code for the CoinGecko API using ONLY the official `@coingecko/coingecko-typescript` package.
## 🚨 Critical Rules
1. **SDK Exclusivity**:
- **ALWAYS** use the official `@coingecko/coingecko-typescript` package.
- **NEVER** use `axios`, `fetch`, or any other method to make direct HTTP requests.
2. **Authentication**:
- **ALWAYS** load the API key from environment variables (e.g., `process.env.COINGECKO_PRO_API_KEY` or `dotenv`).
- **NEVER** hardcode API keys or any other credentials in the source code.
3. **Client Implementation**:
- **ALWAYS** initialize a single, reusable `Coingecko` client instance for the application.
- **ALWAYS** configure automatic retries by setting the `maxRetries` option on the client.
- **NEVER** implement manual retry loops using `setTimeout`. The SDK handles this internally.
4. **Error Handling & Types**:
- **ALWAYS** use `async/await` for all API calls.
- **ALWAYS** catch specific `APIError` subclasses using `instanceof` (e.g., `err instanceof Coingecko.RateLimitError`).
- **ALWAYS** use the built-in request and response types (e.g., `Coingecko.Simple.PriceGetParams`).
- **NEVER** use generic `catch (e)` blocks for known API errors.
## ✅ Correct Implementation Example
This is the standard for all generated code.
```typescript
// src/api/client.ts
import Coingecko from '@coingecko/coingecko-typescript';
// Initialize a single, reusable client. This should be imported and used application-wide.
export const client = new Coingecko({
proAPIKey: process.env.COINGECKO_PRO_API_KEY,
environment: 'pro',
maxRetries: 3, // Rely on the SDK's built-in retry mechanism.
});
// src/main.ts
import { client } from './api/client';
import Coingecko from '@coingecko/coingecko-typescript'; // Import the namespace for types
async function getBitcoinPrice(): Promise<number | null> {
Started in 2014, CoinGecko is the world's largest independent crypto data aggregator that is integrated with more than 1,000 crypto exchanges and lists more than 18,000 coins across 600+ categories. CoinGecko API offers the most comprehensive and reliable crypto market data through RESTful JSON endpoints.
CoinGecko API now serves **onchain DEX data** across 250+ blockchain networks, 1,700+ decentralized exchanges (DEXes), and 15M+ tokens, powered by GeckoTerminal.
Thousands of forward-thinking projects, Web3 developers, researchers, institutions, and enterprises use our API to obtain **price feeds, market data, metadata, and historical data of crypto assets, NFTs, and exchanges**.
Here are some of the **common use cases** for clients who use CoinGecko API:
* Crypto Exchanges (CEX, DEX), Trading Apps
* Wallets (Hot, Cold)
* Data Aggregator, Crypto Screener, Analytics Dashboard
* AI Agents, DeFAI Apps
* Block Explorer, Portfolio Tracker
* DeFi Protocols, NFT Marketplaces, Digital Bank
* Backtesting Trading Strategy
* Accounting, Tax, Audit, HR Payroll
* Research & Analysis: Media, Institution, Academic, VC, Financial
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data. <br />
Subscribe to our [paid API plan](https://www.coingecko.com/en/api/pricing) (Analyst plan & above) to access WebSocket and REST API data delivery methods.
<br />
<Columns cols={2}>
<Card title="Setting Up Your API Key" icon="key" href="/docs/setting-up-your-api-key">
Start by creating your CoinGecko API key
</Card>
<Card title="Building with AI" icon="robot" href="/docs/building-with-ai">
reference/api-reference/coingecko-pro.json get /key
This endpoint allows you to **monitor your account's API usage, including rate limits, monthly total credits, remaining credits, and more**
<Note>
### Note
For a more comprehensive overview of your API usage, please log in to [https://www.coingecko.com/en/developers/dashboard](https://www.coingecko.com/en/developers/dashboard).
Authentication method for CoinGecko Pro API (Paid plan subscribers with Pro-API keys)
<Note>
### **Notes**
* Pro API Key is only available for [CoinGecko API paid plan](https://www.coingecko.com/en/api/pricing) subscribers, the root URL for CoinGecko Pro API must be `https://pro-api.coingecko.com/api/v3/`.
* You are recommended to store the API key securely in your own backend and use a proxy to insert the key into the request URL.
* It's highly recommended to use the Headers method when making API requests for better security. Using query string parameters can risk exposing your API key.
</Note>
## CoinGecko API Authentication Method
If this is your first time using the Pro API key, you can supply API Key to the root URL using one of these ways:
You can now use the Pro-API key (exclusive to any paid plan subscriber) to call onchain DEX data powered by [GeckoTerminal](https://www.geckoterminal.com/).
<Note>
### **Notes**
* Authentication method for onchain endpoints is exactly same as other endpoints.
* When using the CG Pro API to access onchain DEX data, include the `/onchain` endpoint path in the request.
* Each request made to any endpoint counts as a single call (1 call = 1 credit).
* Each successful API request (Status 200) will deduct 1 credit from your monthly credit allowance.
* Unsuccessful Requests (Status 4xx, 5xx, etc) will not count towards credit deduction.
* Regardless of the HTTP status code returned (including 4xx and 5xx errors), all API requests will count towards your **minute rate limit**.
* Your monthly credit & rate limit are determined by the paid plan to which you subscribe. For more details, please refer to this [page](https://www.coingecko.com/en/api/pricing).
* To check the API usage, please go to the [developer dashboard](https://www.coingecko.com/en/developers/dashboard) or follow the guide [here](https://docs.coingecko.com/reference/setting-up-your-api-key#4-api-usage-report)
* You can retrieve pools or tokens of a specific category with this endpoint: [Pools by Category ID](https://docs.coingecko.com/reference/pools-category).
* GeckoTerminal categories are different from [CoinGecko categories](https://docs.coingecko.com/reference/coins-categories-list).
reference/api-reference/coingecko-pro.json get /coins/{id}/contract/{contract_address}
This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on an asset platform and a particular token contract address**
* Please note that the `twitter_followers` data field will no longer be supported by our API starting on May 15, 2025. Please refer to [changelog](https://docs.coingecko.com/changelog#upcoming-change-notice%3A-removal-of-twitter-followers-data) for more details.
reference/api-reference/coingecko-pro.json get /coins/{id}
This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on a particular coin ID**
<Tip>
### Tips
* You may obtain the coin `id` (API ID) via several ways:
* refers to respective coin page and find "API ID".
* Coin descriptions may include newline characters represented as `\r\n` (escape sequences), which may require processing for proper formatting.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* Cache/Update Frequency:
* Every 60 seconds for all the API plans.
* Community data for Telegram will be updated on weekly basis (Reddit & Twitter community data are no longer supported).
reference/api-reference/coingecko-pro.json get /coins/{id}/history
This endpoint allows you to **query the historical data (price, market cap, 24hrs volume, ...) at a given date for a coin based on a particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
reference/api-reference/coingecko-pro.json get /coins/{id}/market_chart
This endpoint allows you to **get the historical chart data of a coin including time in UNIX, price, market cap and 24hr volume based on particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
reference/api-reference/coingecko-pro.json get /coins/{id}/market_chart/range
This endpoint allows you to **get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
* For historical chart data with better granularity, you may consider using [/coins/\{id}/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) endpoint.
* For historical chart data with better granularity, you may consider using [/coins/{`id`}/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) endpoint.
reference/api-reference/coingecko-pro.json get /coins/{id}/tickers
This endpoint allows you to **query the coin tickers on both centralized exchange (CEX) and decentralized exchange (DEX) based on a particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
* refers to google sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You may specify the `exchange_ids` if you want to retrieve tickers for specific exchange only.
* You may include values such as `page` to specify which page of responses you would like to show.
* You may also flag to include more data such as exchange logo and depth.
</Tip>
<Note>
### Note
* The tickers are paginated to 100 items.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* When order is sorted by `volume`, ***converted\_volume*** will be used instead of ***volume***.
* Cache / Update Frequency: every 2 minutes for all the API plans.
* By default, this endpoint returns full list of active coins that are currently listed on CoinGecko.com , you can also flag `status=inactive` to retrieve coins that are no longer available on CoinGecko.com . The inactive coin IDs can also be used with [selected historical data](https://docs.coingecko.com/changelog#april-2024) endpoints.
* To filter results based on the coin's category, use the `category` param (refer to [`/coins/categories/list`](https://docs.coingecko.com/reference/coins-categories-list) for available categories).
reference/api-reference/coingecko-pro.json get /coins/{id}/contract/{contract_address}/market_chart
This endpoint allows you to **get the historical chart data including time in UNIX, price, market cap and 24hr volume based on asset platform and particular token contract address**
<Tip>
### Tips
* You may obtain the asset platform and contract address via several ways:
* refers to respective coin page and find 'contract address'.
reference/api-reference/coingecko-pro.json get /coins/{id}/contract/{contract_address}/market_chart/range
This endpoint allows you to **get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address**
<Tip>
### Tips
* You may obtain the asset platform and contract address via several ways:
* refers to respective coin page and find 'contract address'.
reference/api-reference/coingecko-pro.json get /derivatives/exchanges
This endpoint allows you to **query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko**
<Tip>
### Tips
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* Cache / Update Frequency: every 60 seconds for all the API plans.
reference/api-reference/coingecko-pro.json get /derivatives/exchanges/{id}
This endpoint allows you to **query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchanges' ID**
<Tip>
### Tips
* For `include_tickers` param, you may change the value to either `all` to include all the tickers or `unexpired` to include unexpired tickers in the responses. You may leave it blank to omit the tickers data.
</Tip>
<Note>
### Note
* Cache / Update Frequency: every 30 seconds for all the API plans.
For Pro-API users (any [paid plan](https://www.coingecko.com/en/api/pricing) subscribers), you get to access all the endpoints listed below, except those that marked with 👑.
* Some endpoints may have parameters or data access that are exclusive to different plan subscribers, please refer to the endpoint reference for details.
* In the API Reference section, the distinction between Paid Plan and Enterprise Plan endpoint access will be marked as below:
* 💼 — exclusive for any [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers: Analyst / Lite / Pro
* 👑 — exclusive for [Enterprise Plan](https://www.coingecko.com/en/api/enterprise) subscribers only.
| [/ping](https://docs.coingecko.com/reference/ping-server) | Check the API server status |
| 💼 [/key](https://docs.coingecko.com/reference/api-usage) | Check account's API usage |
| [/simple/price](https://docs.coingecko.com/reference/simple-price) | Query the prices of one or more coins by using their unique Coin API IDs |
| [/simple/token\_price/\{id}](https://docs.coingecko.com/reference/simple-token-price) | Query the prices of one or more coins by using their unique Coin API IDs |
| [/simple/supported\_vs\_currencies](https://docs.coingecko.com/reference/simple-supported-currencies) | Query all the supported currencies on CoinGecko |
| [/coins/list](https://docs.coingecko.com/reference/coins-list) | Query all the supported coins on CoinGecko with coins ID, name and symbol |
| [/coins/markets](https://docs.coingecko.com/reference/coins-markets) | Query all the supported coins with price, market cap, volume and market related data |
| [/coins/\{id}](https://docs.coingecko.com/reference/coins-id) | Query all the metadata (image, websites, socials, description, contract address, etc.) from the CoinGecko coin page based on a particular coin ID |
| [/coins/\{id}/tickers](https://docs.coingecko.com/reference/coins-id-tickers) | Query the coin tickers on both centralized exchange (CEX) and decentralized exchange (DEX) based on a particular coin ID |
| [/coins/\{id}/history](https://docs.coingecko.com/reference/coins-id-history) | Query the historical data (price, market cap, 24hr volume, ...) at a given date for a coin based on a particular coin ID |
| [/coins/\{id}/market\_chart](https://docs.coingecko.com/reference/coins-id-market-chart) | Get the historical chart data of a coin including time in UNIX, price, market cap and 24hr volume based on particular coin ID |
| [/coins/\{id}/market\_chart/range](https://docs.coingecko.com/reference/coins-id-market-chart-range) | Get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID |
| [/coins-id-ohlc](https://docs.coingecko.com/reference/coins-id-ohlc) | Get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID |
| 💼 [/coins/\{id}/ohlc/range](https://docs.coingecko.com/reference/coins-id-ohlc-range) | Get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamp based on particular coin ID |
| 💼 [/coins/top\_gainers\_losers](https://docs.coingecko.com/reference/coins-top-gainers-losers) | Query the top 30 coins with largest price gain and loss by a specific time duration |
| 💼 [/coins/list/new](https://docs.coingecko.com/reference/coins-list-new) | Query the latest 200 coins that recently listed on CoinGecko |
| 👑 [/coins/\{id}/circulating\_supply\_chart](https://docs.coingecko.com/reference/coins-id-circulating-supply-chart) | Query historical circulating supply of a coin by number of days away from now based on provided coin ID |
| 👑 [/coins/\{id}/circulating\_supply\_chart/range](https://docs.coingecko.com/reference/coins-id-circulating-supply-chart-range) | Query historical circulating supply of a coin, within a range of timestamp based on the provided coin ID |
| 👑 [/coins/\{id}/total\_supply\_chart](https://docs.coingecko.com/reference/coins-id-total-supply-chart) | Query historical total supply of a coin by number of days away from now based on provided coin ID |
| 👑 [/coins/\{id}/total\_supply\_chart/range](https://docs.coingecko.com/reference/coins-id-total-supply-chart-range) | Query historical total supply of a coin, within a range of timestamp based on the provided coin ID |
| [/coins/../contract/..](https://docs.coingecko.com/reference/coins-contract-address) | Query all the metadata (image, websites, socials, description, contract address, etc.) from the CoinGecko coin page based on an asset platform and a particular token contract address |
| [/coins/../contract/../market\_chart](https://docs.coingecko.com/reference/contract-address-market-chart) | Get the historical chart data including time in UNIX, price, market cap and 24hr volume based on asset platform and particular token contract address |
| [/coins/../contract/../market\_chart/range](https://docs.coingecko.com/reference/contract-address-market-chart-range) | Get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address |
| [/coins/categories/list](https://docs.coingecko.com/reference/coins-categories-list) | Query all the coins categories on CoinGecko |
| [/coins/categories](https://docs.coingecko.com/reference/coins-categories) | Query all the coins categories with market data (market cap, volume, ...) on CoinGecko |
| [/nfts/list](https://docs.coingecko.com/reference/nfts-list) | Query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko |
| [/nfts/..](https://docs.coingecko.com/reference/nfts-id) | Query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection ID |
| [/nfts/../contract/..](https://docs.coingecko.com/reference/nfts-contract-address) | Query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection contract address and respective asset platform |
| 💼 [/nfts/markets](https://docs.coingecko.com/reference/nfts-markets) | Query all the supported NFT collections with floor price, market cap, volume and market related data on CoinGecko |
| 💼 [/nfts/../market\_chart](https://docs.coingecko.com/reference/nfts-id-market-chart) | Query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now |
| 💼 [/nfts/../contract/../market\_chart](https://docs.coingecko.com/reference/nfts-contract-address-market-chart) | Query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now based on the provided contract address |
| 💼 [/nfts/../tickers](https://docs.coingecko.com/reference/nfts-id-tickers) | Query the latest floor price and 24hr volume of a NFT collection, on each NFT marketplace, e.g. OpenSea and LooksRare |
| [/exchanges](https://docs.coingecko.com/reference/exchanges) | Query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko |
| [/exchanges/list](https://docs.coingecko.com/reference/exchanges-list) | Query all the exchanges with ID and name |
| [/exchanges/\{id}](https://docs.coingecko.com/reference/exchanges-id) | Query exchange's data (name, year established, country, ...), exchange volume in BTC and tickers based on exchange's ID |
| [/exchanges/\{id}/tickers](https://docs.coingecko.com/reference/exchanges-id-tickers) | Query exchange's tickers based on exchange's ID |
| [/exchanges/\{id}/volume\_chart](https://docs.coingecko.com/reference/exchanges-id-volume-chart) | Query the historical volume chart data with time in UNIX and trading volume data in BTC based on exchange's ID |
| 💼 [/exchanges/\{id}/volume\_chart/range](https://docs.coingecko.com/reference/exchanges-id-volume-chart-range) | Query the historical volume chart data in BTC by specifying date range in UNIX based on exchange's ID |
| [/derivatives](https://docs.coingecko.com/reference/derivatives-tickers) | Query all the tickers from derivatives exchanges on CoinGecko |
| [/derivatives/exchanges](https://docs.coingecko.com/reference/derivatives-exchanges) | Query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko |
| [/derivatives/exchanges/\{id}](https://docs.coingecko.com/reference/derivatives-exchanges-id) | Query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchanges' ID |
| [/derivatives/exchanges/list](https://docs.coingecko.com/reference/derivatives-exchanges-list) | Query all the derivatives exchanges with ID and name on CoinGecko |
| [/\{entity}/public\_treasury/\{coin\_id}](https://docs.coingecko.com/reference/companies-public-treasury) | Query public companies & governments' cryptocurrency holdings by coin ID |
| [/public\_treasury/\{entity\_id}](https://docs.coingecko.com/reference/public-treasury-entity) | Query public companies & governments' cryptocurrency holdings by entity ID |
| [/entities/list](https://docs.coingecko.com/reference/entities-list) | Query all the supported entities on CoinGecko with entities ID, name, symbol, and country |
| [/exchange\_rates](https://docs.coingecko.com/reference/exchange-rates) | Query BTC exchange rates with other currencies |
| [/asset\_platforms](https://docs.coingecko.com/reference/asset-platforms-list) | Query all the asset platforms (blockchain networks) on CoinGecko |
| [/token\_lists/\{asset\_platform\_id}/all.json](https://docs.coingecko.com/reference/token-lists) | Get full list of tokens of a blockchain network (asset platform) that is supported by Ethereum token list standard |
| [/search](https://docs.coingecko.com/reference/search-data) | Search for coins, categories and markets listed on CoinGecko |
| [/search/trending](https://docs.coingecko.com/reference/trending-search) | Query trending search coins, NFTs and categories on CoinGecko in the last 24 hours |
| [/global](https://docs.coingecko.com/reference/crypto-global) | Query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap and etc. |
| [/global/decentralized\_finance\_defi](https://docs.coingecko.com/reference/global-defi) | Query cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume |
| 💼 [/global/market\_cap\_chart](https://docs.coingecko.com/reference/global-market-cap-chart) | Query historical global market cap and volume data by number of days away from now |
| [/onchain/simple/networks/../token\_price/..](https://docs.coingecko.com/reference/onchain-simple-price) | Get token price based on the provided token contract address on a network |
| [/onchain/networks](https://docs.coingecko.com/reference/networks-list) | Query all the supported networks on GeckoTerminal |
| [/onchain/networks/../dexes](https://docs.coingecko.com/reference/dexes-list) | Query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal |
| [/onchain/networks/trending\_pools](https://docs.coingecko.com/reference/trending-pools-list) | Query all the trending pools across all networks on GeckoTerminal |
| [/onchain/networks/../trending\_pools](https://docs.coingecko.com/reference/trending-pools-network) | Query the trending pools based on the provided network |
| [/onchain/networks/../pools/..](https://docs.coingecko.com/reference/pool-address) | Query the specific pool based on the provided network and pool address |
| [/onchain/networks/../pools/multi/..](https://docs.coingecko.com/reference/pools-addresses) | Query multiple pools based on the provided network and pool address |
| [/onchain/networks/../pools](https://docs.coingecko.com/reference/top-pools-network) | Query all the top pools based on the provided network |
| [/onchain/networks/../dexes/../pools](https://docs.coingecko.com/reference/top-pools-dex) | Query all the top pools based on the provided network and decentralized exchange (DEX) |
| [/onchain/networks/../new\_pools](https://docs.coingecko.com/reference/latest-pools-network) | Query all the latest pools based on provided network |
| [/onchain/networks/new\_pools](https://docs.coingecko.com/reference/latest-pools-list) | Query all the latest pools across all networks on GeckoTerminal |
| 🔥 💼 [/onchain/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) | Query pools based on various filters across all networks on GeckoTerminal |
| [/onchain/search/pools](https://docs.coingecko.com/reference/search-pools) | Search for pools on a network |
| 💼 [/onchain/pools/trending\_search](https://docs.coingecko.com/reference/trending-search-pools) | Query all the trending search pools across all networks on GeckoTerminal |
| [/onchain/networks/../tokens/../pools](https://docs.coingecko.com/reference/top-pools-contract-address) | Query top pools based on the provided token contract address on a network |
| [/onchain/networks/../tokens/..](https://docs.coingecko.com/reference/token-data-contract-address) | Query specific token data based on the provided token contract address on a network |
| [/onchain/networks/../tokens/multi/..](https://docs.coingecko.com/reference/tokens-data-contract-addresses) | Query multiple tokens data based on the provided token contract addresses on a network |
| [/onchain/networks/../tokens/../info](https://docs.coingecko.com/reference/token-info-contract-address) | Query token metadata (name, symbol, CoinGecko ID, image, socials, websites, description, etc.) based on a provided token contract address on a network |
| [/onchain/networks/../pools/../info](https://docs.coingecko.com/reference/pool-token-info-contract-address) | Query pool metadata (base and quote token details, image, socials, websites, description, contract address, etc.) based on a provided pool contract address on a network |
| [/onchain/tokens/info\_recently\_updated](https://docs.coingecko.com/reference/tokens-info-recent-updated) | Query 100 most recently updated tokens info across all networks on GeckoTerminal |
| 💼 [/onchain/networks/../tokens/../top\_holders](https://docs.coingecko.com/reference/top-token-holders-token-address) | Query top token holders based on the provided token contract address on a network |
| 💼 [/onchain/networks/../tokens/../holders\_chart](https://docs.coingecko.com/reference/token-holders-chart-token-address) | Get the historical token holders chart based on the provided token contract address on a network |
| [/onchain/networks/../pools/../ohlcv/..](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) | Get the OHLCV chart (Open, High, Low, Close, Volume) of a pool based on the provided pool address on a network |
| 💼 [/onchain/networks/../tokens/../ohlcv/..](https://docs.coingecko.com/reference/token-ohlcv-token-address) | Get the OHLCV chart (Open, High, Low, Close, Volume) of a token based on the provided token address on a network |
| [/onchain/networks/../pools/../trades](https://docs.coingecko.com/reference/pool-trades-contract-address) | Query the last 300 trades in the past 24 hours based on the provided pool address |
| 💼 [/onchain/networks/../tokens/../trades](https://docs.coingecko.com/reference/token-trades-contract-address) | Query the last 300 trades in the past 24 hours across all pools, based on the provided token contract address on a network |
| 💼 [/onchain/categories](https://docs.coingecko.com/reference/categories-list) | Query all the supported categories on GeckoTerminal |
| 💼 [/onchain/categories/../pools](https://docs.coingecko.com/reference/pools-category) | Query all the pools based on the provided category ID |
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data. <br />
Subscribe to our [paid API plan](https://www.coingecko.com/en/api/pricing) (Analyst plan & above) to access WebSocket and REST API data delivery methods.
reference/api-reference/coingecko-pro.json get /exchanges
This endpoint allows you to **query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko**
<Tip>
### Tips
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* All the exchanges in the responses are the exchanges with active trading volume on CoinGecko, any inactive or deactivated exchanges will be removed from the list.
* Cache / Update Frequency: every 60 seconds for all the API plans.
reference/api-reference/coingecko-pro.json get /exchanges/{id}
This endpoint allows you to **query exchange's data (name, year established, country, ...), exchange volume in BTC and top 100 tickers based on exchange's ID**
* Please note that the `trade_volume_24h_btc_normalized` data field will no longer be supported by our API starting on June 16, 2025. Please refer to [changelog](https://docs.coingecko.com/changelog#may-2025) for more details.
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](https://docs.coingecko.com/reference/exchange-rates) endpoint.
* For derivatives (e.g. `bitmex`, `binance_futures`), to get derivatives exchanges data, please go to [/derivatives/exchange/\{id}](https://docs.coingecko.com/reference/derivatives-exchanges-id) endpoint.
* Tickers are limited to 100 items, to get more tickers, please go to [/exchanges/\{id}/tickers](https://docs.coingecko.com/reference/exchanges-id-tickers) endpoint.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* Cache / Update Frequency: every 60 seconds for all the API plans.
reference/api-reference/coingecko-pro.json get /exchanges/{id}/tickers
This endpoint allows you to **query exchange's tickers based on exchange's ID**
<Note>
### Note
* Responses are paginated and limited to 100 tickers per page. You may specify the page number using the `page` params to retrieve the tickers accordingly.
* `order=base_target` sorts tickers by `base` symbol, then `target` symbol, in lexicographical order (`0 -> 9`, followed by `a -> z`).\
This sorting method ensures stable pagination results, minimizing cases where cached responses might otherwise cause duplicate or missing tickers across paginated pages.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* Cache / Update Frequency: every 60 seconds for all the API plans.
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](https://docs.coingecko.com/reference/exchange-rates) endpoint.
reference/api-reference/coingecko-pro.json get /exchanges/list
This endpoint allows you to **query all the exchanges with ID and name**
<Tip>
### Tips
* You may use this endpoint to query the list of exchanges including **derivatives exchanges** for other endpoints that contain params like `id`(exchange ID).
</Tip>
<Note>
### Note
* There is no pagination required for this endpoint.
* Cache / Update Frequency: every 5 minutes for all the API plans.
* Exclusive for all Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
* The last completed UTC day (00:00) is available 5 minutes after midnight on the next UTC day (00:05). The cache will **always expire at 00:05 UTC**. If you wish to get the latest daily data (00:00 UTC), you can make request at 00:05 UTC or later.
reference/api-reference/onchain-pro.json get /networks/new_pools
This endpoint allows you to **query all the latest pools across all networks on GeckoTerminal**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
reference/api-reference/onchain-pro.json get /networks/{network}/new_pools
This endpoint allows you to **query all the latest pools based on provided network**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* This endpoint includes the newly created pools in the past 48 hours.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
reference/api-reference/coingecko-pro.json get /nfts/{asset_platform_id}/contract/{contract_address}
This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume ...) based on the NFT collection contract address and respective asset platform**
* Solana NFT & Art Blocks are not supported for this endpoint, please use [/nfts/\{id}](https://docs.coingecko.com/reference/nfts-id) endpoint instead.
reference/api-reference/coingecko-pro.json get /nfts/{asset_platform_id}/contract/{contract_address}/market_chart
This endpoint allows you **query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now based on the provided contract address**
* This endpoint doesn't support Solana NFT and Art Blocks, please use [/nfts/\{id}/market\_chart](https://docs.coingecko.com/reference/nfts-id-market-chart) endpoint instead.
reference/api-reference/coingecko-pro.json get /nfts/{id}/market_chart
This endpoint allows you **query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now**
<Note>
### Note
* Data Granularity (auto):
* 1-14 days from now = **5-minutely** data
* 15 days & above from now = **daily** data (00:00 UTC)
* Cache/Update Frequency: every 5 minutes
* The last completed UTC day (00:00) is available 5 minutes after midnight on the next UTC day (00:05).
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
reference/api-reference/coingecko-pro.json get /nfts/list
This endpoint allows you to **query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko**
<Tip>
### Tips
* You may use this endpoint to query the list of nfts for other endpoints that contain params like `id` (NFT collection's ID) as well as `asset_platform_id` and `contract_address`.
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* The responses are paginated to 100 items.
* Cache / Update Frequency: every 5 minutes for all the API plans.
reference/api-reference/coingecko-pro.json get /nfts/markets
This endpoint allows you to **query all the supported NFT collections with floor price, market cap, volume and market related data on CoinGecko**
<Tip>
### Tips
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* Cache / Update Frequency: every 5 minutes.
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
* Some collection with low liquidity may not be ranked by Market Cap value, learn more [here](https://support.coingecko.com/hc/en-us/articles/37226121227545-What-is-NFT-Market-Cap). Sorting by Mcap ranking will first prioritise Market Cap value of liquid NFT collections, then followed by trading volume of illiquid NFT collections.
reference/api-reference/onchain-pro.json get /simple/networks/{network}/token_price/{addresses}
This endpoint allows you to **get token price based on the provided token contract address on a network**
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* If you require `market_cap_usd` to return FDV value (as seen in [GeckoTerminal.com](https://www.geckoterminal.com/)) when market cap data is unavailable, please specify this parameter `mcap_fdv_fallback=true`.
* The returned price currency is in USD.
* Addresses not found in GeckoTerminal will be ignored.
* This endpoint allows querying **up to 100 contract addresses** per request. This limit is exclusive for [paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above).
* When using this endpoint, GeckoTerminal's routing decides the best pool for token price. The price source may change based on liquidity and pool activity. For full control over the price, you may use [`/networks/{network}/pools/{address}`](https://docs.coingecko.com/reference/pool-address) endpoint by providing a specific pool address.
reference/api-reference/onchain-pro.json get /networks/{network}/pools/{address}
This endpoint allows you to **query the specific pool based on the provided network and pool address**
<Note>
### Note
* Address not found in GeckoTerminal will be ignored.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* `locked_liquidity_percentage` will be updated on daily basis.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens.
* Pools on a bonding curve (e.g. non-graduated pools from launchpads) will return `launchpad_details` object with their graduation status and migration details.
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
reference/api-reference/onchain-pro.json get /networks/{network}/pools/{pool_address}/ohlcv/{timeframe}
This endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a pool based on the provided pool address on a network**
<Tip>
### Tips
* You may use this endpoint to query the historical price and volume of a token.
* You may select the timeframe with its respective aggregate to get the intended OHLCV data (e.g. `minute?aggregate=15` for 15 minutes OHLCV).
</Tip>
<Note>
### Note
* This endpoint uses epoch/unix format for its timestamp. Example: `1708850449`.
* [Paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above) can access data from **September 2021 to the present**, depending on when the pool started tracking on GeckoTerminal.
* If no earlier data is available, an empty response will be returned.
* Each API call can only retrieve data for a **maximum range of 6 months**. To fetch older data, use the `before_timestamp` parameter to query in multiple requests.
* Pools with more than 2 tokens are not yet supported for this endpoint.
* Each OHLCV array (under "ohlcv\_list") consists of 6 elements in the following order:
* Timestamp: The epoch/unix timestamp representing the start of the time interval.
* Open: The opening price of the asset at the beginning of the interval.
* High: The highest price reached during the interval.
* Low: The lowest price reached during the interval.
* Close: The price of the asset at the end of the interval.
* Volume: The total trading volume of the asset during the interval.
* **Skipped Intervals**: To ensure concise and relevant data, specific timeframe intervals (e.g. minutely) with no recorded swaps are **excluded** from the response.
* Higher granularity timeframes (e.g. 1 minute) are more likely to skip intervals due to periods of inactivity, while lower granularity timeframes (e.g. daily) are less affected.
* For `include_empty_intervals` param:
* When `false` (default): Only intervals with trade data are returned.
* When `true`: All requested intervals are returned, those with no trade data are populated as follows:
* OHLC (Open, High, Low, Close) are all set to the Close price of the previous interval.
* *O = H = L = C = previous Close*
* Volume (V) is set to 0, reflecting no trade activity.
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
reference/api-reference/onchain-pro.json get /networks/{network}/pools/{pool_address}/info
This endpoint allows you to **query pool metadata (base and quote token details, image, socials, websites, description, contract address, etc.) based on a provided pool contract address on a network**
* If you would like to query pool data such as price, transactions, volume and etc. You can go to this endpoint [`/networks/{network}/pools/{address}`](https://docs.coingecko.com/reference/pool-address) instead.
* Learn more about GT score [here](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated).
* Metadata (image, websites, description, socials) may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by CoinGecko team, you may use the following endpoints:
* `holders` data is currently in Beta, with ongoing improvements to data quality, coverage, and update frequency.
* Supported chains include: Solana, EVM (Ethereum, Polygon, BNB, Arbitrum, Optimism, Base), Sui, TON, and Ronin.
* `distribution_percentage` coverage:
* Solana: `top_10`, `11_20`, `21_40`, `rest`
* Other chains: `top_10`, `11_30`, `31_50`, `rest`
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
reference/api-reference/onchain-pro.json get /networks/{network}/pools/multi/{addresses}
This endpoint allows you to **query multiple pools based on the provided network and pool address**
<Note>
### Note
* Addresses not found in GeckoTerminal will be ignored.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* This endpoint allows querying **up to 50 contract addresses** per request. This limit is exclusive for [paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include ` params will be included under the "included" key at the top level.
* `locked_liquidity_percentage` will be updated on daily basis.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens.
* Pools on a bonding curve (e.g. non-graduated pools from launchpads) will return `launchpad_details` object with their graduation status and migration details.
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
reference/api-reference/onchain-pro.json get /pools/megafilter
This endpoint allows you to **query pools based on various filters across all networks on GeckoTerminal**
<Tip>
### Tips
* Using `checks` param to filter pools based on various checks:
* `checks=no_honeypot` — Filter out Honeypot pools, using GoPlus Token Security and De.Fi Scanner.
* `checks=good_gt_score` — Show only pools with a GT Score of at least 75.
* `checks=on_coingecko` — Show only pools with tokens that are listed on CoinGecko.
* `checks=has_social` — Show only pools with their social links and token information updated.
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* Trending rankings are determined by a combination of factors:
* User engagement on geckoterminal.com
* Market activity, such as trading volume and transactions
* Pool security and credibility, including liquidity and honeypot checks
* `dexes` param can only be used when **only 1`networks`** is specified.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* Setting `include_unknown_honeypot_tokens=true` will include tokens with an 'unknown' honeypot status.
* Please note that this param only takes effect when `checks=no_honeypot` is specified.
* Cache/Update frequency: every 30 seconds.
* 💼 Exclusive for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
reference/api-reference/onchain-pro.json get /search/pools
This endpoint allows you to **search for pools on a network**
<Tip>
### Tips
* You may use this endpoint to search for query such as pool contract address, token contract address or token symbol. The endpoint will return matching pools as response.
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* refers to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You can retrieve specific coins using their unique `ids`, `names`, or `symbols`.
* You may flag to include more data such as market cap, 24hr volume, 24hr change, last updated time etc.
* To verify if a price is stale, you may flag `include_last_updated_at=true` in your request to obtain the latest updated time. Alternatively, you may flag `include_24hr_change=true` to determine if it returns a `null` value.
</Tip>
<Note>
### Note
* You may cross-check the price on [CoinGecko](https://www.coingecko.com) and learn more about our price methodology [here](https://www.coingecko.com/en/methodology).
* When multiple lookup params are provided, the following priority order is applied: `ids` (highest) > `names` > `symbols` (lowest).
* When searching by `name`, you need to URL-encode any spaces (e.g. "Binance Coin" becomes "Binance%20Coin").
* The `include_tokens=all` param is exclusively for use with the `symbols` lookup and is limited to maximum of 50 symbols per request.
* Wildcard searches are not supported for lookup params (`ids`, `names`, `symbols`).
* Cache/Update Frequency: every 20 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
* You may flag to include more data such as market cap, 24hr volume, 24hr change, last updated time etc.
</Tip>
<Note>
### Note
* The endpoint returns the global average price of the coin that is aggregated across all active exchanges on CoinGecko.
* You may cross-check the price on [CoinGecko](https://www.coingecko.com) and learn more about our price methodology [here](https://www.coingecko.com/en/methodology).
* Cache/Update Frequency: every 20 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
* If you would like to query token information such as socials, websites, description and etc. You can go to this endpoint [`/networks/{network}/tokens/{address}/info`](https://docs.coingecko.com/reference/token-info-contract-address) instead.
* Address not found in GeckoTerminal.com will be ignored.
* The endpoint will only return the first top most liquid pool for each token. The top pool is determined through a combination of two key factors: liquidity (`reserve_in_usd`) and 24-Hour Trading Volume (`volume_usd`)
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens. (requires `include=top_pools`)
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
</Note>
# 💼 Historical Token Holders Chart by Token Address
reference/api-reference/onchain-pro.json get /networks/{network}/tokens/{address}/info
This endpoint allows you to **query token metadata (name, symbol, CoinGecko ID, image, socials, websites, description, etc.) based on a provided token contract address on a network**
* If you would like to query token data such as decimals, total supply, price and etc. You can go to this endpoint [`/networks/{network}/tokens/{address}`](https://docs.coingecko.com/reference/token-data-contract-address) instead.
* Learn more about GT score [here](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated).
* Metadata (image, websites, description, socials) may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by CoinGecko team, you may use the following endpoints:
* `holders` data is currently in Beta, with ongoing improvements to data quality, coverage, and update frequency.
* Supported chains include: Solana, EVM (Ethereum, Polygon, BNB, Arbitrum, Optimism, Base), Sui, TON, and Ronin.
* `distribution_percentage` coverage:
* Solana: `top_10`, `11_20`, `21_40`, `rest`
* Other chains: `top_10`, `11_30`, `31_50`, `rest`
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
reference/api-reference/coingecko-pro.json get /token_lists/{asset_platform_id}/all.json
This endpoint allows you to **get full list of tokens of a blockchain network (asset platform) that is supported by [Ethereum token list standard](https://tokenlists.org/)**
<Note>
### Note
* Cache/Update Frequency: 5 minutes.
* A token will only be included in the list if the contract address is added by CoinGecko team. If you identified any missing token, you may submit a request [here](https://support.coingecko.com/hc/en-us/requests/new).
reference/api-reference/onchain-pro.json get /networks/{network}/tokens/{token_address}/ohlcv/{timeframe}
This endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a token based on the provided token address on a network**
<Note>
### Note
* This endpoint will return OHLCV data of the **most liquid pool** of the specified token. You may use this endpoint [Top Pools by Token Address](https://docs.coingecko.com/update/reference/top-pools-contract-address#/) to check the top pools of a token.
* This endpoint uses epoch/unix format for its timestamp. Example: `1708850449`.
* [Paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above) can access data from **September 2021 to the present**, depending on when the pool started tracking on GeckoTerminal.
* If no earlier data is available, an empty response will be returned.
* Each API call can only retrieve data for a **maximum range of 6 months**. To fetch older data, use the `before_timestamp` parameter to query in multiple requests.
* Pools with more than 2 tokens are not yet supported for this endpoint.
* Each OHLCV array (under "ohlcv\_list") consists of 6 elements in the following order:
* Timestamp: The epoch/unix timestamp representing the start of the time interval.
* Open: The opening price of the asset at the beginning of the interval.
* High: The highest price reached during the interval.
* Low: The lowest price reached during the interval.
* Close: The price of the asset at the end of the interval.
* Volume: The total trading volume of the asset during the interval.
* **Skipped Intervals**: To ensure concise and relevant data, specific timeframe intervals (e.g. minutely) with no recorded swaps are **excluded** from the response.
* Higher granularity timeframes (e.g. 1 minute) are more likely to skip intervals due to periods of inactivity, while lower granularity timeframes (e.g. daily) are less affected.
* For `include_empty_intervals` param:
* When `false` (default): Only intervals with trade data are returned.
* When `true`: All requested intervals are returned, those with no trade data are populated as follows:
* OHLC (Open, High, Low, Close) are all set to the Close price of the previous interval.
* *O = H = L = C = previous Close*
* Volume (V) is set to 0, reflecting no trade activity.
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
reference/api-reference/onchain-pro.json get /networks/{network}/tokens/{token_address}/trades
This endpoint allows you to **query the last 300 trades in the past 24 hours, across all pools, based on the provided token contract address on a network**
<Note>
### Note
* Exclusive for all [Paid Plan](https://www.coingecko.com/en/api/pricing) Subscribers (Analyst, Lite, Pro and Enterprise).
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
* If you would like to query token information such as socials, websites, description and etc. You can go to this endpoint [`/networks/{network}/tokens/{address}/info`](https://docs.coingecko.com/reference/token-info-contract-address) instead.
* Addresses not found in GeckoTerminal.com will be ignored.
* This endpoint allows querying **up to 50 contract addresses** per request. This limit is exclusive for [paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above).
* The endpoint will only return the first top most liquid pool for each token. The top pool is determined through a combination of two key factors: liquidity (`reserve_in_usd`) and 24-Hour Trading Volume (`volume_usd`).
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens. (requires `include=top_pools`)
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
* Cache/Update Frequency: every 10 seconds for Pro API (Analyst, Lite, Pro, Enterprise).
reference/api-reference/onchain-pro.json get /networks/{network}/tokens/{token_address}/pools
This endpoint allows you to **query top pools based on the provided token contract address on a network**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* The ranking of the top 20 pools is established by evaluating their liquidity and trading activity to identify the most liquid ones. This ranking is determined through a combination of two key factors: liquidity (`reserve_in_usd`) and 24-Hour Trading Volume (`volume_usd`).
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint.
* Trending rankings are determined by a combination of factors:
* User engagement on geckoterminal.com
* Market activity, such as trading volume and transactions
* Pool security and credibility, including liquidity and honeypot checks
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint.
* Trending rankings are determined by a combination of factors:
* User engagement on geckoterminal.com
* Market activity, such as trading volume and transactions
* Pool security and credibility, including liquidity and honeypot checks
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
reference/api-reference/coingecko-pro.json get /search/trending
This endpoint allows you **query trending search coins, NFTs and categories on CoinGecko in the last 24 hours**
<Note>
### Note
* The endpoint currently supports:
* Top 15 trending coins (sorted by the most popular user searches).
* Top 7 trending NFTs (sorted by the highest percentage change in floor prices).
* Top 6 trending categories (sorted by the most popular user searches).
* [Paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above) can use `show_max` param to retrieve maximum 30 coins, 10 NFTs, and 10 categories.
* Cache / Update Frequency: every 10 minutes for all the API plans.
reference/api-reference/onchain-pro.json get /pools/trending_search
This endpoint allows you to **query all the trending search pools across all networks on GeckoTerminal**
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Cache/Update frequency: every 60 seconds.
* 💼 Exclusive for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
Authentication method for CoinGecko Public API (Demo plan users)
<Note>
### **Notes**
* Demo API Key is only available for CoinGecko Public Demo API Plan, the root URL for CoinGecko Public Demo API must be `https://api.coingecko.com/api/v3/`.
* ⚠️ You are recommended to store the API key securely in your own backend and use a proxy to insert the key into the request URL.
* The authentication method below is for CoinGecko Public Demo API only. For **paid plan users with Pro-API key**, please refer to [this page](https://docs.coingecko.com/reference/authentication) instead.
* User Guide: [How to sign up for CoinGecko Demo API and generate an API key?](https://support.coingecko.com/hc/en-us/articles/21880397454233)
* It's highly recommended to use the **Headers method** when making API requests for better security. Using query string parameters can risk exposing your API key.
</Note>
## CoinGecko API Authentication Method
If this is your first time using the Demo API key, you can supply API Key to the root URL using one of these ways:
* Each request made to any endpoint counts as a single call (1 call = 1 credit).
* Your monthly credit & rate limit are determined by the paid plan to which you subscribe. For more details, please refer to this [page](https://www.coingecko.com/en/api/pricing).
* To check the API usage, please go to the [developer dashboard](https://www.coingecko.com/en/developers/dashboard) or follow the guide [here](https://docs.coingecko.com/v3.0.1/reference/setting-up-your-api-key#4-api-usage-report).
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/contract/{contract_address}
This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on an asset platform and a particular token contract address**
* Please note that the `twitter_followers` data field will no longer be supported by our API starting on May 15, 2025. Please refer to [changelog](https://docs.coingecko.com/changelog#upcoming-change-notice%3A-removal-of-twitter-followers-data) for more details.
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}
This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on a particular coin ID**
<Tip>
### Tips
* You may obtain the coin `id` (API ID) via several ways:
* refers to respective coin page and find "API ID".
* Tickers are limited to 100 items, to get more tickers, please go to [/coins/{id}/tickers](https://docs.coingecko.com/v3.0.1/reference/coins-id-tickers).
* Coin descriptions may include newline characters represented as `\r\n` (escape sequences), which may require processing for proper formatting.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* Cache/Update Frequency:
* Every 60 seconds for all the API plans.
* Community data for Telegram will be updated on weekly basis (Reddit & Twitter community data are no longer supported).
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/history
This endpoint allows you to **query the historical data (price, market cap, 24hrs volume, ...) at a given date for a coin based on a particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
* refers to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
</Tip>
<Note>
### Note
* The data returned is at `00:00:00 UTC`.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35).
* Access to historical data via the Public API (Demo plan) is **restricted to the past 365 days** only. To access the complete range of historical data, please subscribe to one of our [paid plans](https://www.coingecko.com/en/api/pricing) to obtain a Pro-API key.
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/market_chart
This endpoint allows you to **get the historical chart data of a coin including time in UNIX, price, market cap and 24hr volume based on particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
* refers to google sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You may use tools like [epoch converter ](https://www.epochconverter.com) to convert human readable date to UNIX timestamp.
</Tip>
<Note>
### Note
* You may leave the interval as empty for automatic granularity:
* 1 day from current time = **5-minutely** data
* 2 - 90 days from current time = **hourly** data
* above 90 days from current time = **daily** data (00:00 UTC)
* Cache / Update Frequency:
* Every 30 seconds for all the API plans (for last data point).
* The last completed UTC day (00:00) data is now available **10 minutes after midnight** on the next UTC day (00:10).
* Access to historical data via the Public API (Demo plan) is **restricted to the past 365 days** only. To access the complete range of historical data, please subscribe to one of our [paid plans](https://www.coingecko.com/en/api/pricing) to obtain a Pro-API key.
</Note>
# Coin Historical Chart Data within Time Range by ID
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/market_chart/range
This endpoint allows you to **get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
* refers to google sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
</Tip>
<Note>
### Note
* You may leave the interval params as empty for automatic granularity:
* 1 day from current time = **5-minutely** data
* 1 day from any time (except current time) = **hourly** data
* 2 - 90 days from any time = **hourly** data
* above 90 days from any time = **daily** data (00:00 UTC)
* Cache / Update Frequency:\
Based on days range (all the API plans)
* 1 day = 30 seconds cache
* 2 -90 days = 30 minutes cache
* 90 days = 12 hours cache
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35). The cache will always expire at 00:40 UTC.
* Access to historical data via the Public API (Demo plan) is **restricted to the past 365 days** only. To access the complete range of historical data, please subscribe to one of our [paid plans](https://www.coingecko.com/en/api/pricing) to obtain a Pro-API key.
* For historical chart data with better granularity, you may consider using [/coins/\{id}/market\_chart](https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart) endpoint.
* The timestamp displayed in the payload (response) indicates the end (or close) time of the OHLC data.
* Data granularity (candle's body) is automatic:
* 1 - 2 days: 30 minutes
* 3 - 30 days: 4 hours
* 31 days and beyond: 4 days
* Cache / Update Frequency:
* Every 15 minutes for all the API plans.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35).
* Access to historical data via the Public API (Demo plan) is **restricted to the past 365 days** only. To access the complete range of historical data, please subscribe to one of our [paid plans](https://www.coingecko.com/en/api/pricing) to obtain a Pro-API key.
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/tickers
This endpoint allows you to **query the coin tickers on both centralized exchange (CEX) and decentralized exchange (DEX) based on a particular coin ID**
<Tip>
### Tips
* You may obtain the coin ID (API ID) via several ways:
* refers to respective coin page and find 'API ID'.
* refers to google sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You may specify the `exchange_ids` if you want to retrieve tickers for specific exchange only.
* You may include values such as `page` to specify which page of responses you would like to show.
* You may also flag to include more data such as exchange logo and depth.
</Tip>
<Note>
### Note
* The tickers are paginated to 100 items.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* When order is sorted by `volume`, ***converted\_volume*** will be used instead of ***volume***.
* Cache / Update Frequency: every 2 minutes for all the API plans.
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/list
This endpoint allows you to **query all the supported coins on CoinGecko with coins ID, name and symbol**
<Tip>
### Tips
* You may use this endpoint to query the list of coins with coin ID for other endpoints that contain params like `id` or `ids` (coin ID).
</Tip>
<Note>
### Note
* There is no pagination required for this endpoint.
* Access to inactive coins via the Public API (Demo plan) is restricted. To access them, please subscribe to one of our paid plans to obtain a Pro-API key.
* Cache/Update Frequency:
* Every 30 minutes for Public API.
* Every 5 minutes for Pro API (Analyst, Lite, Pro, Enterprise).
* To filter results based on the coin's category, use the `category` param (refer to [`/coins/categories/list`](https://docs.coingecko.com/v3.0.1/reference/coins-categories-list) for available categories).
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/contract/{contract_address}/market_chart
This endpoint allows you to **get the historical chart data including time in UNIX, price, market cap and 24hr volume based on asset platform and particular token contract address**
<Tip>
### Tips
* You may obtain the asset platform and contract address via several ways:
* refers to respective coin page and find 'contract address'.
* You may leave the interval as empty for automatic granularity:
* 1 day from current time = **5-minutely** data
* 2 - 90 days from current time = **hourly** data
* above 90 days from current time = **daily** data (00:00 UTC)
* Cache / Update Frequency:
* Every 5 minutes for all the API plans.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35). The cache will always expire at 00:40 UTC.
* Access to historical data via the Public API (Demo plan) is **restricted to the past 365 days** only. To access the complete range of historical data, please subscribe to one of our [paid plans](https://www.coingecko.com/en/api/pricing) to obtain a Pro-API key.
</Note>
# Coin Historical Chart Data within Time Range by Token Address
v3.0.1/reference/api-reference/coingecko-demo.json get /coins/{id}/contract/{contract_address}/market_chart/range
This endpoint allows you to **get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address**
<Tip>
### Tips
* You may obtain the asset platform and contract address via several ways:
* refers to respective coin page and find 'contract address'.
* You may leave the interval params as empty for automatic granularity:
* 1 day from current time = **5-minutely** data
* 1 day from any time (except current time) = **hourly** data
* 2 - 90 days from any time = **hourly** data
* above 90 days from any time = **daily** data (00:00 UTC)
* Cache / Update Frequency:\
Based on days range (all the API plans)
* 1 day = 30 seconds cache
* 2 -90 days = 30 minutes cache
* 90 days = 12 hours cache
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35). The cache will always expire at 00:40 UTC.
* Access to historical data via the Public API (Demo plan) is **restricted to the past 365 days** only. To access the complete range of historical data, please subscribe to one of our [paid plans](https://www.coingecko.com/en/api/pricing) to obtain a Pro-API key.
v3.0.1/reference/api-reference/coingecko-demo.json get /derivatives/exchanges
This endpoint allows you to **query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko**
<Tip>
### Tips
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* Cache / Update Frequency: every 60 seconds for all the API plans.
v3.0.1/reference/api-reference/coingecko-demo.json get /derivatives/exchanges/{id}
This endpoint allows you to **query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchanges' ID**
<Tip>
### Tips
* For `include_tickers` param, you may change the value to either `all` to include all the tickers or `unexpired` to include unexpired tickers in the responses. You may leave it blank to omit the tickers data.
</Tip>
<Note>
### Note
* Cache / Update Frequency: every 30 seconds for all the API plans.
| [/ping](https://docs.coingecko.com/v3.0.1/reference/ping-server) | Check the API server status |
| [/simple/price](https://docs.coingecko.com/v3.0.1/reference/simple-price) | Query the prices of one or more coins by using their unique Coin API IDs |
| [/simple/token\_price/\{id}](https://docs.coingecko.com/v3.0.1/reference/simple-token-price) | Query the prices of one or more coins by using their unique Coin API IDs |
| [/simple/supported\_vs\_currencies](https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies) | Query all the supported currencies on CoinGecko |
| [/coins/list](https://docs.coingecko.com/v3.0.1/reference/coins-list) | Query all the supported coins on CoinGecko with coins ID, name and symbol |
| [/coins/markets](https://docs.coingecko.com/v3.0.1/reference/coins-markets) | Query all the supported coins with price, market cap, volume and market related data |
| [/coins/\{id}](https://docs.coingecko.com/v3.0.1/reference/coins-id) | Query all the metadata (image, websites, socials, description, contract address, etc.) from the CoinGecko coin page based on a particular coin ID |
| [/coins/\{id}/tickers](https://docs.coingecko.com/v3.0.1/reference/coins-id-tickers) | Query the coin tickers on both centralized exchange (CEX) and decentralized exchange (DEX) based on a particular coin ID |
| [/coins/\{id}/history](https://docs.coingecko.com/v3.0.1/reference/coins-id-history) | Query the historical data (price, market cap, 24hr volume, ...) at a given date for a coin based on a particular coin ID |
| [/coins/\{id}/market\_chart](https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart) | Get the historical chart data of a coin including time in UNIX, price, market cap and 24hr volume based on particular coin ID |
| [/coins/\{id}/market\_chart/range](https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart-range) | Get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID |
| [/coins-id-ohlc](https://docs.coingecko.com/v3.0.1/reference/coins-id-ohlc) | Get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID |
| [/coins/../contract/..](https://docs.coingecko.com/v3.0.1/reference/coins-contract-address) | Query all the metadata (image, websites, socials, description, contract address, etc.) from the CoinGecko coin page based on an asset platform and a particular token contract address |
| [/coins/../contract/../market\_chart](https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart) | Get the historical chart data including time in UNIX, price, market cap and 24hr volume based on asset platform and particular token contract address |
| [/coins/../contract/../market\_chart/range](https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart-range) | Get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address |
| [/coins/categories/list](https://docs.coingecko.com/v3.0.1/reference/coins-categories-list) | Query all the coins categories on CoinGecko |
| [/coins/categories](https://docs.coingecko.com/v3.0.1/reference/coins-categories) | Query all the coins categories with market data (market cap, volume, ...) on CoinGecko |
| [/nfts/list](https://docs.coingecko.com/v3.0.1/reference/nfts-list) | Query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko |
| [/nfts/..](https://docs.coingecko.com/v3.0.1/reference/nfts-id) | Query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection ID |
| [/nfts/../contract/..](https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address) | Query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection contract address and respective asset platform |
| [/exchanges](https://docs.coingecko.com/v3.0.1/reference/exchanges) | Query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko |
| [/exchanges/list](https://docs.coingecko.com/v3.0.1/reference/exchanges-list) | Query all the exchanges with ID and name |
| [/exchanges/\{id}](https://docs.coingecko.com/v3.0.1/reference/exchanges-id) | Query exchange's data (name, year established, country, ...), exchange volume in BTC and tickers based on exchange's ID |
| [/exchanges/\{id}/tickers](https://docs.coingecko.com/v3.0.1/reference/exchanges-id-tickers) | Query exchange's tickers based on exchange's ID |
| [/exchanges/\{id}/volume\_chart](https://docs.coingecko.com/v3.0.1/reference/exchanges-id-volume-chart) | Query the historical volume chart data with time in UNIX and trading volume data in BTC based on exchange's ID |
| [/derivatives](https://docs.coingecko.com/v3.0.1/reference/derivatives-tickers) | Query all the tickers from derivatives exchanges on CoinGecko |
| [/derivatives/exchanges](https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges) | Query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko |
| [/derivatives/exchanges/\{id}](https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-id) | Query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchanges' ID |
| [/derivatives/exchanges/list](https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-list) | Query all the derivatives exchanges with ID and name on CoinGecko |
| [/\{entity}/public\_treasury/\{coin\_id}](https://docs.coingecko.com/reference/companies-public-treasury) | Query public companies & governments' cryptocurrency holdings by coin ID |
| [/public\_treasury/\{entity\_id}](https://docs.coingecko.com/reference/public-treasury-entity) | Query public companies & governments' cryptocurrency holdings by entity ID |
| [/entities/list](https://docs.coingecko.com/reference/entities-list) | Query all the supported entities on CoinGecko with entities ID, name, symbol, and country |
| [/exchange\_rates](https://docs.coingecko.com/v3.0.1/reference/exchange-rates) | Query BTC exchange rates with other currencies |
| [/asset\_platforms](https://docs.coingecko.com/v3.0.1/reference/asset-platforms-list) | Query all the asset platforms (blockchain networks) on CoinGecko |
| [/token\_lists/\{asset\_platform\_id}/all.json](https://docs.coingecko.com/v3.0.1/reference/token-lists) | Get full list of tokens of a blockchain network (asset platform) that is supported by Ethereum token list standard |
| [/search](https://docs.coingecko.com/v3.0.1/reference/search-data) | Search for coins, categories and markets listed on CoinGecko |
| [/search/trending](https://docs.coingecko.com/v3.0.1/reference/trending-search) | Query trending search coins, NFTs and categories on CoinGecko in the last 24 hours |
| [/global](https://docs.coingecko.com/v3.0.1/reference/crypto-global) | Query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap and etc. |
| [/global/decentralized\_finance\_defi](https://docs.coingecko.com/v3.0.1/reference/global-defi) | Query cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume |
| [/onchain/simple/networks/../token\_price/..](https://docs.coingecko.com/v3.0.1/reference/onchain-simple-price) | Get token price based on the provided token contract address on a network |
| [/onchain/networks](https://docs.coingecko.com/v3.0.1/reference/networks-list) | Query all the supported networks on GeckoTerminal |
| [/onchain/networks/../dexes](https://docs.coingecko.com/v3.0.1/reference/dexes-list) | Query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal |
| [/onchain/networks/trending\_pools](https://docs.coingecko.com/v3.0.1/reference/trending-pools-list) | Query all the trending pools across all networks on GeckoTerminal |
| [/onchain/networks/../trending\_pools](https://docs.coingecko.com/v3.0.1/reference/trending-pools-network) | Query the trending pools based on the provided network |
| [/onchain/networks/../pools/..](https://docs.coingecko.com/v3.0.1/reference/pool-address) | Query the specific pool based on the provided network and pool address |
| [/onchain/networks/../pools/multi/..](https://docs.coingecko.com/v3.0.1/reference/pools-addresses) | Query multiple pools based on the provided network and pool address |
| [/onchain/networks/../pools](https://docs.coingecko.com/v3.0.1/reference/top-pools-network) | Query all the top pools based on the provided network |
| [/onchain/networks/../dexes/../pools](https://docs.coingecko.com/v3.0.1/reference/top-pools-dex) | Query all the top pools based on the provided network and decentralized exchange (DEX) |
| [/onchain/networks/../new\_pools](https://docs.coingecko.com/v3.0.1/reference/latest-pools-network) | Query all the latest pools based on provided network |
| [/onchain/networks/new\_pools](https://docs.coingecko.com/v3.0.1/reference/latest-pools-list) | Query all the latest pools across all networks on GeckoTerminal |
| [/onchain/search/pools](https://docs.coingecko.com/v3.0.1/reference/search-pools) | Search for pools on a network |
| [/onchain/networks/../tokens/../pools](https://docs.coingecko.com/v3.0.1/reference/top-pools-contract-address) | Query top pools based on the provided token contract address on a network |
| [/onchain/networks/../tokens/..](https://docs.coingecko.com/v3.0.1/reference/token-data-contract-address) | Query specific token data based on the provided token contract address on a network |
| [/onchain/networks/../tokens/multi/..](https://docs.coingecko.com/v3.0.1/reference/tokens-data-contract-addresses) | Query multiple tokens data based on the provided token contract addresses on a network |
| [/onchain/networks/../tokens/../info](https://docs.coingecko.com/v3.0.1/reference/token-info-contract-address) | Query token metadata (name, symbol, CoinGecko ID, image, socials, websites, description, etc.) based on a provided token contract address on a network |
| [/onchain/networks/../pools/../info](https://docs.coingecko.com/v3.0.1/reference/pool-token-info-contract-address) | Query pool metadata (base and quote token details, image, socials, websites, description, contract address, etc.) based on a provided pool contract address on a network |
| [/onchain/tokens/info\_recently\_updated](https://docs.coingecko.com/v3.0.1/reference/tokens-info-recent-updated) | Query 100 most recently updated tokens info across all networks on GeckoTerminal |
| [/onchain/networks/../pools/../ohlcv/..](https://docs.coingecko.com/v3.0.1/reference/pool-ohlcv-contract-address) | Get the OHLCV chart (Open, High, Low, Close, Volume) of a pool based on the provided pool address on a network |
| [/onchain/networks/../pools/../trades](https://docs.coingecko.com/v3.0.1/reference/pool-trades-contract-address) | Query the last 300 trades in the past 24 hours based on the provided pool address |
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data. <br />
Subscribe to our [paid API plan](https://www.coingecko.com/en/api/pricing) (Analyst plan & above) to access WebSocket and REST API data delivery methods.
v3.0.1/reference/api-reference/coingecko-demo.json get /exchanges
This endpoint allows you to **query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko**
<Tip>
### Tips
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* All the exchanges in the responses are the exchanges with active trading volume on CoinGecko, any inactive or deactivated exchanges will be removed from the list.
* Cache / Update Frequency: every 60 seconds for all the API plans.
v3.0.1/reference/api-reference/coingecko-demo.json get /exchanges/{id}
This endpoint allows you to **query exchange's data (name, year established, country, ...), exchange volume in BTC and top 100 tickers based on exchange's ID**
* Please note that the `trade_volume_24h_btc_normalized` data field will no longer be supported by our API starting on June 15, 2025. Please refer to [changelog](https://docs.coingecko.com/changelog#may-2025) for more details.
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](https://docs.coingecko.com/v3.0.1/reference/exchange-rates) endpoint.
* For derivatives (e.g. bitmex, binance\_futures), to get derivatives exchanges data, please go to [/derivatives/exchange/\{id}](https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-id) endpoint.
* Tickers are limited to 100 items, to get more tickers, please go to [/exchanges/\{id}/tickers](https://docs.coingecko.com/v3.0.1/reference/exchanges-id-tickers) endpoint.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* Cache / Update Frequency: every 60 seconds for all the API plans.
v3.0.1/reference/api-reference/coingecko-demo.json get /exchanges/{id}/tickers
This endpoint allows you to **query exchange's tickers based on exchange's ID**
<Note>
### Note
* Responses are paginated and limited to 100 tickers per page. You may specify the page number using the `page` params to retrieve the tickers accordingly.
* `order=base_target` sorts tickers by `base` symbol, then `target` symbol, in lexicographical order (`0 -> 9`, followed by `a -> z`).\
This sorting method ensures stable pagination results, minimizing cases where cached responses might otherwise cause duplicate or missing tickers across paginated pages.
* When `dex_pair_format=symbol`, the DEX pair `base` and `target` are displayed in symbol format (e.g. `WETH`, `USDC`) instead of as contract addresses.
* Cache / Update Frequency: every 60 seconds for all the API plans.
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](https://docs.coingecko.com/v3.0.1/reference/exchange-rates) endpoint.
v3.0.1/reference/api-reference/coingecko-demo.json get /exchanges/list
This endpoint allows you to **query all the exchanges with ID and name**
<Tip>
### Tips
* You may use this endpoint to query the list of exchanges including **derivatives exchanges** for other endpoints that contain params like `id`(exchange ID).
</Tip>
<Note>
### Note
* There is no pagination required for this endpoint.
* Cache / Update Frequency: every 5 minutes for all the API plans.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/new_pools
This endpoint allows you to **query all the latest pools across all networks on GeckoTerminal**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/new_pools
This endpoint allows you to **query all the latest pools based on provided network**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* This endpoint includes the newly created pools in the past 48 hours.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
v3.0.1/reference/api-reference/coingecko-demo.json get /nfts/{asset_platform_id}/contract/{contract_address}
This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume ...) based on the NFT collection contract address and respective asset platform**
* Solana NFT & Art Blocks are not supported for this endpoint, please use [/nfts/\{id}](https://docs.coingecko.com/v3.0.1/reference/nfts-id) endpoint instead.
v3.0.1/reference/api-reference/coingecko-demo.json get /nfts/list
This endpoint allows you to **query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko**
<Tip>
### Tips
* You may use this endpoint to query the list of NFTs for other endpoints that contain params like `id` (NFT collection's id) as well as `asset_platform_id` and `contract_address`.
* You may include values such as `per_page` and `page` to specify how many results you would like to show in the responses per page and which page of responses you would like to show.
</Tip>
<Note>
### Note
* The responses are paginated to 100 items.
* Cache / Update Frequency: every 5 minutes for all the API plans.
v3.0.1/reference/api-reference/onchain-demo.json get /simple/networks/{network}/token_price/{addresses}
This endpoint allows you to **get token price based on the provided token contract address on a network**
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* If you require `market_cap_usd` to return FDV value (as seen in [GeckoTerminal.com](https://www.geckoterminal.com/)) when market cap data is unavailable, please specify this parameter `mcap_fdv_fallback=true`.
* The returned price currency is in USD.
* Addresses not found in GeckoTerminal will be ignored.
* This endpoint allows querying **up to 30 contract addresses** per request.
* When using this endpoint, GeckoTerminal's routing decides the best pool for token price. The price source may change based on liquidity and pool activity. For full control over the price, you may use [`/networks/{network}/pools/{address}`](https://docs.coingecko.com/v3.0.1/reference/pool-address) endpoint by providing a specific pool address.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/pools/{address}
This endpoint allows you to **query the specific pool based on the provided network and pool address**
<Note>
### Note
* Address not found in GeckoTerminal will be ignored.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* `locked_liquidity_percentage` will be updated on daily basis.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens.
* Pools on a bonding curve (e.g. non-graduated pools from launchpads) will return `launchpad_details` object with their graduation status and migration details.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/pools/{pool_address}/ohlcv/{timeframe}
This endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a pool based on the provided pool address on a network**
<Tip>
### Tips
* You may use this endpoint to query the historical price and volume of a token.
* You may select the timeframe with its respective aggregate to get the intended OHLCV data (e.g. `minute?aggregate=15` for 15 minutes OHLCV).
</Tip>
<Note>
### Note
* This endpoint uses epoch/unix format for its timestamp. Example: `1708850449`.
* [Paid plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan & above) can access data from **September 2021 to the present**, depending on when the pool started tracking on GeckoTerminal.
* If no earlier data is available, an empty response will be returned.
* Each API call can only retrieve data for a **maximum range of 6 months**. To fetch older data, use the `before_timestamp` parameter to query in multiple requests.
* Pools with more than 2 tokens are not yet supported for this endpoint.
* Each OHLCV array (under "ohlcv\_list") consists of 6 elements in the following order:
* Timestamp: The epoch/unix timestamp representing the start of the time interval.
* Open: The opening price of the asset at the beginning of the interval.
* High: The highest price reached during the interval.
* Low: The lowest price reached during the interval.
* Close: The price of the asset at the end of the interval.
* Volume: The total trading volume of the asset during the interval.
* **Skipped Intervals**: To ensure concise and relevant data, specific timeframe intervals (e.g. minutely) with no recorded swaps are **excluded** from the response.
* Higher granularity timeframes (e.g. 1 minute) are more likely to skip intervals due to periods of inactivity, while lower granularity timeframes (e.g. daily) are less affected.
* For `include_empty_intervals` param:
* When `false` (default): Only intervals with trade data are returned.
* When `true`: All requested intervals are returned, those with no trade data are populated as follows:
* OHLC (Open, High, Low, Close) are all set to the Close price of the previous interval.
* *O = H = L = C = previous Close*
* Volume (V) is set to 0, reflecting no trade activity.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/pools/{pool_address}/info
This endpoint allows you to **query pool metadata (base and quote token details, image, socials, websites, description, contract address, etc.) based on a provided pool contract address on a network**
* If you would like to query pool data such as price, transactions, volume and etc. You can go to this endpoint [`/networks/{network}/pools/{address}`](https://docs.coingecko.com/v3.0.1/reference/pool-address) instead.
* Learn more about GT score [here](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated).
* Metadata (image, websites, description, socials) may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by CoinGecko team, you may use the following endpoints:
* `holders` data is currently in Beta, with ongoing improvements to data quality, coverage, and update frequency.
* Supported chains include: Solana, EVM (Ethereum, Polygon, BNB, Arbitrum, Optimism, Base), Sui, TON, and Ronin.
* `distribution_percentage` coverage:
* Solana: `top_10`, `11_20`, `21_40`, `rest`
* Other chains: `top_10`, `11_30`, `31_50`, `rest`
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/pools/multi/{addresses}
This endpoint allows you to **query multiple pools based on the provided network and pool address**
<Note>
### Note
* Addresses not found in GeckoTerminal will be ignored.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* This endpoint allows querying **up to 30 contract addresses** per request.
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include ` params will be included under the "included" key at the top level.
* `locked_liquidity_percentage` will be updated on daily basis.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens.
* Pools on a bonding curve (e.g. non-graduated pools from launchpads) will return `launchpad_details` object with their graduation status and migration details.
v3.0.1/reference/api-reference/onchain-demo.json get /search/pools
This endpoint allows you to **search for pools on a network**
<Tip>
### Tips
* You may use this endpoint to search for query such as pool contract address, token contract address or token symbol. The endpoint will return matching pools as response.
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* refers to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You can retrieve specific coins using their unique `ids`, `names`, or `symbols`.
* You may flag to include more data such as market cap, 24hr volume, 24hr change, last updated time etc.
* To verify if a price is stale, you may flag `include_last_updated_at=true` in your request to obtain the latest updated time. Alternatively, you may flag `include_24hr_change=true` to determine if it returns a `null` value.
</Tip>
<Note>
### Note
* You may cross-check the price on [CoinGecko](https://www.coingecko.com) and learn more about our price methodology [here](https://www.coingecko.com/en/methodology).
* When multiple lookup params are provided, the following priority order is applied: `ids` (highest) > `names` > `symbols` (lowest).
* When searching by `name`, you need to URL-encode any spaces (e.g. "Binance Coin" becomes "Binance%20Coin").
* The `include_tokens=all` param is exclusively for use with the `symbols` lookup and is limited to maximum of 50 symbols per request.
* Wildcard searches are not supported for lookup params (`ids`, `names`, `symbols`).
* Cache/Update Frequency: every 60 seconds for Public API.
* Every 20 seconds for [Pro-API](https://www.coingecko.com/en/api/pricing) (Analyst, Lite, Pro, Enterprise).
* You may flag to include more data such as market cap, 24hr volume, 24hr change, last updated time etc.
</Tip>
<Note>
### Note
* The endpoint returns the global average price of the coin that is aggregated across all active exchanges on CoinGecko.
* You may cross-check the price on [CoinGecko](https://www.coingecko.com) and learn more about our price methodology [here](https://www.coingecko.com/en/methodology).
* Cache/Update Frequency: every 60 seconds for Public API.
* Every 20 seconds for [Pro-API](https://www.coingecko.com/en/api/pricing) (Analyst, Lite, Pro, Enterprise).
* If you would like to query token information such as socials, websites, description and etc. You can go to this endpoint [`/networks/{network}/tokens/{address}/info`](https://docs.coingecko.com/v3.0.1/reference/token-info-contract-address) instead.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens. (requires `include=top_pools`)
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/tokens/{address}/info
This endpoint allows you to **query token metadata (name, symbol, CoinGecko ID, image, socials, websites, description, etc.) based on a provided token contract address on a network**
* If you would like to query token data such as decimals, total supply, price and etc. You can go to this endpoint [`/networks/{network}/tokens/{address}`](https://docs.coingecko.com/v3.0.1/reference/token-data-contract-address) instead.
* Learn more about GT score [here](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated).
* Metadata (image, websites, description, socials) may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by CoinGecko team, you may use the following endpoints:
* `holders` data is currently in Beta, with ongoing improvements to data quality, coverage, and update frequency.
* Supported chains include: Solana, EVM (Ethereum, Polygon, BNB, Arbitrum, Optimism, Base), Sui, TON, and Ronin.
* `distribution_percentage` coverage:
* Solana: `top_10`, `11_20`, `21_40`, `rest`
* Other chains: `top_10`, `11_30`, `31_50`, `rest`
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
v3.0.1/reference/api-reference/coingecko-demo.json get /token_lists/{asset_platform_id}/all.json
This endpoint allows you to **get full list of tokens of a blockchain network (asset platform) that is supported by [Ethereum token list standard](https://tokenlists.org/)**
<Note>
### Note
* Cache/Update Frequency: 5 minutes.
* A token will only be included in the list if the contract address is added by CoinGecko team. If you identified any missing token, you may submit a request [here](https://support.coingecko.com/hc/en-us/requests/new).
* If you would like to query token information such as socials, websites, description and etc. You can go to this endpoint [`/networks/{network}/tokens/{address}/info`](https://docs.coingecko.com/v3.0.1/reference/token-info-contract-address) instead.
* Addresses not found in GeckoTerminal.com will be ignored.
* This endpoint allows querying **up to 30 contract addresses** per request.
* The endpoint will only return the first top pool for each token.
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Market Cap can be verified by and sourced from CoinGecko, and the number may be higher than FDV as it may include Market Cap of tokens issued on other blockchain network.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Set `include_composition=true` to surface the balance and liquidity value of the pool's base and quote tokens. (requires `include=top_pools`)
* For tokens on a bonding curve (i.e. non-graduated tokens from launchpads), the response will include a `launchpad_details` object containing their graduation status and details.
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/tokens/{token_address}/pools
This endpoint allows you to **query top pools based on the provided token contract address on a network**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
</Tip>
<Note>
### Note
* The ranking of the top 20 pools is established by evaluating their liquidity and trading activity to identify the most liquid ones. This ranking is determined through a combination of two key factors: liquidity (`reserve_in_usd`) and 24-Hour Trading Volume (`volume_usd`).
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/dexes/{dex}/pools
This endpoint allows you to **query all the top pools based on the provided network and decentralized exchange (DEX)**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint (available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers \[Analyst plan or above].)
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/pools
This endpoint allows you to **query all the top pools based on the provided network**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint (available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers \[Analyst plan or above].)
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
v3.0.1/reference/api-reference/onchain-demo.json get /networks/trending_pools
This endpoint allows you to **query all the trending pools across all networks on GeckoTerminal**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint (available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers \[Analyst plan or above].)
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
v3.0.1/reference/api-reference/onchain-demo.json get /networks/{network}/trending_pools
This endpoint allows you to **query the trending pools based on the provided network**
<Tip>
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
* For more flexibility in retrieving an exact list of pools that match your specific needs, consider using the [/pools/megafilter](https://docs.coingecko.com/reference/pools-megafilter) endpoint (available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers \[Analyst plan or above].)
</Tip>
<Note>
### Note
* If the token's market cap is not verified by the team, the API response will return `null` for its market cap value, even though it has a displayed value on GeckoTerminal, which might not be accurate as it often matches the Fully Diluted Valuation (FDV).
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* This endpoint returns up to 20 pools per page. Use the `page` param to navigate more results.
* `page`: Pagination beyond 10 pages is available for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
| `c` | `channel_type` | string | Indicates the type of channel subscribed to. | C1 |
| `i` | `coin_id` | string | Identifier of the coins. Check full list of IDs [here](https://api.coingecko.com/api/v3/coins/list). | `ethereum`, `usd-coin` |
| `p` | `usd_price` | string | Current token price in USD. | 3639.78228844745 |
| `pp` | `usd_price_24h_change_percentage` | float | Percentage change in token price over the last 24 hours. | 3.566 |
| `t` | `last_updated_at` | integer | Timestamp of the last data update in UNIX time. | 1709542750 |
**Tips**: The Websocket payload will use the value `null` when specific data is unavailable. Ensure your application is capable of handling null values for fields that may not always have data.
CoinGecko API: Stream Real-Time Crypto Data with WebSockets
## Access Real-Time Crypto Data Instantly with CoinGecko WebSockets
In the fast-paced world of cryptocurrency, speed matters. Our official CoinGecko WebSocket API provides a dedicated, persistent connection for real-time data streaming, ensuring you receive critical market updates the moment they happen.
Move beyond traditional polling and embrace the power of instant data delivery for your trading bots, dashboards, and analytical applications.
<Tip>
CoinGecko Websocket (Beta) is now available for [paid plan ](https://www.coingecko.com/en/api/pricing)customers (Analyst plan & above)!
* For Analyst, Lite, Pro, and Pro+ self-serve customers, you will be eligible to access the following features, and stream real-time data by utilising your monthly API plan credits:
* Max connections: 10 concurrent socket connections
* Max subscriptions: 100 token or pool data subscription per channel, per socket
* Channel Access: all 4 channels
* Credit charge: 0.1 credit per response returned, deducting from monthly API plan credits
We will gradually improve the Websocket and expand the feature limits. Please share your feedback and suggestion via this [survey form](https://forms.gle/gNE1Txc9FCV55s7ZA), or email soonaik\@coingecko\[dot]com
</Tip>
* For existing **Enterprise plan** clients who wish to unlock higher limits (max connections, max subscriptions, and lower credit charge), please contact your Customer Success Manager.
| [OnchainSimpleTokenPrice](https://docs.coingecko.com/websocket/onchainsimpletokenprice) | G1 | Subscribe to receive real-time price updates for tokens, as seen on GeckoTerminal.com |
| [CGSimplePrice](https://docs.coingecko.com/websocket/cgsimpleprice) | C1 | Subscribe to receive real-time price updates for tokens, as seen on CoinGecko.com |
| [OnchainTrade](https://docs.coingecko.com/websocket/wss-onchain-trade) | G2 | Subscribe to receive real-time transaction updates for pools, as seen on GeckoTerminal.com |
| [OnchainOHLCV](https://docs.coingecko.com/websocket/wssonchainohlcv/) | G3 | Subscribe to receive real-time OHLCV (Open, High, Low, Close, Volume) for pools, as seen on GeckoTerminal.com |
* **Real-Time Data**: Once subscribed, you will start receiving real-time data updates based on your subscriptions. The received data will be in JSON format and will contain the relevant information for the subscribed event.
* **Close Connection:** When you're done receiving updates or want to close the WebSocket connection, you can gracefully close the connection.
* **Security Considerations:** Ensure that you keep your Pro-API key secure and do not expose it publicly in your code or any public repositories.
</Note>
### Connection Handling
To provide you with the most reliable and efficient experience, please be aware of the following regarding our WebSocket connections:
* To ensure your connection remains active and healthy, we send a **"ping" signal every 10 seconds**.
* If we **do not receive a "pong" response from your client within 20 seconds** of sending a ping, we will automatically disconnect the connection.
* **Action Required (Client-Side)**: Your WebSocket client must be configured to respond to our ping messages with a pong. Most WebSocket libraries handle this automatically, but please verify your implementation to ensure it's sending pong responses. This is critical for maintaining your connection.
* **Purpose**: From time to time, we will perform system reboots or deploy new versions of our service to implement updates, bug fixes, and improvements. These actions require a graceful restart of our servers.
* **Impact**: During these periods, your active WebSocket connections might be temporarily disconnected.
* **Action Required (Client-Side)**: It is essential that your application is designed to automatically attempt to re-establish the WebSocket connection if it detects a disconnection. Implementing an exponential backoff strategy for reconnection attempts is highly recommended to avoid overwhelming our servers during a widespread disconnection event.
| `c` | `channel_type` | string | Indicates the type of channel subscribed to. | G1 |
| `n` | `network_id` | string | Identifier of the blockchain network. Check full list of IDs [here](https://api.geckoterminal.com/api/v2/networks?page=1). | `eth` |
| `ta` | `token_address` | string | Contract address of the token on the blockchain. | `0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2` |
| `p` | `usd_price` | float | Current token price in USD. | 3639.78228844745 |
| `pp` | `usd_price_24h_change_percentage` | float | Percentage change in token price over the last 24 hours. | 3.566 |
| `t` | `last_updated_at` | integer | Timestamp of the last data update in UNIX time. | 1709542750 |
**Tips**: The Websocket payload will use the value `null` when specific data is unavailable. Ensure your application is capable of handling null values for fields that may not always have data.
**Tips**: use this Rest API endpoint [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address) to obtain contract address of the most liquid pool.
| `ch` | `channel_type` | string | Indicates the type of channel subscribed to. | G2 |
| `n` | `network_id` | string | Identifier of the blockchain network. Check full list of IDs [here](https://api.geckoterminal.com/api/v2/networks?page=1). | eth |
| `pa` | `pool_address` | string | Contract address of the pool. | `0x88e6a0c2dd6fcb..3f5640` |
| `vo` | `volume_in_usd` | float | The transaction value in USD. | 1000 |
| `pc` | `price_in_token_currency` | float | Current token price in target token currency | 3639.78228844745 |
| `pu` | `price_in_usd` | float | Current token price in USD | 3.566 |
| `t` | `last_updated_at` | integer | Timestamp of the last data update in UNIX time. | 1752072129000 |
**Tips**: The Websocket payload will use the value `null` when specific data is unavailable. Ensure your application is capable of handling null values for fields that may not always have data.
Subscribe to receive real-time OHLCV updates for pools, as seen on GeckoTerminal.com
This Websocket channel allows you to subscribe to real-time OHLCV updates of a pool.
* Lookup by Network + Pool Address
* It will return **O**pen, **H**igh, **L**ow, **C**lose price and **V**olume data the specified pool.
**Update Frequency**: as fast as 1s, for actively traded pools.
**Tips**: use this Rest API endpoint [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address#/) to obtain contract address of the most liquid pool.
* You may stream the pool ohlcv data based on `base` or `quote` token of a pool.
* Please note that your subscription quota is based on the number of **unique data streams** you request. Each unique combination of an interval and token for a given pool is considered a **distinct subscription** and will count towards your max subscription limit.
| `ch` | `channel_type` | string | Indicates the type of channel subscribed to. | G3 |
| `n` | `network_id` | string | Identifier of the blockchain network. Check full list of IDs [here](https://api.geckoterminal.com/api/v2/networks?page=1). | eth |
| `pa` | `pool_address` | string | Contract address of the pool. | `0x88e6a0c2dd6fcb..3f5640` |
**Tips**: The Websocket payload will use the value `null` when specific data is unavailable. Ensure your application is capable of handling null values for fields that may not always have data.