# Changelog
Source: https://docs.coingecko.com/changelog
Product updates and announcements
## Stay Ahead with the New Crypto News Endpoint
🗓️ **March 27, 2026**
Get real-time crypto news and in-depth guides delivered straight from CoinGecko with the new [/news](/reference/news) endpoint!
* Query all the latest crypto news, as seen on [CoinGecko News](https://www.coingecko.com/en/news)
* Filter news by a specific coin using `coin_id`
* Filter by `language` and `type` (news, guides, or both)
* Supports pagination with `page` and `per_page` parameters
```json Example Payload expandable theme={null}
[
{
"title": "Bitcoin stalls: Why BTC risks $65K fall despite $23M whale buy",
"url": "https://ambcrypto.com/bitcoin-stalls-why-btc-risks-65k-fall-despite-23m-whale-buy/",
"image": "https://assets.coingecko.com/articles/images/106731445/large/open-uri20260327-7-fuq6r9.?1774609423",
"author": "Gladys Makena",
"posted_at": "2026-03-27T11:00:42Z",
"type": "news",
"source_name": "AMBCrypto",
"related_coin_ids": [
"1-token-2",
"1-token",
"bitcoin"
]
}
]
```
> 💼 Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
## CGSimplePrice WebSocket Now Supports `vs_currencies`
🗓️ **March 25, 2026**
The [CGSimplePrice](/websocket/cgsimpleprice) WebSocket channel now supports specifying preferred exchange rates via `vs_currencies`!
* Specify one or more target currencies using `vs_currencies` in the subscription data (e.g. `["usd","eur"]`)
* Choose from any currency supported by [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies)
* If `vs_currencies` is not specified, data is returned in USD by default
* A new `vs` field is included in every response payload indicating the target currency
**Input Example:**
```json theme={null}
{
"command": "message",
"identifier": "{\"channel\":\"CGSimplePrice\"}",
"data": "{\"coin_id\":[\"ethereum\",\"bitcoin\"],\"vs_currencies\":[\"usd\",\"eur\"],\"action\":\"set_tokens\"}"
}
```
**Response now includes `vs` field:**
```json {4} theme={null}
{
"c": "C1",
"i": "ethereum",
"vs": "usd",
"m": 312938652962.8005,
"p": 2591.080889351465,
"pp": 1.3763793110454519,
"t": 1747808150.269067,
"v": 20460612214.801384
}
```
## `interval=hourly` Now Available for All Plans on Coin Market Chart Endpoints
🗓️ **March 24, 2026**
The `interval=hourly` parameter is now accessible to all API users (Demo, Basic, Analyst & above) for the coin market chart endpoints:
* [/coins/\{id}/market\_chart](/reference/coins-id-market-chart) — hourly data up to the **past 100 days**
* [/coins/\{id}/market\_chart/range](/reference/coins-id-market-chart-range) — hourly data up to **any 100 days** date range per request
Previously restricted to Enterprise plan subscribers, you can now bypass auto-granularity by specifying `interval=hourly` on any plan. The `interval=5m` parameter remains exclusive to Enterprise subscribers.
## GT Verified Badge & Outstanding Token Value for Coin Endpoints
🗓️ **March 23, 2026**
### New `gt_verified` Field for Onchain Token & Pool Info
A new `gt_verified` boolean field is now available in the response payload for:
* [/onchain/networks/\{network}/tokens/\{address}/info](/reference/token-info-contract-address)
* [/onchain/networks/\{network}/pools/\{pool\_address}/info](/reference/pool-token-info-contract-address)
Learn more about [GT Verified](https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge).
```json Example Payload {4} theme={null}
{
...
"gt_score": 92.6605504587156,
"gt_verified": true,
"discord_url": null,
...
}
```
### New `outstanding_token_value_usd` & `outstanding_supply` Fields
Two new fields are now included in `market_data` for the following endpoints:
* [/coins/\{id}](/reference/coins-id)
* [/coins/\{id}/contract/\{contract\_address}](/reference/coins-contract-address)
**New fields:**
* `market_data.outstanding_token_value_usd` — Outstanding token value in USD (nullable)
* `market_data.outstanding_supply` — The amount of tokens outstanding in the market, including tokens that are circulated/tradable or planned for circulation. Excludes token supplies not planned for circulation or usage. Used to better understand the current theoretical maximum valuation of a token. (nullable)
```json Example Payload {3, 7} expandable theme={null}
"market_data": {
"market_cap_rank": 1,
"outstanding_token_value_usd": null,
...
"circulating_supply": 19675962,
"total_supply": 21000000,
"outstanding_supply": 20003043.0,
...
}
```
## Comprehensive Token Holder Analytics with PnL Details
🗓️ **February 25, 2026**
Track the financial performance of top token holders with detailed profit and loss metrics in the [Top Token Holders by Token Address](/reference/top-token-holders-token-address) endpoint!
**New optional parameter:**
* **`include_pnl_details`** (boolean, default: `false`):
Include comprehensive PnL metrics and trading analytics for each token holder
**New conditional fields returned when `include_pnl_details=true`:**
* `average_buy_price_usd` — Average purchase price per token in USD
* `total_buy_count` — Total number of buy transactions
* `total_sell_count` — Total number of sell transactions
* `unrealized_pnl_usd` — Unrealized profit/loss in USD based on current token price
* `unrealized_pnl_percentage` — Unrealized profit/loss as a percentage of total entry value
* `realized_pnl_usd` — Realized profit/loss in USD from completed sell transactions
* `realized_pnl_percentage` — Realized profit/loss as a percentage of total sell value
* `explorer_url` — Direct link to the holder's address on the blockchain explorer
```json Example Payload {15-22} expandable theme={null}
{
"data": {
"id": "base_0x6921b130d297cc43754afba22e5eac0fbf8db75b",
"type": "top_holder",
"attributes": {
"last_updated_at": "2026-02-16T09:56:34.328Z",
"holders": [
{
"rank": 1,
"address": "0x56bbe4200fdd412854bcf05f2c992827b64ee5c1",
"label": null,
"amount": "9703812154.0",
"percentage": "14.3507",
"value": "966572.07",
"average_buy_price_usd": null,
"total_buy_count": null,
"total_sell_count": null,
"unrealized_pnl_usd": null,
"unrealized_pnl_percentage": null,
"realized_pnl_usd": null,
"realized_pnl_percentage": null,
"explorer_url": "https://basescan.org/address/0x56bbe4200fdd412854bcf05f2c992827b64ee5c1"
},
```
## Enhanced Pool Discovery and Treasury Analytics with New Sorting and Holdings Metrics
🗓️ **February 12, 2026**
Discover pools and analyze institutional crypto holdings with powerful new sorting options and comprehensive financial metrics!
### Introduced New Sort Options for Pool Megafilter
Find the perfect pools for your trading strategy with four new sorting options in the [Megafilter for Pools](/reference/pools-megafilter) endpoint:
* **`price_asc`** — Sort by token price (lowest to highest)
* **`price_desc`** — Sort by token price (highest to lowest)
* **`h24_tx_count_asc`** — Sort by 24-hour transaction count (lowest to highest)
* **`h24_volume_usd_asc`** — Sort by 24-hour volume in USD (lowest to highest)
Identify undervalued gems by sorting ascending on price, discover high-activity pools with transaction count sorting, or find emerging opportunities with low-volume pools that show potential.
### Enriched Treasury Holdings Data with Holdings Metrics and Historical Tracking
Gain deeper insights into institutional crypto adoption with comprehensive financial data in the [Crypto Treasury Holdings by Entity ID](/reference/public-treasury-entity) endpoint:
**New default fields returned for all requests:**
* `total_treasury_value_usd` — Total current holdings value
* `unrealized_pnl` — Profit/loss vs entry cost
* `m_nav` — Market to net asset value ratio
* `total_asset_value_per_share_usd` — Per-share asset value
* Per-holding metrics:
* `amount_per_share`, `entity_value_usd_percentage`, `current_value_usd`, `total_entry_value_usd`, `average_entry_value_usd`, `unrealized_pnl`
```json Example Payload {9-12, 18-23} expandable theme={null}
{
"name": "Strategy",
"id": "strategy",
"type": "company",
"symbol": "MSTR.US",
"country": "US",
"website_url": "https://www.strategy.com/",
"twitter_screen_name": "Strategy",
"total_treasury_value_usd": 48119580010.663155,
"unrealized_pnl": -6554973853.336845,
"m_nav": 0.99,
"total_asset_value_per_share_usd": 150.46302495438903,
"holdings": [
{
"coin_id": "bitcoin",
"amount": 714644.0,
"percentage_of_total_supply": 3.403,
"amount_per_share": 0.0022345892873893874,
"entity_value_usd_percentage": 100.0,
"current_value_usd": 48119580010.663155,
"total_entry_value_usd": 54674553864.0,
"average_entry_value_usd": 76506.0,
"unrealized_pnl": -6554973853.336845
}
]
}
```
**New optional parameters for historical analysis:**
* **`holding_amount_change`** — Track absolute holding changes over time
* **`holding_change_percentage`** — Track percentage changes in holdings
* **Supported timeframes:** `7d`, `14d`, `30d`, `90d`, `1y`, `ytd` (comma-separated for multiple)
```json Example Payload {14-29} expandable theme={null}
...
"total_asset_value_per_share_usd": 150.46302495438903,
"holdings": [
{
"coin_id": "bitcoin",
"amount": 714644.0,
"percentage_of_total_supply": 3.403,
"amount_per_share": 0.0022345892873893874,
"entity_value_usd_percentage": 100.0,
"current_value_usd": 48119580010.663155,
"total_entry_value_usd": 54674553864.0,
"average_entry_value_usd": 76506.0,
"unrealized_pnl": -6554973853.336845,
"holding_amount_change": {
"7d": 1142.0,
"14d": 1997.0,
"30d": 27234.0,
"90d": 72952.0,
"1y": 235904.0,
"ytd": 42144.0
},
"holding_change_percentage": {
"7d": 0.16,
"14d": 0.28,
"30d": 3.962,
"90d": 11.369,
"1y": 49.276,
"ytd": 6.267
}
}
]
}
```
## \[Upcoming Change] Starknet Address Format Update
🗓️ **January 30, 2026**
**Effective Date**: 10 February 2026, 02:00 UTC
To ensure consistent data matching, we are updating the Starknet address format across the CoinGecko API.
**Summary of Changes**: Starting 10 February at 02:00 UTC, Starknet addresses (tokens and pools) will be standardized to the Padded Format (66 characters).
**Scope of Change:** This update **only** affects:
* **Onchain API endpoints** (e.g., `/onchain/networks/starknet-alpha/pools..`)
* **Onchain WebSocket channels** (broadcasted messages)
| Feature | Change Description |
| ---------------- | ---------------------------------------------------------------- |
| API Responses | All address fields will return in **padded format** (`0x0...`). |
| API Requests | We will continue to accept **both** padded and unpadded formats. |
| WebSockets | All broadcasted messages will use the **padded format**. |
| WS Subscriptions | Both padded and unpadded formats will be accepted for sub/unsub. |
### Technical Details: Padded vs. Unpadded
The primary difference is the addition of a leading zero following the `0x` prefix to reach a consistent 66-character length.
* **Old Format (Unpadded):** `0x4718...` (65 characters)
* **New Format (Padded):** `0x04718...` (66 characters)
### What this means for you
* **No Breaking Request Changes:** Your existing API calls using unpadded addresses will continue to work; our system will normalize these inputs automatically.
* **String Matching:** If your application performs strict string comparisons (e.g., `if (api_address === local_db_address)`), you should update your logic to handle padded formats or normalize addresses to a consistent length before comparing.
* **Data Storage:** If you store Starknet addresses from our API, be aware that future records will include the padding.
> **Note:** This change is specific to the **Starknet** network. Address formats for other chains (Ethereum, BSC, Solana, etc.) remain unaffected.
## Streamlined Notification Management with Multi-Recipient Email Alerts
🗓️ **January 27, 2026**
Ensure critical billing and usage alerts reach the right teams with our new email recipient management system!
Introducing the ability to add multiple email recipients for your API notifications directly from your dashboard. Account owners can now configure billing alerts and usage threshold notifications to reach multiple stakeholders without manual forwarding.
Add recipients who don't need CoinGecko accounts, customize notification preferences per recipient, and manage your distribution list anytime — all from the new Notifications ([developers/dashboard#notifications](https://www.coingecko.com/en/developers/dashboard#notifications)) tab.
**Available on:** Analyst plans and above, with expanded recipient limits for Enterprise plans. [Learn more about our API offerings](https://www.coingecko.com/en/api/pricing).
Perfect for larger teams where finance, operations, and engineering need independent access to critical alerts, eliminating single points of failure and enabling faster incident response when usage spikes or payments require attention.
**Learn more:** [How to Manage API Email Recipients](https://support.coingecko.com/hc/en-us/articles/54516497903129-How-to-Manage-API-Email-Recipients)
## Enhanced Team Collaboration with Role-Based Dashboard Access
🗓️ **January 26, 2026**
Securely share your API dashboard with team members using our new role-based access control system!
Introducing Team Invites & Shared Access — invite team members to collaborate on your API subscription without sharing login credentials (see [developers/dashboard#access](https://www.coingecko.com/en/developers/dashboard#access) tab). Account owners can now add "Collaborator" users who can:
* Manage API keys
* Monitor credit usage across API and WebSocket channels
* Access billing details from the Stripe portal.
The new dashboard switcher lets users seamlessly toggle between multiple team views when they're members of different organizations.
**Available on:** All plans, with increased seat limits for higher-tier subscriptions. [Learn more about our API offerings](https://www.coingecko.com/en/api/pricing).
Designed for larger teams, this feature enables secure credential management, faster incident response (any collaborator can rotate compromised keys immediately), and independent access for finance teams to retrieve invoices — eliminating operational bottlenecks and security risks from shared login credentials.
**Learn more:**
* [How to Manage Team Access on Your API Dashboard](https://support.coingecko.com/hc/en-us/articles/54503844273945-How-to-Manage-Team-Access-on-Your-API-Dashboard)
* [Team Access for API Plans FAQ](https://support.coingecko.com/hc/en-us/articles/54503941840025-Team-Access-for-API-Plans-FAQ)
## Advanced Filtering with Pagination for Treasury Data and Price Change Filters for Megafilter
🗓️ **January 22, 2026**
Empower your data analysis with enhanced filtering and pagination capabilities across key endpoints!
### Introduced Pagination and Sorting to Public Treasury Endpoint
Take control of large treasury datasets with new pagination and sorting parameters in the [Crypto Treasury Holdings by Coin ID](/reference/companies-public-treasury) endpoint:
* **`per_page`**: Control results per page (1-250, default: 250)
* **`page`**: Navigate through paginated results (default: 1)
* **`order`**: Sort by total holdings in USD
* `total_holdings_usd_desc` (default) — Highest holdings first
* `total_holdings_usd_asc` — Lowest holdings first
Efficiently analyze public companies and governments holding cryptocurrencies by breaking down large datasets into manageable pages and sorting by holdings to identify major institutional players or discover emerging adopters.
### Introduced Price Change Filters to Pool Megafilter
Discover trending pools with precision using new price change percentage filters in the [Megafilter for Pools](/reference/pools-megafilter) endpoint:
* **`price_change_percentage_min`**: Minimum price change percentage threshold
* **`price_change_percentage_max`**: Maximum price change percentage threshold
* **`price_change_percentage_duration`**: Time window for price change
* Available durations: `5m`, `1h`, `6h`, `24h`
Filter pools by price performance over your preferred timeframe to identify explosive short-term movers (5-minute surges), hourly momentum plays, or sustained 24-hour trends — perfect for building custom screeners and automated trading strategies.
## Enhanced Market Analytics with Volume Change Tracking and Historical OHLC for Inactive Coins
🗓️ **January 21, 2026**
Gain deeper market insights with new volume metrics and expanded historical data access!
### Introduced Volume Change Percentage to Global Market Data
Track global market momentum with the new `volume_change_percentage_24h_usd` field in the [Crypto Global Market Data](/reference/crypto-global) endpoint:
```json JSON {3} theme={null}
{
"market_cap_change_percentage_24h_usd": 0.7227196786856437,
"volume_change_percentage_24h_usd": -0.2692391926571914,
"updated_at": 1769062741
}
```
Monitor how global trading volume shifts over 24 hours to identify market sentiment changes, spot emerging trends, and make more informed trading decisions alongside market cap changes.
### Expanded Historical OHLC Data Access for Inactive Coins
Access historical candlestick data for inactive and delisted coins to complete your historical analysis:
* [Coin OHLC by ID](/reference/coins-id-ohlc) — `/coins/{id}/ohlc`
* [Coin OHLC Range by ID](/reference/coins-id-ohlc-range) — `/coins/{id}/ohlc/range`
Retrieve complete historical OHLC (Open, High, Low, Close) data even for coins that are no longer actively traded, enabling comprehensive backtesting, historical research, and portfolio performance analysis across your entire trading history.
## Expanded WebSocket Streaming with New Intervals and Quote Token Data
🗓️ **January 20, 2026**
We've supercharged our WebSocket API with powerful new capabilities to help you build more sophisticated trading and analytics applications!
### Introduced 15-Minute, 12-Hour, and Daily Intervals for OnchainOHLCV
Unlock more flexible timeframe analysis with three new interval options for the [OnchainOHLCV](/websocket/wssonchainohlcv) WebSocket channel:
* **New intervals added:** `15m`, `12h`, `1d`
* **Complete interval options:** `1s`, `1m`, `5m`, `15m`, `1h`, `2h`, `4h`, `8h`, `12h`, `1d`
Stream candlestick data at granular 15-minute intervals for short-term trading strategies, or capture broader market trends with 12-hour and daily candles perfectly suited for swing trading and long-term analysis.
### Introduced Quote Token Amount Field to OnchainTrade for Complete Swap Visibility
Get complete transparency into both sides of every trade with the new `toq` field in [OnchainTrade](/websocket/wss-onchain-trade) updates:
* **Field:** `toq` (quote\_token\_amount)
* **Type:** float
* **Description:** Amount of quote token transacted
```json JSON {7} theme={null}
{
"c": "G2",
"n": "bsc",
"pa": "0x172fcd41e0913e95784454622d1c3724f546f849",
"ty": "b",
"to": 11.0818733869477,
"toq": 0.0124384489204242,
"vo": 11.0724584599832,
"tx": "0xbc6afc1584fcbef90efe69b96602ef3ba4778727bacfdfece46bbbb075721bb4"
}
```
Track the exact quote token amount alongside the base token amount (`to`) to calculate precise exchange rates, monitor liquidity depth, and build accurate portfolio tracking systems.
## Breaking Change: Ticker Trust Score Deprecation
🗓️ **January 19, 2026**
⚠️ **Takes effect: 3rd March 2026**
We are deprecating the `trust_score` field that previously returned `green`, `yellow`, or `red` values for ticker data. The field will now return `null` across all affected endpoints.
**Change Details:**
The `trust_score` field will no longer provide color-coded trust ratings:
```json JSON {4} theme={null}
...
"usd": 1406996874
},
"trust_score": null,
"bid_ask_spread_percentage": 0.010014,
"timestamp": "2024-04-08T04:02:01+00:00",
...
```
**Affected Endpoints:**
1. [Coin Tickers by ID](/reference/coins-id-tickers) — `/coins/{id}/tickers`
2. [Exchange Tickers by ID](/reference/exchanges-id-tickers) — `/exchanges/{id}/tickers`
3. [Exchange Data by ID](/reference/exchanges-id) — `/exchanges/{id}`
4. [Coin Data by ID](/reference/coins-id) — `/coins/{id}`
5. [Coin Data by Token Address](/reference/coins-contract-address) — `/coins/{id}/contract/{contract_address}`
**Action Required:** If your application relies on the `trust_score` field for ticker data, please update your code to handle `null` values or remove this dependency.
## Access Inactive Token Data with New `include_inactive_source` Parameter
🗓️ **December 16, 2025**
We've introduced a new `include_inactive_source` query parameter across multiple onchain endpoints, enabling you to retrieve data for tokens even when they have no active pools (no valid swaps in the past 7 days).
When `include_inactive_source=true`, the API will source data from the pool with the most recent swap, regardless of how long ago it occurred. This ensures you can still access pricing and volume data for less active and dormant tokens.
**Updated endpoints:**
* [Token Data by Token Address](/reference/token-data-contract-address) — `/onchain/networks/../tokens/..`
* [Tokens Data by Token Addresses](/reference/tokens-data-contract-addresses) — `/onchain/networks/../tokens/multi/..`
```json JSON {6} theme={null}
...
"volume_usd": {
"h24": "40075650.4943209"
},
"market_cap_usd": "1544052409.96629",
"last_trade_timestamp": 1712534400
},
"relationships": {
...
```
* [Top Pools by Token Address](/reference/top-pools-contract-address) — `/onchain/networks/../tokens/../pools`
```json JSON {5} theme={null}
...
"h24": "536545444.904535"
},
"reserve_in_usd": "163988541.3812",
"last_trade_timestamp": 1712534400
},
"relationships": {
...
```
* [Token Price by Token Addresses](/reference/onchain-simple-price) — `/onchain/simple/networks/../token_price/..`
```json JSON {6,7,8} theme={null}
...
},
"total_reserve_in_usd": {
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "1576179559.94669772339136684208"
},
"last_trade_timestamp": {
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": 1712534400
}
}
...
```
* [Token OHLCV chart by Token Address](/reference/token-ohlcv-token-address) — `/onchain/networks/../tokens/../ohlcv/..` (no changes in payload)
## Upcoming Changes to Market Cap Rankings and API for Rehypothecated Tokens
🗓️ **December 15, 2025**
At CoinGecko, we are committed to providing the most accurate and independent cryptocurrency data in the industry. As the DeFi landscape evolves, so too must our methodologies for tracking and ranking assets. Today, we are announcing an important update regarding how we categorize and rank **rehypothecated tokens** such as wrapped assets and liquid staking tokens to ensure our market capitalization data remains a true reflection of the market's value.
Read [here](https://www.coingecko.com/learn/upcoming-changes-to-market-cap-rankings-and-api-for-rehypothecated-tokens) for full details.
#### **Important: CoinGecko API Breaking Changes**
**Effective Date:** These changes are scheduled to go live on **February 4th, 2026.**
**Note:** If your application does not specifically handle rehypothecated tokens, this breaking change is unlikely to affect you, and no action is required.
If you are a developer or use our API for data fetching, please pay close attention to the following breaking changes:
**1. Endpoints:** [Coin Data by ID](/reference/coins-id) — `/coins/{id}` and [Coin Data by Token Address](/reference/coins-contract-address) — `/coins/{id}/contract/{contract_address}`
* **Breaking change:** The `market_cap_rank` field will return `null` for rehypothecated tokens
* **New field added:** `market_cap_rank_with_rehypothecated`
* Available in both the parent object and the `market_data` object
* Shows ranking that includes rehypothecated tokens in the calculation
* **Action:** Use the new `market_cap_rank_with_rehypothecated` field to maintain ranking visibility for all tokens
```json JSON {3,7} theme={null}
{
"market_cap_rank": 1,
"market_cap_rank_with_rehypothecated": 1,
"market_data": {
...
"market_cap_rank": 1,
"market_cap_rank_with_rehypothecated": 1,
"fully_diluted_valuation": { ... }
}
}
```
**2. Endpoint:** [Coins List with Market Data](/reference/coins-markets) — `/coins/markets`
* **Breaking change:** Rehypothecated tokens will be **excluded** from the response list by default
* **Special behavior:** When a `category` parameter is in use, all coins (including rehypothecated tokens) will be returned, but the `market_cap_rank` field will be `null` for rehypothecated tokens
* **New parameter added:** `include_rehypothecated` (boolean, default: `false`)
* **New field (conditional):** `market_cap_rank_with_rehypothecated`
* Only appears in response when `include_rehypothecated=true`
* Shows ranking that includes rehypothecated tokens
* **Action:** Set `include_rehypothecated=true` to include rehypothecated tokens in results
```json JSON {4} theme={null}
{
"market_cap_rank": 1,
"last_updated": "2026-02-05T08:44:05.527Z",
"market_cap_rank_with_rehypothecated": 1
}
```
## New Top Traders by Token Address Endpoint
🗓️ **December 4, 2025**
Discover the top traders for any token with the new [Top Traders by Token Address](/reference/top-token-traders-token-address) endpoint. This endpoint enables you to monitor whale activity, track significant holders, and analyze trading patterns:
**Example payload:**
```json JSON theme={null}
{
"data": {
"id": "base_0x6921b130d297cc43754afba22e5eac0fbf8db75b",
"type": "top_trader",
"attributes": {
"traders": [
{
"address": "0xf748879edbe8cca140940788163d7be4d2a2e46a",
"name": "@zimagetsfox",
"label": "zimagetsfox.eth",
"type": "other",
"realized_pnl_usd": "1157358.77",
"unrealized_pnl_usd": "255071.37",
"token_balance": "1454984.43",
"average_buy_price_usd": "0.01144",
"average_sell_price_usd": "0.03460",
"total_buy_count": 48,
"total_sell_count": 109,
"total_buy_token_amount": "51422264.86",
"total_sell_token_amount": "49967280.42",
"total_buy_usd": "588308.47",
"total_sell_usd": "1729021.16",
"explorer_url": "https://etherscan.io/address/0xf748879edbe8cca140940788163d7be4d2a2e46a"
}
]
}
}
}
```
## New Public Treasury Endpoints: Historical Holdings and Transactions History
🗓️ **November 27, 2025**
* Both endpoints support easy ID lookup via respective entity/coin IDs.
* View live data examples on [https://www.coingecko.com/en/treasuries/companies/strategy](https://www.coingecko.com/en/treasuries/companies/strategy).
### Track Public Treasury Holdings Over Time with Historical Holdings Endpoint
Query historical holdings data for public companies and governments with the new [Crypto Treasury Holdings Historical Chart Data by ID](/reference/public-treasury-entity-chart) endpoint.
**Example payload:**
```json JSON theme={null}
{
"holdings": [
[
1763683200000,
649870.0
],
...
],
"holding_value_in_usd": [
[
1763683200000,
56311217680.033195
],
...
]
}
```
### Access Transaction History with New Treasury Endpoint
Retrieve detailed transaction history for public companies and governments using the new [Crypto Treasury Transaction History by Entity ID](/reference/public-treasury-transaction-history) endpoint.
**Example payload:**
```json JSON theme={null}
{
"transactions": [
{
"date": 1763337600000,
"source_url": "https://assets.contentstack.io/v3/assets/bltf8d808d9b8cebd37/blt27517abcb8f459e3/691aaadfcd08266e2ec6fbe9/form-8-k_11-17-2025.pdf",
"coin_id": "bitcoin",
"type": "buy",
"holding_net_change": 8178.0,
"transaction_value_usd": 835554438.0,
"holding_balance": 649870.0,
"average_entry_value_usd": 102171.0
}
]
}
```
## GT Community Data for More Pool Endpoints, plus Farcaster and Zora Social URL Support
🗓️ **November 15, 2025**
### GT Community Data Now Available across More Pools Endpoints
We've expanded GeckoTerminal community data support across multiple pool endpoints. When you set `include_gt_community_data=true`, you'll now receive sentiment voting and community reporting data in your API responses.
**New fields surfaced:**
```json JSON {4,5,6} theme={null}
...
},
"reserve_in_usd": "163988541.3812",
"sentiment_vote_positive_percentage": 60,
"sentiment_vote_negative_percentage": 40,
"community_sus_report": 18
},
"relationships": {
...
```
**Improved endpoints:**
* [Trending Pools List](/reference/trending-pools-list) — `/onchain/networks/trending_pools`
* [New Pools by Network](/reference/latest-pools-network) — `/onchain/networks/{network}/new_pools`
* [Trending Pools by Network](/reference/trending-pools-network) — `/onchain/networks/{network}/trending_pools`
* [Top Pools by Network](/reference/top-pools-network) — `/onchain/networks/{network}/pools`
* [Top Pools by DEX](/reference/top-pools-dex) — `/onchain/networks/{network}/dexes/{dex}/pools`
* [New Pools List](/reference/latest-pools-list) — `/onchain/new_pools`
### Farcaster and Zora Social URLs Support for Token Info Endpoints
Farcaster and Zora social URLs are now supported in our token info endpoints. These fields are now surfaced by default alongside existing social links:
```json JSON {3,4} theme={null}
...
"discord_url": null,
"farcaster_url": null,
"zora_url": null,
"telegram_handle": null,
...
```
**Supported endpoints:**
* [Token Info by Token Address](/reference/token-info-contract-address) — `/onchain/networks/{network}/tokens/{address}/info`
* [Pool Tokens Info by Pool Address](/reference/pool-token-info-contract-address) — `/onchain/networks/{network}/pools/{pool_address}/info`
## True Real-Time Data Update: Cache Removed for Key On-chain Endpoints
🗓️ **November 14, 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 a major upgrade to our API, aimed at providing you with direct, instantaneous access to the best real-time data! Starting **02:00 UTC, December 1, 2025**, the 10-second edge cache will be completely removed for the following endpoints. This change means your requests will now pull the freshest data directly from our servers with no cache delay.
| Endpoints | Effective Date & Time | Current Update Frequency | New Update Frequency |
| :----------------------------------------------------------------------------------------------------------- | :------------------------------------- | :----------------------- | :------------------- |
| [Token Price by Token Addresses](https://docs.coingecko.com/reference/onchain-simple-price) | Monday, 02:00 UTC, December 1, 2025 | 10s | Real-time (No Cache) |
| [Past 24 Hour Trades by Pool Address](https://docs.coingecko.com/reference/pool-trades-contract-address) | Tuesday, 02:00 UTC, December 2, 2025 | 10s | Real-time (No Cache) |
| [Past 24 Hour Trades by Token Address](https://docs.coingecko.com/reference/token-trades-contract-address#/) | Wednesday, 02:00 UTC, December 3, 2025 | 10s | Real-time (No Cache) |
**What This Means for You:**
* **True Real-Time Data:** You will now receive the absolute freshest, most up-to-date data with every single request. There is no longer any cache layer to cause a delay.
**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 10 seconds or more to align with the new cache changes.
We're committed to continuously improving your experience and providing the highest quality data. If you have any questions or need assistance, feel free to reach out to soonaik\@coingecko\[dot]com.
**CoinGecko API Team**
## Onchain OHLCV Support Extended to Pools with 3+ Tokens
🗓️ **November 8, 2025**
We've expanded our onchain OHLCV endpoints to support pools containing more than 2 tokens. Now you can access liquidity pools with additional token compositions beyond a simple pair, such as [crvUSD/WETH/CRV](https://www.geckoterminal.com/eth/pools/0x4ebdf703948ddcea3b11f675b4d1fba9d2414a14).
**Improved endpoints:**
* [Pool OHLCV chart by Pool Address](/reference/pool-ohlcv-contract-address) — `/onchain/networks/{network}/pools/{pool_address}/ohlcv/{timeframe}`
* [Token OHLCV chart by Token Address](/reference/token-ohlcv-token-address) — `/onchain/networks/{network}/tokens/{token_address}/ohlcv/{timeframe}`
## 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 utilizing your monthly API plan credits:
* Max connections: 10 concurrent socket connections
* Max subscriptions: 100 token or pool data subscriptions per channel, per socket
* Channel Access: [all 4 channels](https://docs.coingecko.com/websocket#channel-%26-data-support)
* 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 suggestions 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.
## More Bonding Curve Support and New Ascending Sort for Megafilter
🗓️ **October 4, 2025**
### Now Supporting 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](/reference/token-data-contract-address) — `/onchain/networks/{network}/tokens/{address}`
* [Tokens Data by Token Addresses](/reference/tokens-data-contract-addresses) — `/onchain/networks/{network}/tokens/multi/{addresses}`
* [Token Info by Token Address](/reference/token-info-contract-address) — `/onchain/networks/{network}/tokens/{address}/info`
* [Pool Tokens Info by Pool Address](/reference/pool-token-info-contract-address) — `/onchain/networks/{network}/pools/{pool_address}/info`
```json JSON theme={null}
"launchpad_details": {
"graduation_percentage": 2.16,
"completed": false,
"completed_at": null,
"migrated_destination_pool_address": null
}
```
### Megafilter: Ascending Sort Order for Price Change %
The [Megafilter for Pools](/reference/pools-megafilter) endpoint now supports ascending sorting for price change percentage:
* `m5_price_change_percentage_asc`
* `h1_price_change_percentage_asc`
* `h6_price_change_percentage_asc`
* `h24_price_change_percentage_asc`
### Token OHLCV Endpoint Fix to respect Specified Token Address
We've fixed an issue where the [Token OHLCV chart by Token Address](/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)).
* [`publicTreasury.getCoinID(coinID, { ...params })`](https://github.com/coingecko/coingecko-typescript/blob/main/api.md#publictreasury) \
to query public companies & governments' cryptocurrency holdings by Coin ID
* [`publicTreasury.getEntityID(entityID)`](https://github.com/coingecko/coingecko-typescript/blob/main/api.md#publictreasury) \
to query public companies & governments' cryptocurrency holdings by Entity ID
* [`entities.getList({ ...params })`](https://github.com/coingecko/coingecko-typescript/blob/main/api.md#entities) \
to query all the supported entities on CoinGecko with entities ID, name, symbol, and country
### New MCP Tools: Exchanges, NFTs & Multi-Address Queries
We're also surfacing new tools through the MCP to give developers a richer, faster way to query exchanges, NFTs, and onchain activity.
* New tools:
* Exchange coverage with [/exchanges/list](/reference/exchanges-list), [/exchanges/\{id}](/reference/exchanges-id), [/exchanges/\{id}/tickers](/reference/exchanges-id-tickers), and [/exchanges/\{id}/volume\_chart/range](/reference/exchanges-id-volume-chart-range)
* NFT markets with [/nfts/markets](/reference/nfts-markets)
* Multi-address queries with [/onchain/networks/\{network}/pools/multi/\{addresses}](/reference/pools-addresses) and [/onchain/networks/\{network}/tokens/multi/\{addresses}](/reference/tokens-data-contract-addresses)
* Retired tools:
* We've removed endpoints such as [/coins/list](/reference/coins-list), [/onchain/networks/trending\_pools](/reference/trending-pools-network), and single-address pool/token queries in favor of more scalable multi-address endpoints
### Friendlier Time-related MCP Queries with ISO Support
Time-based queries just got easier. MCP tools now accept **ISO date strings** (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`) alongside UNIX timestamps.
For example, when using the [Coin Historical Chart Data within Time Range](/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.
**CoinGecko API Team**
## New Crypto Treasury Endpoints and Improvements
🗓️ **September 19, 2025**
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
}
]
```
## 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 following 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)
**Payload example:**
```json theme={null}
"launchpad_details": {
"graduation_percentage": 100,
"completed": true,
"completed_at": "2024-04-08T16:52:35Z",
"migrated_destination_pool_address": "5wNu5QhdpRGrL37ffcd6TMMqZugQgxwafgz477rShtHy"
}
```
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 sorting tickers based on market cap, by flagging the `order` parameter.
* Available options: `market_cap_desc`, `market_cap_asc`
## 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**
## 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!
**New Supported Launchpads:**
| Launchpad | network id (API) | dex id (API) |
| :---------------------------------------------------------------------------------------------- | :--------------- | :---------------- |
| [Meteora DBC](https://www.geckoterminal.com/solana/meteora-dbc/pools) | solana | meteora-dbc |
| [Pump.fun](https://www.geckoterminal.com/solana/pump-fun/pools) | solana | pump-fun |
| [Raydium Launchpad](https://www.geckoterminal.com/solana/raydium-launchlab/pools) (LetsBonkFun) | solana | raydium-launchlab |
| [Boop.fun](https://www.geckoterminal.com/solana/boop-fun/pools) | solana | boop-fun |
| [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):
```curl theme={null}
https://pro-api.coingecko.com/api/v3/onchain/pools/megafilter?page=1&networks=solana&dexes=pump-fun&sort=pool_created_at_desc&x_cg_pro_api_key=YOUR_KEY
```
### \[Pro-API Exclusive] More Granular OHLCV Data
On-chain OHLCV endpoints now support higher frequency intervals, down to 1-second granularity.
| Timeframe | Aggregate (Before) | Aggregate (New) |
| :-------- | :----------------- | :-------------- |
| day | 1 | 1 |
| hour | 1, 4, 12 | 1, 4, 12 |
| minute | 1, 5, 15 | 1, 5, 15 |
| second | n/a | 1, 15, 30 |
**Improved Endpoints:**
* [Pool OHLCV chart by Pool Address](https://docs.coingecko.com/reference/pool-ohlcv-contract-address)
* [Token OHLCV chart by Token Address](https://docs.coingecko.com/reference/token-ohlcv-token-address)
**New interval supported:**
* 1s
* 15s
* 30s
**Example Request (Get the last 100 1-second intervals for a pool on Ethereum):**
```curl theme={null}
https://pro-api.coingecko.com/api/v3/onchain/networks/eth/pools/0x06da0fd433c1a5d7a4faa01111c044910a184553/ohlcv/second?aggregate=1&limit=100&include_empty_intervals=false&x_cg_pro_api_key=YOUR_KEY
```
### 🍯 Enhanced Honeypot Information
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):**
```curl theme={null}
https://pro-api.coingecko.com/api/v3/onchain/pools/megafilter?page=1&sort=h6_trending&checks=no_honeypot&include_unknown_honeypot_tokens=true&x_cg_pro_api_key=YOUR_KEY
```
### 📈 Expanded Pool Data
**Endpoint**: [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
By adding `include=pool` to your request on the pool tokens endpoint, you can now retrieve additional context about the pool itself.
* Base and quote token address
* Sentiment vote percentage (positive and negative)
* Community suspicious reports count
**Payload Example**:
```json theme={null}
"included": [
{
"id": "eth_0x06da0fd433c1a5d7a4faa01111c044910a184553",
"type": "pool",
"attributes": {
"base_token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"quote_token_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"sentiment_vote_positive_percentage": 100,
"sentiment_vote_negative_percentage": 0,
"community_sus_report": 0
}
}
]
```
## 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)
* [Supported Currencies List](https://docs.coingecko.com/reference/simple-supported-currencies)
* [Top Gainers & Losers](https://docs.coingecko.com/reference/coins-top-gainers-losers)
* [Coins List with Market Data](https://docs.coingecko.com/reference/coins-markets)
* [Coin Data by ID](https://docs.coingecko.com/reference/coins-id)
* [Coin Historical Data by ID](https://docs.coingecko.com/reference/coins-id-history)
* [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 OHLC Chart by ID](https://docs.coingecko.com/reference/coins-id-ohlc)
* [Coin OHLC Chart within Time Range by ID](https://docs.coingecko.com/reference/coins-id-ohlc-range)
* [Coin Data by Token Address](https://docs.coingecko.com/reference/coins-contract-address)
* [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)
* [Trending Search List](https://docs.coingecko.com/reference/trending-search)
* [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
]
]
}
```
## 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 the [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address) endpoint 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 these 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`
```json theme={null}
"relationships": {
"base_token": {
"data": {
"id": "eth_0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f",
"type": "token"
}
},
"quote_token": {
"data": {
"id": "eth_0x8353157092ed8be69a9df8f95af097bbf33cb2af",
"type": "token"
}
},
"quote_tokens": {
"data": [
{
"id": "eth_0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"type": "token"
},
{
"id": "eth_0xdac17f958d2ee523a2206206994597c13d831ec7",
"type": "token"
}
```
This improvement is applicable to all onchain pool endpoints that support `relationships.quote_token`, including but not limited to:
* [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address#/)
* [Search Pools](https://docs.coingecko.com/reference/search-pools#/)
* [Megafilter for Pools](https://docs.coingecko.com/reference/pools-megafilter#/)
* [Trending Pools List](https://docs.coingecko.com/reference/trending-pools-list#/)
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address#/)
* [Top Pools by Network](https://docs.coingecko.com/reference/top-pools-network#/)
* [New Pools List](https://docs.coingecko.com/reference/latest-pools-list#/)
## Upcoming Change Notice: Removal of normalized\_volume\_btc Data
🗓️ **May 30, 2025**
**`Notice: Upcoming Change to CoinGecko API Endpoints - Removal of normalized_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 changes to a 3rd party data source provider, which have fundamentally altered how this specific data can be accessed.
Example of Affected Data Structure:
```json theme={null}
{
"trade_volume_24h_btc_normalized": 47765.5886637453
},
```
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.
## 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:
* net\_buy\_volume\_usd
* buy\_volume\_usd
* sell\_volume\_usd
Sample Response:
```json JSON theme={null}
{
"data": {
"id": "eth_0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"type": "pool",
"attributes": {
...
},
"net_buy_volume_usd": {
"m5": "-40796.577553965",
"m15": "-69765.771189161",
"m30": "-88014.095440243",
"h1": "0.000000000000",
"h6": "1884879.921855301",
"h24": "17555422.243003801"
},
"buy_volume_usd": {
"m5": "30597.433165473",
"m15": "139531.542378324",
"m30": "396063.429481099",
"h1": "969922.728762430",
"h6": "10366839.570204150",
"h24": "52666266.729011402"
},
"sell_volume_usd": {
"m5": "71394.010719438",
"m15": "209297.313567485",
"m30": "484077.524921342",
"h1": "969922.728762430",
"h6": "8481959.648348849",
"h24": "35110844.486007601"
},
```
### Improved Endpoint - On-Chain OHLCV endpoint
[Pool OHLCV chart by Pool Address](https://docs.coingecko.com/reference/pool-ohlcv-contract-address) endpoint now supports including 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-address)
Sample Response:
```json theme={null}
"data": {
"id": "eth_0xdac17f958d2ee523a2206206994597c13d831ec7",
"type": "token",
"attributes": {
...
"image_url": "https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",
"image": {
"thumb": "https://assets.coingecko.com/coins/images/325/thumb/Tether.png?1696501661",
"small": "https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",
"large": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661"
},
```
### Improved Endpoints - Support Normalized Supply Data
The following endpoints now support `normalized_total_supply`:
* [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)
Sample Response:
```json theme={null}
"decimals": 6,
"total_supply": "49999156520373530.0",
"normalized_total_supply": "49999156520.37353",
```
### Improved Endpoints - Support Pool 'Name' and 'Fee' Data
The following endpoints now support `pool_name` and `pool_fee`:
* [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)
Sample Response:
```json theme={null}
"name": "WETH / USDC 0.05%",
"pool_name": "WETH / USDC",
"pool_fee_percentage": "0.05",
```
### Improved Endpoints - Support Symbols of DEX Pairs
The following endpoints now allow you to flag `dex_pair_format=symbol` to return DEX pair symbols instead of contract addresses.
* [Coin Data by ID](https://docs.coingecko.com/reference/coins-id)
* [Coin Tickers by ID](https://docs.coingecko.com/reference/coins-id-tickers)
* [Exchange Tickers by ID](https://docs.coingecko.com/reference/exchanges-id-tickers)
* [Exchange Data by ID](https://docs.coingecko.com/reference/exchanges-id)
Sample Response:
```json theme={null}
// before
{
"base": "0X8FC8F8269EBCA376D046CE292DC7EAC40C8D358A",
"target": "0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48",
"market": {
"name": "Uniswap V2 (Ethereum)",
"identifier": "uniswap_v2",
...
}
// now when "dex_pair_format=symbol" is flagged
{
"base": "DFI",
"target": "USDC",
"market": {
"name": "Uniswap V2 (Ethereum)",
"identifier": "uniswap_v2",
...
}
```
## 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) |
| :-------------- | :--------------------- | :------------------------------ |
| Coins | 15 | 30 |
| NFTs | 7 | 10 |
| Coin Categories | 6 | 10 |
### 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). 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 with include_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
2. Osmosis allBTC
3. atcat
4. Meld Bridged BTC (Meld)
5. BlackrockTradingCurrency | When symbols and 'include\_tokens=**all**' is specified, all the coins that share the same symbol will be returned.
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
```
## Upcoming Change Notice: Removal of twitter\_followers Data
🗓️ **April 25, 2025**
**`Notice: Upcoming Change to CoinGecko API Endpoints - Removal of twitter_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.
**`Important Note Regarding Previously Stored twitter_followers Data:`**
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.
## 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)
```json theme={null}
{
"data": [
{
"id": "eth_0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"type": "pool",
"attributes": {
"base_token_price_usd": "3653.12491645176",
"base_token_price_native_currency": "1.0",
..
"volume_usd": {
"m5": "868581.7348314",
"h1": "16798158.0138526",
"h6": "164054610.850188",
"h24": "536545444.904535"
},
"reserve_in_usd": "163988541.3812",
"locked_liquidity_percentage": "99.82"
},
```
### 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 networks.
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 `mcap_fdv_fallback=true`.
## 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.
1. Effective from 02:00 UTC, March 25, 2025:
1. [Trending Pools List](https://docs.coingecko.com/reference/trending-pools-list)
2. [Trending Pools by Network](https://docs.coingecko.com/reference/trending-pools-network)
3. [Top Pools by Network](https://docs.coingecko.com/reference/top-pools-network)
4. [Top Pools by Dex](https://docs.coingecko.com/reference/top-pools-dex)
2. Effective from 02:00 UTC, March 26, 2025:
1. [New Pools by Network](https://docs.coingecko.com/reference/latest-pools-network)
2. [New Pools List](https://docs.coingecko.com/reference/latest-pools-list)
3. [Megafilter for Pools](https://docs.coingecko.com/reference/pools-megafilter)
4. [Search Pools](https://docs.coingecko.com/reference/search-pools)
3. Effective from 02:00 UTC, March 27, 2025:
4. [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address)
5. [Most Recently Updated Tokens List](https://docs.coingecko.com/reference/tokens-info-recent-updated)
6. [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**
## Multiple Improvements: 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)
```json theme={null}
"price_change_percentage": {
"m5": "0.06",
"m15": "0.06",
"m30": "0.89",
"h1": "-4.31",
"h6": "-1.02",
"h24": "3.32"
},
"transactions": {
"m5": {
"buys": 0,
"sells": 2,
"buyers": 0,
"sellers": 2
},
"m15": {
"buys": 0,
"sells": 2,
"buyers": 0,
"sellers": 2
},
"m30": {
"buys": 0,
"sells": 3,
"buyers": 0,
"sellers": 3
},
"h1": {
"buys": 1,
"sells": 23,
"buyers": 1,
"sellers": 7
},
"h6": {
"buys": 60,
"sells": 38,
"buyers": 23,
"sellers": 18
},
"h24": {
"buys": 206,
"sells": 138,
"buyers": 96,
"sellers": 77
}
},
"volume_usd": {
"m5": "130.5119858698",
"m15": "130.5119858698",
"m30": "177.109036156",
"h1": "4942.2463835639",
"h6": "28362.2127269542",
"h24": "112426.585893123"
}
```
### Onchain Simple Token Price endpoint - Liquidity & Price Change Percentage data
Now supports the following optional parameter to return more data.
* `include_24hr_price_change` (24hr price change percentage)
* `include_total_reserve_in_usd` (token liquidity data - total liquidity portion attributable to a specific token across all available pools)
**Improved Endpoint:**
* [Token Price by Token Addresses](https://docs.coingecko.com/reference/onchain-simple-price)
```json theme={null}
{
"data": {
"id": "e58258f7-8368-4968-bbe1-b5343540cd71",
"type": "simple_token_price",
"attributes": {
"token_prices": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "1.00276143983565",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "3175.22870146126"
},
"market_cap_usd": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "25000000000",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "500000000000"
},
"h24_volume_usd": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "50000000",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "10000000000"
},
"h24_price_change_percentage": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "-0.15",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "1.15"
},
"total_reserve_in_usd": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "417994486.4342195821530162288",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "417994486.4342195821530162288"
}
}
}
}
```
## New Megafilter Endpoint, 200+ Chains Supported: Hyperliquid, Abstract, Berachain & MOAR!
🗓️ **February 27, 2025**
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:
* 200+ blockchain networks, 1,400+ dexes, 6M+ pools, and 5M+ tokens
* 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 are 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/)
## 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/../tokens/](https://docs.coingecko.com/reference/token-data-contract-address) | 02:00 UTC, February 24, 2025 | 60s | 30s |
| Onchain [/networks/../tokens/multi/](https://docs.coingecko.com/reference/tokens-data-contract-addresses) | 06:00 UTC, February 24, 2025 | 60s | 30s |
| 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**
## 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`.
**Improved endpoints with image data:**
1. [Trending Pools List](https://docs.coingecko.com/reference/trending-pools-list)
2. [Trending Pools by Network](https://docs.coingecko.com/reference/trending-pools-network)
3. [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
4. [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
5. [Top Pools by Network](https://docs.coingecko.com/reference/top-pools-network)
6. [Top Pools by Dex](https://docs.coingecko.com/reference/top-pools-dex)
7. [New Pools by Network](https://docs.coingecko.com/reference/latest-pools-network)
8. [New Pools List](https://docs.coingecko.com/reference/latest-pools-list)
9. [Search Pools](https://docs.coingecko.com/reference/search-pools)
10. [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address)
11. [Token Data by Token Address](https://docs.coingecko.com/reference/token-data-contract-address)
12. [Tokens Data by Token Addresses](https://docs.coingecko.com/reference/tokens-data-contract-addresses)
13. [Token Info by Token Address](https://docs.coingecko.com/reference/token-info-contract-address)
14. [Pool Tokens Info by Pool Address](https://docs.coingecko.com/reference/pool-token-info-contract-address)
15. [Most Recently Updated Tokens List](https://docs.coingecko.com/reference/tokens-info-recent-updated)
**Improved endpoints with metadata (images, websites, description, socials):**
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)
3. [Most Recently Updated Tokens List](https://docs.coingecko.com/reference/tokens-info-recent-updated)
Note: Metadata may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by the 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`.
Example: flagging ?order=base\_target
```
pro-api.coingecko.com/api/v3/exchanges/binance/tickers?order=base_target
```
This sorting method ensures stable pagination, reducing issues where cached responses may cause duplicate or missing tickers across pages.
## Multiple Improvements: Onchain Pools Page Limit, Trades Token Filter
🗓️ **January 27, 2025**
### Onchain Pools Data: Supports more than 10 pages of data
**Previously:** There was a limitation of a maximum of 10 pages for accessing pools data in the related endpoints.
**Now:** All paid plan subscribers (Analyst & above) can access more than 10 pages of pools data for the endpoints below.
**Improved Endpoints:**
1. [Search Pools](https://docs.coingecko.com/reference/search-pools)
2. [Top Pools by Token Address](https://docs.coingecko.com/reference/top-pools-contract-address)
3. [Trending Pools List](https://docs.coingecko.com/reference/trending-pools-list)
4. [Trending Pools by Network](https://docs.coingecko.com/reference/trending-pools-network)
5. [New Pools by Network](https://docs.coingecko.com/reference/latest-pools-network)
6. [New Pools List](https://docs.coingecko.com/reference/latest-pools-list)
7. [Top Pools by Network](https://docs.coingecko.com/reference/top-pools-network)
8. [Top Pools by Dex](https://docs.coingecko.com/reference/top-pools-dex)
### Onchain Trades: Added Token Filter
**Endpoint:** [Past 24 Hour Trades by Pool Address](https://docs.coingecko.com/reference/pool-trades-contract-address)
**Previously:** There was no way to filter trades data by base or quote token.
**Now**: A new optional parameter has been added to allow filtering by base or quote token of a pool.
* Parameter: `token`
* Value options:
* `base`
* `quote`
* `{token_address}`
**Example**:
```json Example theme={null}
?token=base // get the trades data of base token
?token=quote // get the trades data of quote token
?token=8FqXr6dw5NHA2TtwFeDz6q9p7y9uWyoEdZmpXqqUpump // get the trades data of specific token based on address
```
## Multiple Improvements: Onchain Token Price, NFT Market Cap
🗓️ **January 24, 2025**
### Onchain Simple Token Price: Added Market Cap and 24h Volume Data
**Endpoint:** [Token Price by Token Addresses](https://docs.coingecko.com/reference/onchain-simple-price)
* You can now flag `include_market_cap=true` and `include_24hr_vol=true` to retrieve market cap and 24h trading volume data. e.g.
```json theme={null}
{
"data": {
"id": "e1979db1-5c3e-4ba8-b103-cb0258af4a7c",
"type": "simple_token_price",
"attributes": {
"token_prices": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "0.999365729816931",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "3399.24368371279"
},
"market_cap_usd": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "51963214441.24363",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "10005535878.50094"
},
"h24_volume_usd": {
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "2095689865.85327",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "2544539948.02599"
}
}
}
}
```
### NFT Data: Added 'Market Cap Rank'
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,
```
## Removal of Unsupported Categories
🗓️ **January 23, 2025**
### Upcoming Removal of Unsupported Categories from CoinGecko and CoinGecko API
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**.
| No | Category Name | Category ID |
| :- | :--------------------- | :------------------ |
| 1 | US Election 2020 | us-election-2020 |
| 2 | Governance | governance |
| 3 | Cryptocurrency | cryptocurrency |
| 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 taxonomy 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.
## Extended Historical Data for Onchain OHLCV Endpoint
🗓️ **January 15, 2025**
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.
## 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 Data**
* [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)
**Timeline:**
**Bitcoin:** Updated on Jan 14, 2025
**Other PoW Coins**: Scheduled for Jan 22, 2025
* [Bitcoin Cash](https://www.coingecko.com/en/coins/bitcoin-cash)
* [Litecoin](https://www.coingecko.com/en/coins/litecoin)
* [Ethereum Classic](https://www.coingecko.com/en/coins/ethereum-classic)
* [Bitcoin SV](https://www.coingecko.com/en/coins/bitcoin-sv)
* [Zcash](https://www.coingecko.com/en/coins/zcash)
* [eCash](https://www.coingecko.com/en/coins/ecash)
* [Dash](https://www.coingecko.com/en/coins/dash)
* [Verus Coin](https://www.coingecko.com/en/coins/verus-coin)
* [Ravencoin](https://www.coingecko.com/en/coins/ravencoin)
* [Kadena](https://www.coingecko.com/en/coins/kadena)
* [Decred](https://www.coingecko.com/en/coins/decred)
* [Flux (Zelcash)](https://www.coingecko.com/en/coins/flux-zelcash)
* [DigiByte](https://www.coingecko.com/en/coins/digibyte)
* [Quantum Resistant Ledger](https://www.coingecko.com/en/coins/quantum-resistant-ledger)
* [Komodo](https://www.coingecko.com/en/coins/komodo)
* [Groestlcoin](https://www.coingecko.com/en/coins/groestlcoin)
* [Firo](https://www.coingecko.com/en/coins/firo)
* [Litecoin Cash](https://www.coingecko.com/en/coins/litecoin-cash)
* [LuckyCoin](https://www.coingecko.com/en/coins/luckycoin)
* [Enecuum](https://www.coingecko.com/en/coins/enecuum)
* [Wownero](https://www.coingecko.com/en/coins/wownero)
* [Radiant](https://www.coingecko.com/en/coins/radiant)
* [Tidecoin](https://www.coingecko.com/en/coins/tidecoin)
* [Handshake](https://www.coingecko.com/en/coins/handshake)
* [Neoxa](https://www.coingecko.com/en/coins/neoxa)
* [Vertcoin](https://www.coingecko.com/en/coins/vertcoin)
* [Feathercoin](https://www.coingecko.com/en/coins/feathercoin)
* [Bitcore](https://www.coingecko.com/en/coins/bitcore)
* [Phoenixcoin](https://www.coingecko.com/en/coins/phoenixcoin)
* [BitcoinZ](https://www.coingecko.com/en/coins/bitcoinz)
* [Hush](https://www.coingecko.com/en/coins/hush)
* [DigitalNote](https://www.coingecko.com/en/coins/digitalnote)
* [EquityPay](https://www.coingecko.com/en/coins/equitypay)
* [Evadore](https://www.coingecko.com/en/coins/evadore)
* [Swap](https://www.coingecko.com/en/coins/swap)
* [DeVault](https://www.coingecko.com/en/coins/devault)
* [AXE](https://www.coingecko.com/en/coins/axe)
* [Iridium](https://www.coingecko.com/en/coins/iridium)
* [X-Cash](https://www.coingecko.com/en/coins/x-cash)
* [Bolivarcoin](https://www.coingecko.com/en/coins/bolivarcoin)
* [uPlexa](https://www.coingecko.com/en/coins/uplexa)
* [WorldCoin (WDC)](https://www.coingecko.com/en/coins/worldcoin-wdc)
## Improved Update Frequency for selected Pro-API endpoints
🗓️ **January 13, 2025**
\[Changes below are applicable to Analyst/Lite/Pro/Enterprise [plan subscribers](https://www.coingecko.com/en/api/pricing) only.]
The edge cache duration for the following endpoints are now reduced to 20-30s, allowing you to retrieve updated data more frequently.
| Endpoints | Previous Update Frequency | Current Update Frequency |
| :-------------------------------------------------------------------------------------------------------- | :------------------------ | :----------------------- |
| CoinGecko [/simple/price](https://docs.coingecko.com/reference/simple-price) | 30s | 20s |
| CoinGecko [/simple/token\_price](https://docs.coingecko.com/reference/simple-token-price) | 30s | 20s |
| Onchain [/simple/networks/../token\_price](https://docs.coingecko.com/reference/onchain-simple-price) | 60s | 30s |
| Onchain [/networks/../pools/../trades](https://docs.coingecko.com/reference/pool-trades-contract-address) | 60s | 30s |
| Onchain [/networks/../pools/..](https://docs.coingecko.com/reference/pool-address) | 60s | 30s |
| Onchain [/networks/../pools/multi/..](https://docs.coingecko.com/reference/pools-addresses) | 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 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**
## 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)
## 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 Category 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:
```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-list) endpoint omitted new pools that were 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 can now query the list of IDs of delisted exchanges with [Exchanges List (ID Map)](https://docs.coingecko.com/reference/exchanges-list) endpoint, by flagging `status=inactive`
Payload example:
```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 of delisted exchanges 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.
## \[Updated: Q4 2024] CoinGecko Asset Issuance Standardisation Initiative Updates
🗓️ **December 17, 2024**
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.
**Focus for Q3 2024** **\[Completed ✅]**
* [Wrapped Bitcoin (WBTC)](https://www.coingecko.com/en/coins/wrapped-bitcoin)
* [Wrapped Ethereum (WETH)](https://www.coingecko.com/en/coins/weth)
* [Dai (DAI)](https://www.coingecko.com/en/coins/dai)
**For full list of FAQs and updated information, 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.
* [Frax (FRAX)](https://www.coingecko.com/en/coins/frax)
* [Wrapped AVAX (WAVAX)](https://www.coingecko.com/en/coins/wrapped-avax)
* [Wrapped BNB (WBNB)](https://www.coingecko.com/en/coins/wbnb)
* [Wrapped stETH (wstETH)](https://www.coingecko.com/en/coins/wrapped-steth)
### Tips and FAQs for API users
#### **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.
**Simple**
* /simple/price
* /simple/token\_price/id
**Coins**
* /coins/markets
* /coins/id
* /coins/id/tickers
* /coins/id/history
* /coins/id/market\_chart
* /coins/id/market\_chart/range
* /coins/id/ohlc
* /coins/id/ohlc/range
* /coins/id/circulating\_supply\_chart
* /coins/id/circulating\_supply\_chart/range
* /coins/id/total\_supply\_chart
* /coins/id/total\_supply\_chart/range
**Contract**
* /coins/id/contract/contract\_address
* /coins/id/contract/contract\_address/market\_chart
* /coins/id/contract/contract\_address/market\_chart/range
**Exchange**
* /exchanges/id/tickers
* /exchanges/id/volume\_chart
* /exchanges/id/volume\_chart/range
#### **2. Do I have to make changes to my API?**
**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. standardized). 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](/reference/coins-categories-list) to look for bridged categories such as:
1. bridged-usdc
2. bridged-wbtc
3. bridged-weth
Then you may use [/coins/markets endpoint](/reference/coins-markets) to retrieve the list of coins
## Enhancing Your Access to Even Fresher Data!
🗓️ **December 16, 2024**
\[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 |
| :-------------------------------------------------------------------------------------------------------- | :----------------------- | :------------------- |
| CoinGecko [/simple/price](https://docs.coingecko.com/reference/simple-price) | 30s | 20s |
| CoinGecko [/simple/token\_price](https://docs.coingecko.com/reference/simple-token-price) | 30s | 20s |
| Onchain [/simple/networks/../token\_price](https://docs.coingecko.com/reference/onchain-simple-price) | 60s | 30s |
| Onchain [/networks/../pools/../trades](https://docs.coingecko.com/reference/pool-trades-contract-address) | 60s | 30s |
| Onchain [/networks/../pools/..](https://docs.coingecko.com/reference/pool-address) | 60s | 30s |
| Onchain [/networks/../pools/multi/..](https://docs.coingecko.com/reference/pools-addresses) | 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 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**
## 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.
```json theme={null}
"snapshot_url": "https://snapshot.org/#/lido-snapshot.eth",
```
### CG Exchange Info: Included Number of Coins and Pairs
[Exchange Data by ID](/reference/exchanges-id) now includes "coins" and "pairs", e.g.
```json theme={null}
"coins": 384,
"pairs": 1281,
```
## Multiple Improvements: Onchain Simple Price, Onchain Recently Updated Info, NFT Collection Data
🗓️ **October 09, 2024**
### Onchain: Simple Price - Increased Token Address Limit from 30 to 100
[Token Price by Token Addresses](/reference/onchain-simple-price) now allows you to input up to 100 contract addresses, instead of 30.
* You may now retrieve data of up to 100 token prices of a specific network, in one single request.
* Available exclusively to Pro API paid plan subscribers.
### Onchain: Recently Updated Info - Added Filter by Network
[Most Recently Updated Token List](/reference/tokens-info-recent-updated) now allows you to filter by blockchain network, by flagging the `network` parameter. e.g. `network=eth`.
* You can use the `network` parameter to retrieve the 100 most recently updated token info of a specific network.
* View list of supported network via [Supported Networks List](https://docs.coingecko.com/reference/networks-list) endpoint.
### NFT Collection Data - Included Banner Image
[NFTs Collection Data by ID](/reference/nfts-id) now provides banner image of an NFT collection.
View banner image [example](https://coin-images.coingecko.com/nft_contracts/images/38/pudgy-penguins-banner.png?1708416126) on: [https://www.coingecko.com/en/nft/pudgy-penguins](https://www.coingecko.com/en/nft/pudgy-penguins)
```json theme={null}
{
"symbol": "PPG",
"image": {
"small": "https://coin-images.coingecko.com/nft_contracts/images/38/small/da64989d9762c8a61b3c65917edfdf97.png?1707287183"
},
"banner_image": "https://coin-images.coingecko.com/nft_contracts/images/38/pudgy-penguins-banner.png?1708416126",
..
```
## Multiple Improvements: Global Market Chart, Asset Platforms, Coin Categories, Historical Supply Chart
🗓️ **September 26, 2024**
### 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 an 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 a request at 00:05 UTC or later.
### Asset Platforms - Included Images of Blockchain Network Logos
[Asset Platforms List (ID Map)](/reference/asset-platforms-list) now provides the logos of blockchain networks.
For example:
```json theme={null}
"image": {
"thumb": "https://coin-images.coingecko.com/asset_platforms/images/93/thumb/AN_logomark.png?1706606703",
"small": "https://coin-images.coingecko.com/asset_platforms/images/93/small/AN_logomark.png?1706606703",
"large": "https://coin-images.coingecko.com/asset_platforms/images/93/large/AN_logomark.png?1706606703"
}
```
### Coins Categories - Included IDs of Top 3 Coins
[Coins Categories List with Market Data](/reference/coins-categories) now provides coin IDs of the top 3 coins of a category.
For example:
```json theme={null}
"top_3_coins_id": [
"bitcoin",
"ethereum",
"binancecoin"
],
```
### 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)
## 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:
* [/coins//ohlc](/reference/coins-id-ohlc)
* [/coins//ohlc/range](/reference/coins-id-ohlc-range)
## Included new fields - NFT data
🗓️ **August 18, 2024**
We've added 'user\_favorites\_count', and 'ath' (all-time-high) related data to the following NFT endpoints:
* [/nfts/](/reference/nfts-id)
* [/nfts//contract/](/reference/nfts-contract-address)
**Example of responses:**
```json theme={null}
{
"user_favorites_count": 3660,
"ath": {
"native_currency": 22.9,
"usd": 67535
},
"ath_change_percentage": {
"native_currency": -59.825327510917,
"usd": -64.3396788440525
},
"ath_date": {
"native_currency": "2024-02-17T09:25:05.056Z",
"usd": "2024-02-29T11:45:08.150Z"
}
}
```
## Introduced /coins/id/ohlc/range endpoint
🗓️ **May 10, 2024**
We've introduced a new endpoint [/coins//ohlc/range](/reference/coins-id-ohlc-range).
This endpoint allows you to get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamps based on particular coin ID.
Please note that this endpoint is available exclusively for **paid plan subscribers only**.
## Added interval hourly params to /coins/id/ohlc
🗓️ **May 04, 2024**
We've expanded functionality to include support for the `interval=hourly` parameter within the [/coins//ohlc](/reference/coins-id-ohlc) endpoint.
Users can use this parameter to retrieve OHLC (Open/High/Low/Close) data on an hourly interval for up to 90 days of the date range.
Example of endpoint request:
`https://pro-api.coingecko.com/api/v3/coins/bitcoin/ohlc?vs_currency=usd&days=1&interval=hourly&x_cg_pro_api_key=YOUR_API_KEY`
## Added support for inactive coins in /coins/list and historical data endpoints
🗓️ **April 30, 2024**
We've now enhanced the [/coins/list](/reference/coins-list) endpoint to include inactive coins
* You may access the inactive coins by specifying `status=inactive` in your query
* Example of endpoint request:\
`https://pro-api.coingecko.com/api/v3/coins/list?include_platform=false&status=inactive&x_cg_pro_api_key=YOUR_API_KEY`
Additionally, historical data for inactive coins can be queried using their IDs in the following endpoints:
* [/coins//history](/reference/coins-id-history)
* [/coins//market\_chart](/reference/coins-id-market-chart)
* [/coins//market\_chart/range](/reference/coins-id-market-chart-range)
* [/coins//contract//market\_chart](/reference/contract-address-market-chart)
* [/coins//contract//market\_chart/range](/reference/contract-address-market-chart-range)
Please note that these features are available exclusively for **paid plan subscribers only**.
## Introduced /key endpoint
🗓️ **March 27, 2024**
We've introduced a new endpoint [/key](/reference/api-usage) for conveniently monitoring your account's API usage, including rate limits and remaining credits.
**Example of responses**:
```json theme={null}
{
"plan": "Other",
"rate_limit_request_per_minute": 1000,
"monthly_call_credit": 1000000,
"current_total_monthly_calls": 307,
"current_remaining_monthly_calls": 999693
}
```
## Multiple Improvements (Onchain/GT)
🗓️ **February 28, 2024**
* image\_url is now returned in the token response for pools and tokens endpoints:
Example of responses:
```json JSON theme={null}
"data": {
"id": "eth_0xdac17f958d2ee523a2206206994597c13d831ec7",
"type": "token",
"attributes": {
"address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"name": "Tether USD",
"symbol": "USDT",
"image_url": "https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661", 👈
......
"market_cap_usd": "100719721661.467"
},
"relationships": {}
}
```
* We've added sorting parameters such as order=`h24_volume_usd_desc` and order=`h24_tx_count_desc` for /pools endpoints
* The 'token' parameter within the [/ohlcv](/reference/pool-ohlcv-contract-address) endpoint can now accept a token address, provided it exists in the queried pool, to return OHLCV data\
Example of endpoint request (**token=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2**):\
`https://pro-api.coingecko.com/api/v3/onchain/networks/eth/pools/0x06da0fd433c1a5d7a4faa01111c044910a184553/ohlcv/day?token=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&x_cg_pro_api_key=YOUR_API_KEY`
* [/ohlcv](/reference/pool-ohlcv-contract-address) endpoint now includes the base and target token metadata in the response\
Example of responses:
```json JSON theme={null}
{
"data": {
"id": "46303eb4-fba1-44f3-a3c8-c542e4cd5d1a",
"type": "ohlcv_request_response",
"attributes": {
"ohlcv_list": []
}
},
"meta": {
"base": {
"address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"name": "Tether USD",
"symbol": "USDT",
"coingecko_coin_id": "tether"
},
"quote": {
"address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"name": "Wrapped Ether",
"symbol": "WETH",
"coingecko_coin_id": "weth"
}
}
}
```
## Introduced /networks/network/trending\_pools endpoint (Onchain/GT)
🗓️ **February 19, 2024**
Trending Pools endpoint, [/networks//trending\_pools](/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.
## Introduced /search/pools endpoint (Onchain/GT)
🗓️ **February 19, 2024**
Added new endpoint to search for pools /search/pools based on keywords passed into query.
## Included new field for /coins/id endpoint
🗓️ **January 18, 2024**
We've included a new field "whitepaper" under "links" section for [/coins/](/reference/coins-id) endpoint
**Example of responses:**
```json theme={null}
{
"id": "bitcoin",
......
"links": {
"homepage": [],
"whitepaper": "https://bitcoin.org/bitcoin.pdf", 👈
"blockchain_site": [],
"official_forum_url": [],
"chat_url": [],
"announcement_url": [],
"twitter_screen_name": "bitcoin",
"facebook_username": "bitcoins",
"bitcointalk_thread_identifier": null,
"telegram_channel_identifier": "",
"subreddit_url": "https://www.reddit.com/r/Bitcoin/",
"repos_url": {}
},
.......
}
```
# 1. Get data by ID or Address
Source: https://docs.coingecko.com/docs/1-get-data-by-id-or-address
## Methods to query price & market data of coins
### a. Coin ID
Using the [/simple/price](/reference/simple-price) endpoint as an example:
* `https://pro-api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd&x_cg_pro_api_key=YOUR_API_KEY`
* The provided endpoint URL includes parameters such as `ids=bitcoin` and `vs_currencies=usd`, indicating the intention to retrieve the current price of Bitcoin in US Dollars.
**How to obtain Coin ID aka API ID?** There are 3 options:
* Use [/coins/list](/reference/coins-list) endpoint, example of responses:
```json JSON theme={null}
[
......
{
"id": "bitcoin", 👈
"symbol": "btc",
"name": "Bitcoin"
},
......
]
```
* 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:
### b. Contract Address
Other than using Coin ID, you may also query price & market data of a coin using contract address, using the [/simple/token\_price/\{id}](/reference/simple-token-price) endpoint as an example:
* `https://pro-api.coingecko.com/api/v3/simple/token_price/ethereum?contract_addresses=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&vs_currencies=usd&x_cg_pro_api_key=YOUR_API_KEY`
There are 3 parameter values required for this endpoint:
* `id`: `ethereum` (Asset Platform ID)
* `contract_addresses`: `0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48` (Contract Address)
* `vs_currencies`: `usd` (Target Currencies)
**How to obtain Coins/Tokens Contract Address**
* Use [/coins/list](/reference/coins-list) endpoint (`include_platform=true`), example of responses:
```json JSON theme={null}
[
......
{
"id": "1inch",
"symbol": "1inch",
"name": "1inch",
"platforms": {
"ethereum": "0x111111111117dc0aa78b770fa6a738034120c302",
"avalanche": "0xd501281565bf7789224523144fe5d98e8b28f267",
"binance-smart-chain": "0x111111111117dc0aa78b770fa6a738034120c302",
"near-protocol": "111111111117dc0aa78b770fa6a738034120c302.factory.bridge.near",
"energi": "0xdda6205dc3f47e5280eb726613b27374eee9d130",
"harmony-shard-0": "0x58f1b044d8308812881a1433d9bbeff99975e70c",
"polygon-pos": "0x9c2c5fd7b07e95ee044ddeba0e97a665f142394f"
}
},
......
]
```
* Look for the "Contract" by visiting the info section of a coin page on CoinGecko.
### 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 any missing contract address, feel free to [share](https://support.coingecko.com/hc/en-us/requests/new) with us to review.
* Get the token contract address from the project website, white-paper, documentation, or block explorer site:
* [Uniswap Documentation](https://docs.uniswap.org/protocol/concepts/governance/overview#uni-address)
* [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 cryptocurrencies like the following:
| Type | Currency | vs\_currencies (Param value) |
| -------------- | ------------ | ---------------------------- |
| Fiat | US Dollar | `usd` |
| Fiat | Japanese Yen | `jpy` |
| Fiat | Euro | `eur` |
| Cryptocurrency | Bitcoin | `btc` |
| Cryptocurrency | Ether | `eth` |
| Cryptocurrency | Binance Coin | `bnb` |
For full list of supported currencies, please go to [/simple/supported\_vs\_currencies](/reference/simple-supported-currencies) endpoint.
## Other ways to obtain coin prices & market data
Using the [/coins/markets](/reference/coins-markets) endpoint as an example to query prices and market data of coins in bulk:
* `https://pro-api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=1&x_cg_pro_api_key=YOUR_API_KEY`
There are 4 parameter values 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.
# 10-mins Tutorial Guide
Source: https://docs.coingecko.com/docs/10-mins-tutorial-guide
New to CoinGecko API? Fret not. Whether you're a programmer or someone with zero coding experience, we've got you covered!
If you are not a developer and prefer to learn only specific tutorials on Google Sheet/Excel, feel free to check [👶 Tutorials (Beginner-friendly)](/docs/tutorials-beginner-friendly)
| Tutorial Steps | Description |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [1. Get data by ID or Address](/docs/1-get-data-by-id-or-address) | Learn how to use different endpoints by obtaining Coin ID and token's contract address. |
| [2. Get Historical Data](/docs/2-get-historical-data) | Learn how to get historical data of a coin by using different historical endpoints. |
| [3. Get Exchanges & NFT Data](/docs/3-get-exchanges-nft-data) | Learn how to query exchanges and NFT data by accessing different endpoints. |
| [4. Get On-chain Data](/docs/4-get-on-chain-data) | Learn how to use `/onchain` GT endpoints to query onchain data. |
# 2. Get Historical Data
Source: https://docs.coingecko.com/docs/2-get-historical-data
### **Tips**
* Most of the historical data is returned and queried using UNIX Timestamp.
* If you are not familiar with UNIX Timestamp, you may use a 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.
There are five different endpoints to get historical data of a coin:
| Endpoint | Description |
| ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [/coins/\{id}/history](/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](/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](/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](/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](/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. |
### **Notes**
The data granularity (interval) for [/market\_chart](/reference/coins-id-market-chart) and [/market\_chart/range](/reference/coins-id-market-chart-range) endpoints is automatic and based on the date range:
* 1 day from current time = 5-minutely data
* 1 day from anytime (except from current time) = hourly data
* 2 - 90 days from current time or anytime = hourly data
* above 90 days from current time or anytime = daily data (00:00 UTC)
# 3. Get Exchanges & NFT Data
Source: https://docs.coingecko.com/docs/3-get-exchanges-nft-data
You can get Exchange and NFT data just like how you get the coins data:
1. Get the ID (exchange or NFT) from `/list` endpoint.
2. Use the ID to query latest or historical market data
| Type | Coins | NFTs | Exchanges | Derivatives |
| ---------------------- | -------------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Get Full List with IDs | [/coins/list](/reference/coins-list) | [/nfts/list](/reference/nfts-list) | [/exchanges/list](/reference/exchanges-list) | [/derivatives/exchanges/list](/reference/derivatives-exchanges-list) |
| Get latest market data | [/coins/\{id}](/reference/coins-id) | [/nfts/\{id}](/reference/nfts-id) | [/exchanges/\{id}](/reference/exchanges-id) | [/derivatives/exchanges/\{id}](/reference/derivatives-exchanges-id) |
| Get Historical Data | [/coins/\{id}/market\_chart](/reference/coins-id-market-chart) | [/nfts/\{id}/market\_chart](/reference/nfts-id-market-chart) | [/exchanges/\{id}/volume\_chart](/reference/exchanges-id-volume-chart) | [/exchanges/\{id}/volume\_chart](/reference/exchanges-id-volume-chart) |
# 4. Get On-chain Data
Source: https://docs.coingecko.com/docs/4-get-on-chain-data
Here are some of the important parameters to take note of while using Onchain DEX API Endpoints:
* Blockchain Networks
* DEXs
* Pool Contract Address
* Token Contract Address
## Blockchain Networks
### Notes
* Please do not use CoinGecko Asset Platform ID as the Network ID in Onchain DEX API Endpoints (CoinGecko Asset Platform ID ≠ GT Network ID)
* Example:
* Asset Platform on CoinGecko: `ethereum`
* Onchain Network ID: `eth`
**How to obtain Network ID?**
* Use [/onchain/networks](/reference/networks-list) endpoint, example of response:
```json JSON theme={null}
{
"data": [
{
"id": "eth", 👈 Network ID
"type": "network",
"attributes": {
"name": "Ethereum",
"coingecko_asset_platform_id": "ethereum" 👈 CoinGecko Asset Platform ID
}
},
......
]
}
```
* Go to [GeckoTerminal](https://www.geckoterminal.com/)
1. Select or search for a blockchain network.
2. Copy the slug from the URL:
## DEXs
Some of the pools endpoints require you to provide a DEX ID along with a Network ID to query the pools on a particular DEX (Decentralized Exchange).
Using the [/onchain/networks/\{network}/dexes/\{dex}/pools](/reference/top-pools-dex) endpoint as an example:
* `https://pro-api.coingecko.com/api/v3/onchain/networks/eth/dexes/uniswap_v3/pools?x_cg_pro_api_key=YOUR_API_KEY`
There are 2 parameter values required for this endpoint:
* `network`: `eth` (network ID)
* `dex`: `uniswap_v3` (DEX ID)
**How to obtain DEX ID?**
* Use [/onchain/networks/\{network}/dexes](/reference/dexes-list) endpoint, example of response:
```json JSON theme={null}
{
"data": [
{
"id": "uniswap_v2", 👈 DEX ID
"type": "dex",
"attributes": {
"name": "Uniswap V2"
}
},
......
]
}
```
* Go to [GeckoTerminal](https://www.geckoterminal.com/)
1. Select or search for a blockchain network.
2. Choose the DEX from the DEXs List on the top (e.g. Uniswap V3).
3. Copy the slug from the URL:
## Methods to query Onchain Data
### a. Pool Contract Address
Most of the time, you will need a pool contract address along with a Network ID to query the onchain data, especially when using the Pools Endpoints.
Using the [/onchain/networks/\{network}/pools/\{address}](/reference/pool-address) endpoint as an example:
* `https://pro-api.coingecko.com/api/v3/onchain/networks/eth/pools/0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc?x_cg_pro_api_key=YOUR_API_KEY`
There are 2 parameter values required for this endpoint:
* `network`: `eth` (network ID)
* `address`: `0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc` (pool contract address)
**How to obtain the pool contract address? (e.g. `WETH/USDC`)**
* Look for the contract address section of the pool page on [GeckoTerminal](https://www.geckoterminal.com/eth/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640):
* Get the pool contract address from the project website, white-paper, documentation, or block explorer site:
* [Block Explorer (Etherscan)](https://etherscan.io/address/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640)
* [DEX (Uniswap)](https://info.uniswap.org/#/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640)
### b. Token Contract Address
Apart from the pool contract address, you also have the option to query onchain data by using the token contract address, using the [/onchain/networks/\{network}/tokens/\{token\_address}/pools](/reference/top-pools-contract-address) endpoint as an example:
* `https://pro-api.coingecko.com/api/v3/onchain/networks/eth/tokens/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/pools?x_cg_pro_api_key=YOUR_API_KEY`
There are 2 parameter values required for this endpoint:
* `network`: `eth` (network ID)
* `address`: `0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48` (token contract address)
**How to obtain token contract address (e.g. UNI):**
* Look for the contract address section of the token page on GeckoTerminal:
* Get the token contract address from the project website, white-paper, documentation, or block explorer site. For example:
* [Uniswap Documentation](https://docs.uniswap.org/protocol/concepts/governance/overview#uni-address)
* [DEX (Uniswap)](https://info.uniswap.org/#/tokens/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984)
* [Block Explorer (Etherscan)](https://etherscan.io/token/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984)
# AI Prompts
Source: https://docs.coingecko.com/docs/ai-agent-hub/ai-prompts
CoinGecko API AI prompt library
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](/docs/ai-agent-hub/python-ai-prompts)**: A complete guide for implementing the CoinGecko API using our official [coingecko-sdk](https://pypi.org/project/coingecko-sdk/).
* 🟦 **[TypeScript](/docs/ai-agent-hub/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.
## Best Practices
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.
# Claude Code
Source: https://docs.coingecko.com/docs/ai-agent-hub/claude-code
Wire CoinGecko into Anthropic's terminal coding agent — MCP server, SKILL, and prompt rules in one place.
[Claude Code](https://www.anthropic.com/claude-code) is Anthropic's terminal-native coding agent. Plug CoinGecko in through any combination of the three integrations below — they're complementary, not exclusive.
## 1. Install the SKILL
The fastest setup. Gives Claude Code built-in knowledge of the CoinGecko API so it writes correct requests without you pasting reference docs every session.
```bash npm theme={null}
npx skills add coingecko/skills -g -y
```
```bash git clone theme={null}
git clone https://github.com/coingecko/skills.git ~/.claude/skills/coingecko
```
Full instructions: [SKILL docs](/docs/ai-agent-hub/skills).
## 2. Add the MCP Server
Connects Claude Code to live CoinGecko data — prices, market caps, onchain pools, OHLCV, NFTs, and more.
Add to your `claude_desktop_config.json` (or project-level MCP config):
```json Keyless theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.api.coingecko.com/mcp"]
}
}
}
```
```json Authenticated (BYOK) theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.pro-api.coingecko.com/mcp"]
}
}
}
```
Full instructions: [MCP Server docs](/docs/ai-agent-hub/mcp-server).
## 3. Add AI prompt rules
If you're generating code that uses the official CoinGecko SDKs, drop our prompt rules into your `CLAUDE.md` so Claude Code follows the right patterns (auth, retries, error handling).
* [Python rules](/docs/ai-agent-hub/python-ai-prompts)
* [TypeScript rules](/docs/ai-agent-hub/typescript-ai-prompts)
## What to try next
Once everything's wired up, try asking Claude Code:
> *"Using the CoinGecko MCP, show me the top 10 trending pools on Base in the last 5 minutes and export them to CSV."*
> *"Write a Python script using coingecko-sdk that tracks my portfolio and sends me a Slack alert if any coin moves more than 10% in an hour."*
***
Have feedback or need help? Reach out to `eason.lim@coingecko[dot]com`.
# CoinGecko CLI
Source: https://docs.coingecko.com/docs/ai-agent-hub/cli
A high-performance terminal interface for real-time & historical crypto data, built in Go.
CoinGecko CLI is currently in Beta. We're constantly improving, and your feedback is crucial. \
Please share your feedback via this [form](https://forms.gle/VgpVbwsSJLgE7D8Q7), or submit a [PR](https://github.com/coingecko/coingecko-cli/pulls).
The **CoinGecko CLI** is a fast, full-featured terminal interface designed for developers, data analysts, and AI Agents who prefer the command line over a browser. It bridges the gap between raw API access and local data workflows with interactive dashboards and machine-readable outputs.
## Get Started
Sign up for Demo (Free) or Pro (Paid) API key [here](https://www.coingecko.com/en/api/pricing), and retrieve the API Key in [Developer Dashboard](https://www.coingecko.com/en/developers/dashboard).
Visit the official [CoinGecko CLI GitHub](https://github.com/coingecko/coingecko-cli?tab=readme-ov-file#install) for full installation guides. It takes just 1-click, and less than a minute to complete the setup.
Refer [here](https://github.com/coingecko/coingecko-cli?tab=readme-ov-file#commands) for full list of commands and features.
***
## Features at a Glance
Full-screen terminal dashboard with live navigation and 7-day braille price charts.
Export market rankings and historical data directly to CSV or JSON.
Stream real-time market data and stay ahead of the curve.
Easily test and integrate with AI/LLM tools via CLI.
| Feature | What it does |
| -------------------------------- | -------------------------------------------------------------------------------------------- |
| 🎮 **Interactive TUI Dashboard** | High-fidelity terminal interface with live navigation and 7-day price charts. |
| ⚡ **Real-Time Prices** | Blazingly fast, type-safe API calls for the most current market valuations. |
| 📡 **Live WebSocket Streaming** | Real-time price updates via `cg watch` with NDJSON output for piping. |
| 📅 **Deep Historical Data** | Fetch precise data for specific dates, custom date ranges, or the past N days. |
| 📥 **CSV Export Support** | Export any market or history query directly to CSV for external analysis in Excel or Python. |
| 🏷️ **Category Smart** | Filter by 500+ categories including AI, Layer-2, Tokenized Stocks, Gold, and Silver. |
| 📊 **Unlimited Markets** | Seamless pagination to fetch 1,000+ coins in a single command. |
| 🔥 **Trending Everything** | Real-time tracking of Trending Coins, NFTs, and Categories. |
| ⌨️ **JSON Output** | Machine-readable `-o json` for scripting and pipelines. |
| 🤖 **Agent/LLM Friendly** | `--dry-run` mode and `cg commands` for tool integration. |
***
## Common Use Cases
The CoinGecko CLI is designed to be versatile, supporting both high-speed developer workflows and complex reasoning tasks for AI agents.
* **CI/CD Alerts**: Integrate the CLI into GitHub Actions or local cron jobs to monitor price thresholds using `-o json` and tools like `jq`.
* **Rapid Dataset Generation**: Fetch and export large market datasets (e.g. top 1000 coins) to CSV in seconds, bypassing the need for custom scripts.
* **Debugging & Tool Testing**: Use `--dry-run` to visualize the exact API parameters and URL being constructed before implementing them in production code.
* **Shell Integration**: Embed the CLI into your terminal prompt to see live metrics every time you open a session or run a command.
* **Function Calling**: Give your LLM the `cg` binary as a tool to resolve coin symbols via `cg search` and perform technical analysis on results
* **Automated Market Research**: Agents can identify "hot" sectors using `cg trending` and then drill down into specific performers using the `--category` filter.
* **Context Injection**: Provide your agent with fresh, machine-readable data via `-o json` to ensure reasoning is based on real-time market conditions rather than static training data.
* **Agent Discovery**: Use the `cg commands` utility to let an agent "self-document" its capabilities by reading the available sub-commands and metadata.
* **Historical Snapshots**: Quickly generate historical CSV reports for specific dates or ranges to feed into Excel or Python dataframes.
* **Movers Analysis**: Track the biggest gainers and losers across different timeframes and pool sizes for deeper sentiment analysis.
* **Category Benchmarking**: Export raw data for specific sectors like "Layer-2" or "RWA" to compare performance metrics across an entire category.
## Demo vs. Pro API Key
| | Demo Key (Free) | Pro Key (Paid) |
| ------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Rate Limit** | 30 calls/minute | >250 calls/minute
Refer [Pricing page](https://www.coingecko.com/en/api/pricing) for full details |
| **Monthly Credit** | 10,000 calls | >100,000 calls
Refer [Pricing page](https://www.coingecko.com/en/api/pricing) for full details |
| **Historical Data** | Past 1 year | Basic plan: past 2 years
Analyst plan & above: past 10+ years |
| **Features** | TUI
CSV Export
Price, Markets, Category, Trending
*More features coming soon!* | TUI
CSV Export
Price, Markets, Category, Trending
**WebSocket Streaming** (🔒 Analyst plan & above)
**Top Gainers & Losers** (🔒 Analyst plan & above)
*More features coming soon!* |
# Cursor
Source: https://docs.coingecko.com/docs/ai-agent-hub/cursor
Add the CoinGecko MCP server to Cursor and load SDK prompt rules so the in-editor assistant writes correct API code.
[Cursor](https://cursor.com) is an AI-first code editor with a built-in chat and agent mode. The setup below gets live CoinGecko data and correct SDK patterns into every session.
## 1. Add the MCP Server
Cursor supports MCP natively. Open **Settings → MCP → Add new MCP server** and paste the config below, or edit `~/.cursor/mcp.json` directly.
```json Keyless theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.api.coingecko.com/mcp"]
}
}
}
```
```json Authenticated (BYOK) theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.pro-api.coingecko.com/mcp"]
}
}
}
```
After saving, restart Cursor. You'll see `coingecko_mcp` under **Available Tools** in the chat sidebar.
Full instructions: [MCP Server docs](/docs/ai-agent-hub/mcp-server).
## 2. Add AI prompt rules
Cursor lets you project-scope rules via `.cursor/rules/*.mdc` (or the legacy `.cursorrules` file). Paste our SDK prompt into a rule file so every generation follows the right patterns.
* [Python rules](/docs/ai-agent-hub/python-ai-prompts)
* [TypeScript rules](/docs/ai-agent-hub/typescript-ai-prompts)
Name the rule file something like `coingecko-sdk.mdc` and set `alwaysApply: true` in the frontmatter so it's loaded on every request.
## What to try next
Try prompting Cursor's agent mode with:
> *"Using the CoinGecko MCP tool, fetch the current BTC and ETH prices and build a React widget that displays them with live updates."*
> *"Write a TypeScript script that pulls the top 50 coins by market cap and exports them to a CSV."*
***
Have feedback or need help? Reach out to `eason.lim@coingecko[dot]com`.
# AI Agent Hub
Source: https://docs.coingecko.com/docs/ai-agent-hub/index
Connect AI agents, coding assistants, and LLM apps to CoinGecko's price, market, and onchain data — pick the integration that fits your stack.
Everything you need to plug CoinGecko data into your AI stack lives here — whether you're wiring up an MCP server to Claude, dropping a SKILL into your agent, piping the CLI into a cron job, or paying per-request over x402.
Not sure where to start? Use the table below to find your use case, then jump into the matching section.
## Select Your Use Case
| If you want to... | Start here | Best for |
| ---------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------ |
| Teach an AI agent the CoinGecko API instantly | [SKILL](/docs/ai-agent-hub/skills) | Claude Code, Gemini CLI, Codex CLI, Claude.ai |
| Connect an LLM to live CoinGecko data over MCP | [MCP Server](/docs/ai-agent-hub/mcp-server) | Claude, ChatGPT, Cursor, Windsurf, custom agents |
| Query crypto data from the terminal or a shell script | [CLI](/docs/ai-agent-hub/cli) | Developers, analysts, agent function-calling |
| Hit endpoints pay-per-use with no API key | [x402](/docs/ai-agent-hub/x402) | Prototypes, one-off scripts, autonomous agents |
| Give your IDE assistant the right rules for CoinGecko SDKs | [AI Prompts](/docs/ai-agent-hub/ai-prompts) | Cursor, Claude Code, GitHub Copilot |
***
## AI Integrations
The four main ways to connect CoinGecko data to your AI stack. Pick whichever matches how your agent or app consumes data.
Installable package that teaches AI agents the CoinGecko API.
Connect any MCP-compatible client to live CoinGecko data.
Fast terminal tool with TUI, CSV export, and live streaming.
Pay-per-request endpoints over Coinbase's x402 protocol — no API key.
***
## IDE Setup
Drop-in setup guides for the two most popular AI coding environments. More coming soon.
MCP, SKILL, and prompt rules for Anthropic's terminal coding agent.
MCP server and SDK rules for the Cursor in-editor assistant.
***
## AI Prompts
Battle-tested prompt libraries for our official SDKs. Drop them into your coding assistant's rules or paste at the top of a chat.
How to use the prompts across any AI coding assistant.
Rules for the official `coingecko-sdk` package.
Rules for the official `@coingecko/coingecko-typescript` package.
***
Have feedback, a cool idea, or need help? Reach out to `eason.lim@coingecko[dot]com`.
# AWS Kiro
Source: https://docs.coingecko.com/docs/ai-agent-hub/kiro
[Kiro](https://kiro.dev/) is an IDE and CLI terminal-native coding agent from Amazon Web Services. Plug CoinGecko in through any combination of the three integrations below — they're complementary, not exclusive.
The instructions below is for the Kiro IDE.
## 1. Install the SKILL
Give Kiro built-in knowledge of the Coingecko API to ensure that it writes the correct requests without the need to copy paste the reference docs every session.
While Kiro is able to directly load a skill through a Github URL, it requires the `SKILL.md` to be inside a subdirectory. [https://github.com/coingecko/skills](https://github.com/coingecko/skills) `SKILL.md` currently sits in the root directory which will trigger an error to Kiro.
A workaround is to clone the repo into your working directory as below.
```bash npm theme={null}
git clone https://github.com/coingecko/skills.git
```
Then use the Kiro IDE to add the skill by referring to the file path.
Full instructions: [SKILL docs](/docs/ai-agent-hub/skills).
## 2. Add the MCP Server
Connect Kiro to live CoinGecko API via the MCP.
After clicking the add MCP, if this is your first time setting up MCP on Kiro, you will see the following file below.
```json theme={null}
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"env": {},
"disabled": true,
"autoApprove": []
}
}
```
Append the CoinGecko MCP configuration.
```json Keyless theme={null}
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"env": {},
"disabled": true,
"autoApprove": []
},
"coingecko_mcp": {
"url": "https://mcp.api.coingecko.com/mcp",
"disabled": false
}
}
}
```
```json Authenticated (BYOK) theme={null}
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"env": {},
"disabled": true,
"autoApprove": []
},
"coingecko_mcp": {
"url": "https://mcp.pro-api.coingecko.com/mcp",
"disabled": false
}
}
}
```
Full instructions: [MCP Server docs](/docs/ai-agent-hub/mcp-server).
## 3. Add Steering
To ensure that Kiro agent follows the most up-to-date instructions in implementing the codebase using CoinGecko API and SDKs, add the following prompt to Kiro steering files.
* [Python rules](/docs/ai-agent-hub/python-ai-prompts)
* [TypeScript rules](/docs/ai-agent-hub/typescript-ai-prompts)
Choose from the above, copy and paste into the steering template.
## What to try next
Once everything's wired up, try asking Claude Code:
> *"Using the CoinGecko MCP, show me the top 10 trending pools on Base in the last 5 minutes and export them to CSV."*
> *"Write a Python script using coingecko-sdk that tracks my portfolio and sends me a Slack alert if any coin moves more than 10% in an hour."*
# CoinGecko MCP Server
Source: https://docs.coingecko.com/docs/ai-agent-hub/mcp-server
MCP Server for Crypto Price & Market Data. MCP (Model Context Protocol) is an open standard that allows Large Language Models (LLMs) and other AI agents to securely and intelligently interact with external data sources and tools.
### Welcome to the CoinGecko MCP Server!
**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).
# 📕 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 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.
👉 See the [full list of MCP tools](/docs/ai-agent-hub/mcp-tools) available to your AI agents.
# 🔥 Getting Started
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`).
### Prerequisites
* Make sure your device has `node` installed. You can download it from [nodejs.org/download](https://nodejs.org/en/download)
## 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
- Connect instantly without any registration
- Subject to shared rate limits, not for heavy use | Primary: `/mcp`
Alternative: `/sse` | Public Beta | [mcp.api.coingecko.com](https://mcp.api.coingecko.com/) |
| Remote Server (Authenticated) | - Scalable apps, AI agent integrations
- Unlocks 76+ tools available under your Demo/Pro plan
- Higher, reliable rate limits with 24/7 uptime. Get your API key [here](https://www.coingecko.com/en/api/pricing) | Primary: `/mcp`
Alternative: `/sse` | Public Beta | [mcp.pro-api.coingecko.com](https://mcp.pro-api.coingecko.com/) |
| Local Server | - Ideal for local development, desktop AI apps
- Build/test your AI app even without an active internet connection
- 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:
### Primary Endpoint (HTTP Streaming)
* **Public Server**: `https://mcp.api.coingecko.com/mcp`
* **Pro Server**: `https://mcp.pro-api.coingecko.com/mcp`
* Uses HTTP streaming protocol for real-time data transfer.
* Recommended for most modern MCP clients.
### Alternative Endpoint (SSE — Server-Sent Events)
* **Public Server**: `https://mcp.api.coingecko.com/sse`
* **Pro Server**: `https://mcp.pro-api.coingecko.com/sse`
* Uses Server-Sent Events for compatibility.
* Use this if you encounter connection issues with the primary endpoint.
Most clients work with either endpoint. The configuration examples below use the primary (HTTP streaming) endpoint by default for maximum compatibility.
## Remote Server (Public, Keyless)
The easiest way to get started. Just add the following to your client's `mcp_config.json` file.
### 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)
Add the following configuration to your `mcp_config.json`:
```json JSON theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.api.coingecko.com/mcp"
]
}
}
}
```
Here's a quick 2-minute tutorial for setting up the public server with Claude Desktop:
## Remote Server (Authenticated)
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`:
```json JSON theme={null}
{
"mcpServers": {
"coingecko_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.pro-api.coingecko.com/mcp"
]
}
}
}
```
### 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.
```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"
}
}
}
}
```
✨ 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:
```json JSON theme={null}
...
"env": {
"COINGECKO_PRO_API_KEY": "YOUR_PRO_API_KEY",
"COINGECKO_ENVIRONMENT": "pro"
}
...
```
* Demo API access:
```json JSON theme={null}
...
"env": {
"COINGECKO_DEMO_API_KEY": "YOUR_DEMO_API_KEY",
"COINGECKO_ENVIRONMENT": "demo"
}
...
```
# 🚀 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
### Tips
You can also follow the same steps as the Free users by modifying the `claude_desktop_config.json` file.
1. In Claude ([claude.ai](https://claude.ai/) or the Desktop app), click on 'Add connectors' in your chat.
2. Click on 'Add custom connector'
3. Remote MCP server URL:
* Keyless access: `https://mcp.api.coingecko.com/mcp`
* Authenticated access (BYOK): `https://mcp.pro-api.coingecko.com/mcp`
4. Click on 'Add', and you're ready to go!
# 🚀 Connecting with ChatGPT
OpenAI ChatGPT has just launched an MCP connector, but requires the [developer mode](https://platform.openai.com/docs/guides/developer-mode) toggle to be 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
3. Before prompting, choose "+" > More > Developer Mode > CoinGecko MCP tool must be turned on
# 💡 Example Prompts
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.
>
>
>
> * Generate a 30-day price chart for Ethereum (ETH) against USD, showing both price and trading volume.
>
>
### Creative and Fun Ideas
> * Create a quiz to tell me which cryptocurrency I am based on my personality.
>
>
>
> Try it here: [claude.ai/public/artifacts](https://claude.ai/public/artifacts/586275b9-9ff8-4d9f-9b43-0c080f6e9c80)
>
> * Build a Wordle-style game where the answer is a crypto asset's name or symbol, like 'BITCOIN' or 'SHIBA'.
>
>
>
> Try it here: [claude.ai/public/artifacts](https://claude.ai/public/artifacts/41efabb7-76b9-43c7-8349-cbbe1d52a022)
# ⚙️ Tips
## API Key Differences (Demo vs. Pro)
Choosing between a Demo and Pro key for your MCP server impacts your access to data and tools.
| Feature | Demo ([Guide here](https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key)) | Pro |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Rate Limit** | 30 calls/min | Starts at 500 calls/min |
| **Monthly Credits** | 10,000 | Starts at 500,000 |
| **Historical Data** | Past 1 year | From 2013 until now |
| **MCP Tools** | Limited access | Full access, including exclusive tools:
- [Top Gainers & Losers](/reference/coins-top-gainers-losers)
- [NFTs Collection Historical Chart](/reference/nfts-id-market-chart)
- [🔥 Megafilter for Pools](/reference/pools-megafilter)
- [Pools by Category ID](/reference/pools-category) |
🔥 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.
## Using `llms.txt`
To help AI models interact with CoinGecko data effectively, we provide an `llms.txt` file at [/llms-full.txt](/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 `eason.lim@coingecko[dot]com` or fill in [this feedback form](https://docs.google.com/forms/d/e/1FAIpQLSf06DOBauiZ8XS6NwWXUUwhFluH7jKHOAa3y4VsrkyGbLKyfA/viewform).
# Codex
Source: https://docs.coingecko.com/docs/ai-agent-hub/openai-codex
Wire CoinGecko into OpenAI's Codex terminal coding agent — MCP server, SKILL, and prompt rules in one place.
[Codex](https://chatgpt.com/codex/) is OpenAI's coding agent available in both terminal and native application for developers to build and ship applications using AI. Plug CoinGecko in through any combination of the three integrations below — they're complementary, not exclusive.
## 1. Install the SKILL
The fastest setup. Gives Codex built-in knowledge of the CoinGecko API so it writes correct requests without you pasting reference docs every session.
```bash npm theme={null}
npx skills add coingecko/skills -g -y
```
Full instructions: [SKILL docs](/docs/ai-agent-hub/skills).
## 2. Add the MCP Server
Connects Codex to live CoinGecko data — prices, market caps, onchain pools, OHLCV, NFTs, and more.
Add to your `~/.codex/config.toml` (or project-level MCP config) with the following
```bash Keyless theme={null}
codex mcp add coingecko_mcp -- npx -y mcp-remote https://mcp.api.coingecko.com/mcp
```
```bash Authenticated (BYOK) theme={null}
codex mcp add coingecko_mcp -- npx -y mcp-remote https://mcp.pro-api.coingecko.com/mcp
```
Full instructions: [MCP Server docs](/docs/ai-agent-hub/mcp-server).
## 3. Add AI prompt rules
If you're generating code that uses the official CoinGecko SDKs, drop our prompt rules into your `AGENTS.md` so Codex follows the right patterns (auth, retries, error handling).
* [Python rules](/docs/ai-agent-hub/python-ai-prompts)
* [TypeScript rules](/docs/ai-agent-hub/typescript-ai-prompts)
## What to try next
Once everything's wired up, try asking Codex:
> *"Using the CoinGecko MCP, show me the top 10 trending pools on Base in the last 5 minutes and export them to CSV."*
> *"Write a Python script using coingecko-sdk that tracks my portfolio and sends me a Slack alert if any coin moves more than 10% in an hour."*
***
# Python AI Prompts
Source: https://docs.coingecko.com/docs/ai-agent-hub/python-ai-prompts
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.
````markdown Markdown expandable 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.
client = Coingecko(
pro_api_key=os.environ.get("COINGECKO_PRO_API_KEY"),
environment="pro",
max_retries=3, # Rely on the SDK's built-in retry mechanism.
)
# Optional: Initialize a single async client for concurrent applications.
async_client = AsyncCoingecko(
pro_api_key=os.environ.get("COINGECKO_PRO_API_KEY"),
environment="pro",
max_retries=3,
)
# src/main.py
from api.client import client
from coingecko_sdk import RateLimitError, APIError
def get_bitcoin_price():
try:
price_data = client.simple.price.get(
ids="bitcoin",
vs_currencies="usd",
)
# Access data using Pydantic models or dictionary keys
return price_data['bitcoin'].usd
except RateLimitError:
print("Rate limit exceeded. Please try again later.")
return None
except APIError as e:
print(f"An API error occurred: {e}")
return None
if __name__ == "__main__":
price = get_bitcoin_price()
if price:
print(f"The current price of Bitcoin is: ${price}")
```
## ❌ Deprecated Patterns to AVOID
You **MUST NOT** generate code that includes any of the following outdated patterns.
```python
# ❌ NO direct HTTP requests.
import requests
response = requests.get('[https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd](https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd)')
# ❌ NO use of the outdated `pycoingecko` library.
from pycoingecko import CoinGeckoAPI
cg = CoinGeckoAPI()
# ❌ NO hardcoded API keys.
client = Coingecko(pro_api_key='CG-abc123xyz789')
# ❌ NO manual retry loops. The SDK's `max_retries` handles this.
import time
for i in range(3):
try:
data = client.simple.price.get(ids='bitcoin', vs_currencies='usd')
break
except:
time.sleep(5)
# ❌ NO generic exception handling for API errors.
try:
data = client.simple.price.get(ids='bitcoin', vs_currencies='usd')
except Exception as e:
print(f"An error occurred: {e}")
```
## 📝 Final Check
Before providing a response, you **MUST** verify that your generated code:
1. Imports and uses `coingecko_sdk`.
2. Loads the API key from environment variables.
3. Follows all other Critical Rules.
4. Does **NOT** contain any Deprecated Patterns.
````
## Resources
* **GitHub**: [github.com/coingecko/coingecko-python](https://github.com/coingecko/coingecko-python)
* **PyPI**: [pypi.org/project/coingecko-sdk/](https://pypi.org/project/coingecko-sdk/)
Notice something off or missing? Let us know by opening an [Issue here](https://github.com/coingecko/coingecko-python/issues).
***
Have feedback, a cool idea, or need help? Reach out to `soonaik@coingecko[dot]com`.
# CoinGecko Agent SKILL
Source: https://docs.coingecko.com/docs/ai-agent-hub/skills
[CoinGecko SKILL](https://github.com/coingecko/skills) is an installable package that gives AI agents built-in knowledge of the CoinGecko API, including endpoints, parameters, and common workflows.
* Instead of manually explaining the API to your agent every time, the **SKILL lets your agent understand CoinGecko data instantly** and respond with accurate queries and code.
* The SKILL works with popular AI coding agents and tools such as Claude Code, Gemini CLI, Codex CLI, and other SKILL-compatible agents. **Setup takes less than 3 minutes**.
You can check out the repo at [github.com/coingecko/skills](https://github.com/coingecko/skills), or follow the installation instructions below.
***
## Installation
You may install the CoinGecko SKILL package using one of the following methods, depending on your preferences:
* For **Coding agents**, we recommend following [this section](#setting-up-for-agents-/-llms).
* For **Claude web users**, please follow [this section](#setting-up-for-claude-ai) instead.
***
### Setting up for Agents / LLMs
*\*such as Claude Code, Gemini CLI, Codex CLI*
#### Installation via [skills.sh](https://skills.sh/)
```bash theme={null}
npm install -g skills
```
*\*see [npmjs/skills](https://www.npmjs.com/package/skills) for more details.*
```bash theme={null}
npx skills add coingecko/skills -g -y
```
*\*`-g` flag to install globally for all agents.*
#### Installation via GitHub
*\*see [github.com/coingecko/skills](https://github.com/coingecko/skills)*
```bash theme={null}
git clone https://github.com/coingecko/skills.git coingecko-skills
```
```bash theme={null}
mv coingecko-skills ~/.claude/skills/coingecko
```
*\*the exact path may vary based on your agent and operating system.
\*example above is for Claude Code on Mac/Linux.*
***
### Setting up for [Claude.ai](https://claude.ai/)
Visit [https://github.com/coingecko/skills/archive/refs/heads/main.zip](https://github.com/coingecko/skills/archive/refs/heads/main.zip)
1. Visit [https://claude.ai/customize/skills](https://claude.ai/customize/skills)
2. Select '+' -> 'Upload a skill'
3. Upload the `skills-main.zip` file you downloaded from GitHub.
4. You are all set!
### Constraints for Claude.ai 🚧
The SKILL already includes built-in workarounds for Claude.ai platform restrictions, so most users won't run into issues.
However, **if your API calls are failing silently or returning network errors**, check the following:
#### Allowlist CoinGecko domains (Claude paid plans only)
Claude blocks outbound requests to domains not on your personal allowlist. To fix this:
1. Go to [https://claude.ai/settings/capabilities](https://claude.ai/settings/capabilities), then scroll down to the "Domain allowlist" section.
2. Under "Additional allowed domains", add both:
* `pro-api.coingecko.com`
* `api.coingecko.com`
#### Artifacts cannot make API calls directly
* Claude Artifacts run in a sandboxed environment that blocks all external API calls — including CoinGecko.
* The SKILL handles this automatically by instructing Claude to fetch data server-side first, then pass the results into the Artifact as static data.
### Use it with the CoinGecko MCP Server
We recommend setting up the CoinGecko MCP Server together with the SKILL for the best experience, especially if you're on the **Claude free plan**.
All under 5 minutes by following the instructions in our [MCP guides](/docs/mcp-server).
***
## What's next?
Once installed, try asking your agent / LLM questions like:
> *"If I invested \$100 in Bitcoin back in December 2018, how much would it be worth today?"*
> *"What was the ATH of XPL?"*
> *"What is the current market cap of DZnQi17HFgSM8mJ4nhVicz32B97XyTsd6MUVuDJgP9Jo from Solana?"*
> *"What if I only left \$50 in my wallet? Which coins should I buy to maximize my returns based on the current market?"*
> *"What are the top NFT collections this week?"*
> *... have fun experimenting!*
***
Tell us how you're using the CoinGecko SKILL and what we should improve!
Have feedback or need help? Reach out to `eason.lim@coingecko[dot]com`.
# TypeScript AI Prompts
Source: https://docs.coingecko.com/docs/ai-agent-hub/typescript-ai-prompts
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.
````markdown Markdown expandable 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 {
try {
const params: Coingecko.Simple.PriceGetParams = {
ids: 'bitcoin',
vs_currencies: 'usd',
};
const priceData = await client.simple.price.get(params);
return priceData.bitcoin.usd;
} catch (err) {
if (err instanceof Coingecko.RateLimitError) {
console.error('Rate limit exceeded. Please try again later.');
} else if (err instanceof Coingecko.APIError) {
console.error(
`An API error occurred: ${err.name} (Status: ${err.status})`
);
} else {
console.error('An unexpected error occurred:', err);
}
return null;
}
}
async function main() {
const price = await getBitcoinPrice();
if (price !== null) {
console.log(`The current price of Bitcoin is: $${price}`);
}
}
main();
```
## ❌ Deprecated Patterns to AVOID
You **MUST NOT** generate code that includes any of the following outdated patterns.
```typescript
// ❌ NO direct HTTP requests with fetch or axios.
import axios from 'axios';
const response = await axios.get(
'[https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd](https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd)'
);
// ❌ NO hardcoded API keys.
const client = new Coingecko({ proAPIKey: 'CG-abc123xyz789' });
// ❌ NO manual retry loops. The SDK's `maxRetries` handles this.
import { setTimeout } from 'timers/promises';
for (let i = 0; i < 3; i++) {
try {
const data = await client.simple.price.get({
ids: 'bitcoin',
vs_currencies: 'usd',
});
break;
} catch (e) {
await setTimeout(5000);
}
}
// ❌ NO generic exception handling for API errors.
try {
const data = await client.simple.price.get({
ids: 'bitcoin',
vs_currencies: 'usd',
});
} catch (e) {
console.log(`An error occurred: ${e}`); // Too broad. Use `instanceof` checks.
}
```
## 📝 Final Check
Before providing a response, you **MUST** verify that your generated code:
1. Imports and uses `@coingecko/coingecko-typescript`.
2. Loads the API key from environment variables (e.g., `process.env` or `dotenv`).
3. Follows all other Critical Rules.
4. Does **NOT** contain any Deprecated Patterns.
````
## Resources
* **GitHub**: [github.com/coingecko/coingecko-typescript](https://github.com/coingecko/coingecko-typescript)
* **npm**: [npmjs.com/package/@coingecko/coingecko-typescript](https://www.npmjs.com/package/@coingecko/coingecko-typescript)
Notice something off or missing? Let us know by opening an [Issue here](https://github.com/coingecko/coingecko-typescript/issues).
***
Have feedback, a cool idea, or need help? Reach out to `soonaik@coingecko[dot]com`.
# On-Demand Crypto Price & Market Data (x402)
Source: https://docs.coingecko.com/docs/ai-agent-hub/x402
x402-enabled, instant, pay-per-use crypto price & market data endpoints. Access with native crypto payment, no key or account required.
These are experimental endpoints. Their features, pricing, and availability are subject to change without prior notice. For production systems, we strongly advise using the stable, standard subscription [endpoints](/reference/endpoint-overview).
If you have any questions or feedback, please share with us [here](https://forms.gle/J2gF7sZ3PSucj8F58).
## x402 Overview
x402 is a new open payment protocol developed by Coinbase that enables instant, automatic stablecoin payments directly over HTTP. Learn more about x402 [here](https://docs.cdp.coinbase.com/x402/welcome).
## How It Works
Make a request to the x402-enabled endpoint. The server returns payment requirements with a 402 response.
Your wallet signs a USDC authorization for the requested amount.
Send the signed payment header and receive the data you requested.
**Authentication**
To access CoinGecko API with x402, you can follow the simple steps below:
* Set up an x402 client by following the official [x402 Quickstart for Buyers](https://docs.cdp.coinbase.com/x402/quickstart-for-buyers)
* **Use the x402 Path:** Call any supported endpoint by inserting `/x402/` immediately after the version segment (`/v3/`) in the URL path.
**Reminder**
* Do not send `x-cg-pro-api-key` or `x-cg-demo-api-key`, as an API key is not required.
* Root URL for the endpoints: All x402 requests must use the base path: \
`pro-api.coingecko.com/api/v3/x402/...`
## Supported Endpoints
| **Endpoints** | **Description & Endpoint Path** |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Onchain**: [Simple Token Price](/reference/onchain-simple-price) | To get token price & market data based on the provided token contract addresses on a network.
`/x402/onchain/simple/networks/{id}/token_price/{address}` |
| **Onchain**: [Search Pools](/reference/search-pools) | To search pools and tokens, by contract address, name or token symbol.
`/x402/onchain/search/pools` |
| **Onchain**: [Trending Pools by Network](/reference/trending-pools-network) | To query the latest trending pools & tokens based on a provided network.
`/x402/onchain/networks/{id}/trending_pools` |
| **Onchain**: [Token Data by Token Address](/reference/token-data-contract-address) | To query the latest price, liquidity, and market data of a token, based on the provided token contract address on a network
`/x402/onchain/networks/{network}/tokens/{address}` |
| **CoinGecko**: [**Simple Price**](/reference/simple-price) | To get token price & market data of coins listed on [CoinGecko.com](https://www.coingecko.com), via symbol or unique coin IDs.
`/x402/simple/price`
Get full list of coin IDs via [CSV](https://raw.githubusercontent.com/sachiew/coingecko-id-map/refs/heads/main/coin_ids.csv), or [GSheet](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0). |
* All parameters from the CoinGecko Pro API endpoints are supported. For the complete list of available parameters, features, limits, and payload data, please refer to the [**Pro API References**](https://docs.coingecko.com/reference/endpoint-overview) of respective endpoints.
* For Onchain endpoint requests that require `network_id`, you may check for the full list of network IDs via [CSV](https://raw.githubusercontent.com/sachiew/coingecko-id-map/refs/heads/main/onchain_network_ids.csv) or [GSheet](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=1120233236#gid=1120233236). We cover more than 250 networks, the widest coverage in the industry!
* If you wish to learn more details about how to use CoinGecko API x402 endpoints, please visit [this guide](https://www.coingecko.com/learn/x402-pay-per-use-crypto-api).
**Request URL Examples:**
* **Example 1**: Get VIRTUALS and WETH tokens data on Base network:
```javascript theme={null}
GET /api/v3/x402/onchain/simple/networks/base/token_price/0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b,0x4200000000000000000000000000000000000006
?include_market_cap=true
&mcap_fdv_fallback=true
&include_24hr_vol=true
&include_24hr_price_change=true
&include_total_reserve_in_usd=true
```
* **Example 2**: Search tokens and pools data on Solana network, with name, symbol, or contract address:
```javascript theme={null}
GET /api/v3/x402/onchain/search/pools
?query=pump
&network=solana
&include=base_token,quote_token,dex
&page=1
```
* **Example 3**: Get the top trending tokens and pools data on Base network, in the last 5 minutes:
```javascript theme={null}
GET /api/v3/x402/onchain/networks/base/trending_pools
?page=1
&duration=5m
&include_gt_community_data=true
&include=base_token,quote_token,dex
```
* **Example 4**: Get KEETA price, liquidity, market data and more on Base network:
```javascript theme={null}
GET /api/v3/x402/onchain/networks/base/tokens/0xc0634090f2fe6c6d75e61be2b949464abb498973
?include=top_pools
&include_composition=true
```
* **Example 5**: Get USD price & market data of Bitcoin, Ethereum and Solana, by symbols:
```javascript theme={null}
GET /api/v3/x402/simple/price
?vs_currencies=usd
&symbols=btc,eth,sol
&include_tokens=top
&include_market_cap=true
&include_24hr_vol=true
&include_24hr_change=true
&include_last_updated_at=true
&precision=full
```
## Pricing & Payment Method
**Current price: \$0.01 USDC per API request, for all endpoints stated above.**
**Pricing Notice**: The current pricing of \$0.01 USDC per request is subject to change at any time without prior notice. Please check the latest pricing when generating your payment header.
Each search request is charged on a pay-per-use basis using cryptocurrency through the payment header system.
**Network supported:**
* Base
* Solana
#### Paying with Privy Wallet
Privy provides embedded and agent wallets that natively support x402, making them an all-in-one option for paying for CoinGecko API calls.
* [x402 integration recipe](https://docs.privy.io/recipes/agent-integrations/x402)
* [Privy Agent Wallet CLI](https://docs.privy.io/recipes/agent-integrations/agent-wallets-cli)
## Request Example
```shellscript theme={null}
curl --request GET \
--url 'https://pro-api.coingecko.com/api/v3/x402/onchain/networks/eth/tokens/0xdac17f958d2ee523a2206206994597c13d831ec7?include_composition=true' \
-H 'PAYMENT-SIGNATURE: {{paymentSignature}}' \
```
## Response Example
Please refer to the respective endpoint documentation for full parameter and payload support.
```json expandable theme={null}
{
"data": {
"id": "eth_0xdac17f958d2ee523a2206206994597c13d831ec7",
"type": "token",
"attributes": {
"address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"name": "Tether USD",
"symbol": "USDT",
"decimals": 6,
"image_url": "https://coin-images.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"coingecko_coin_id": "tether",
"total_supply": "91775654692250534.0",
"normalized_total_supply": "91775654692.2505",
"price_usd": "0.999188255",
"fdv_usd": "91700939859.6687",
"total_reserve_in_usd": "405089394.14192413773442554227",
"volume_usd": {
"h24": "1142454033.37436"
},
"market_cap_usd": "171798403974.784"
},
"relationships": {
"top_pools": {
"data": [
{
"id": "eth_0x667701e51b4d1ca244f17c78f7ab8744b4c99f9b",
"type": "pool"
},
{
"id": "eth_0xf063bd202e45d6b2843102cb4ece339026645d4a",
"type": "pool"
},
{
"id": "eth_0x8aa4e11cbdf30eedc92100f4c8a31ff748e201d44712cc8c90d189edaa8e4e47",
"type": "pool"
}
]
}
}
},
"included": [
{
"id": "eth_0x667701e51b4d1ca244f17c78f7ab8744b4c99f9b",
"type": "pool",
"attributes": {
"base_token_price_usd": "0.999949947925521",
"base_token_price_native_currency": "0.000223341206041575",
"base_token_balance": "74198606.301554",
"base_token_liquidity_usd": "74194892.50738515",
"quote_token_price_usd": "0.99918825500163",
"quote_token_price_native_currency": "0.000223171080110164",
"quote_token_balance": "29771050.29628",
"quote_token_liquidity_usd": "29746883.795105774",
"base_token_price_quote_token": "1.0007623117",
"quote_token_price_base_token": "0.9992382689",
"address": "0x667701e51b4d1ca244f17c78f7ab8744b4c99f9b",
"name": "USDC / USDT",
"pool_created_at": "2025-09-18T08:28:30Z",
"token_price_usd": "0.99918825500163",
"fdv_usd": "91700939859.6687",
"market_cap_usd": "171798403975.064",
"price_change_percentage": {
"m5": "-0.02",
"m15": "-0.65",
"m30": "-0.01",
"h1": "0",
"h6": "-0.18",
"h24": "-0.5"
},
"transactions": {
"m5": {
"buys": 0,
"sells": 2,
"buyers": 0,
"sellers": 2
},
"m15": {
"buys": 4,
"sells": 7,
"buyers": 3,
"sellers": 5
},
"m30": {
"buys": 12,
"sells": 19,
"buyers": 7,
"sellers": 9
},
"h1": {
"buys": 39,
"sells": 48,
"buyers": 16,
"sellers": 15
},
"h6": {
"buys": 180,
"sells": 271,
"buyers": 31,
"sellers": 35
},
"h24": {
"buys": 870,
"sells": 1109,
"buyers": 55,
"sellers": 59
}
},
"volume_usd": {
"m5": "988.7572917698",
"m15": "1857835.95996426",
"m30": "3190909.49729904",
"h1": "9434171.29930675",
"h6": "84784863.3965608",
"h24": "388004708.962186"
},
"reserve_in_usd": "103939687.035"
},
"relationships": {
"base_token": {
"data": {
"id": "eth_0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"type": "token"
}
},
"quote_token": {
"data": {
"id": "eth_0xdac17f958d2ee523a2206206994597c13d831ec7",
"type": "token"
}
},
"dex": {
"data": {
"id": "fluid-ethereum",
"type": "dex"
}
}
}
}
]
}
```
# API Status
Source: https://docs.coingecko.com/docs/api-status
CoinGecko's API status page provides information on the current status and incident history of CoinGecko API (Public & Pro)
### **Tips**
* You can view our live updates, and subscribe to updates via Email, Slack and Discord.
* Instead of subscribing to all updates, you may click on 'Select services' to subscribe to either Public or Pro API updates.
* CoinGecko API Status — [https://status.coingecko.com](https://status.coingecko.com)
* Incident & Maintenance History — [https://status.coingecko.com/incidents](https://status.coingecko.com/incidents)
* Uptime Calendar — [https://status.coingecko.com/incidents/uptime-calendar](https://status.coingecko.com/incidents/uptime-calendar)
# Best Practices
Source: https://docs.coingecko.com/docs/best-practices
Wonder how to use different endpoints together? This is the perfect place for you
## User Journey for CoinGecko API Endpoints
### "Discovery/Navigational Endpoints"
**Examples:**
* [/coins/list](/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](/reference/trending-search) — can be used to query trending search coins, categories and NFTs on CoinGecko.
### "Supporting Endpoints"
**Examples:**
* [/simple/supported\_vs\_currencies](/reference/simple-supported-currencies) — can be used to query the list of currencies for other endpoints that include parameters like `vs_currencies`, allowing you to obtain the corresponding data for those currencies.
* [/asset\_platforms](/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.
### "Data Endpoints"
**Examples:**
* [/simple/price](/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}](/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.
## User Journey for Onchain DEX API Endpoints (GeckoTerminal data)
### "Discovery/Navigational Endpoints"
**Examples:**
* [/onchain/trending\_pools](/reference/trending-pools-list) - can be used to query trending pools across all networks on GeckoTerminal.
* [/onchain/search/pools](/reference/search-pools) - can be used to search for any pools on GeckoTerminal.
### "Supporting Endpoints"
**Examples:**
* [/onchain/networks-list](/reference/networks-list) - can be used to query all the supported networks on GeckoTerminal.
* [/onchain/networks/\{network}/dexes](/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.
### "Data Endpoints"
**Examples:**
* [/onchain/simple/networks/\{network}/token\_price/\{addresses}](/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}](/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.
# Clients
Source: https://docs.coingecko.com/docs/clients
Explore client resources, including official Swagger JSON and unofficial Python wrapper
## API Swagger JSON (OAS)
* [CoinGecko Pro OAS](https://docs.coingecko.com/reference/endpoint-overview)
* CoinGecko Pro API — [coingecko-pro.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/coingecko-pro.json)
* GeckoTerminal Onchain API (Pro) — [onchain-pro.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/onchain-pro.json)
* [CoinGecko Public/Demo OAS](https://docs.coingecko.com/v3.0.1/reference/endpoint-overview)
* CoinGecko Public/Demo API — [coingecko-demo.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/coingecko-demo.json)
* GeckoTerminal Onchain API (Demo) — [onchain-demo.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/onchain-demo.json)
***
## Official CoinGecko API SDK
Here are the official API SDKs maintained by us.
* [🐍 coingecko-python (Python)](https://github.com/coingecko/coingecko-python)
* [🟦 coingecko-typescript (TypeScript)](https://github.com/coingecko/coingecko-typescript)
Want us to support your favorite programming language? Let us know [here](https://forms.gle/JJLH3SXiL2eJaGzBA)!
**Not a developer?** Fret not, check our no-code tutorial for beginners here: [Tutorials (Beginner-friendly)](/docs/tutorials-beginner-friendly)
# Common Errors & Rate Limit
Source: https://docs.coingecko.com/docs/common-errors-rate-limit
## Common Errors
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 that indicate the success or failure of an API call.
| Status Codes | Description |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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 been reached. The user should reduce the number of calls made, or consider upgrading to a 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 to Pro API subscribers'. You may want to 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.
For Pro API, ensure you pass in `x_cg_pro_api_key` parameter with a Pro Key.
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
### **Notes**
* If you're using the Public API with Google Sheet and got hit with an 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).
* For Public API user (Demo plan), the rate limit is \~30 calls per minute and it varies depending on the traffic size.
* If you're a Pro API user (any paid plan), the rate limit depends 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**.
# Common Use Cases
Source: https://docs.coingecko.com/docs/common-use-cases
Discover the common use cases of CoinGecko API by our users
## 1. Get Coins Logo Images
* Use [/coins/id](/reference/coins-id) endpoint.
* This endpoint can be used to query other coins' 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](/reference/token-info-contract-address) endpoint to get metadata of tokens listed on GeckoTerminal.com.
## 2. Best Endpoint for Latest Crypto Price
* Use [/simple/price](/reference/simple-price) endpoint.
* This endpoint can be used to query other market data like market cap, 24-hour trading volume and 24-hour price change percentage.
## 3. Get All Trading Pairs (Tickers) of a Coin
* Use [/coins/id/tickers](/reference/coins-id-tickers) endpoint.
## 4. Get Trading Pairs of Specific Coins from a Specific Exchange
* Use [/coins/id/tickers](/reference/coins-id-tickers) endpoint by supplying specific exchange ID.
## 5. Building Telegram Bot for Latest Coin Listings
* Use [/coins/list/new](/reference/coins-list-new) endpoint.
## 6. Get List of Coins Under Specific Category
* For CoinGecko [categories](https://www.coingecko.com/en/categories), use [/coins/markets](/reference/coins-markets) endpoint by supplying specific category.
* For GeckoTerminal [categories](https://www.geckoterminal.com/category), use [Pools by Category ID](/reference/pools-category) endpoint by supplying specific category.
## 7. Identify DEX Decentralized Exchanges
* Use [/exchanges/list](/reference/exchanges-list) endpoint to get full list of exchanges with ID on CoinGecko.
* Use [/exchanges/id](/reference/exchanges-id) to find out whether the exchange is centralized or decentralized.
* Example of responses (using Uniswap V3 as an example):
Since Uniswap is a DEX, it shows `"centralized": false`
```json JSON theme={null}
{
"name": "Uniswap V3 (Ethereum)",
......
"centralized": false, 👈
......
"tickers": [],
"status_updates": []
}
```
## 8. Get Bitcoin Dominance Data (BTC.D)
* Use [/global](/reference/crypto-global) endpoint.
* Example of responses:
```json JSON theme={null}
{
"data": {
"active_cryptocurrencies": 12414,
......
"market_cap_percentage": { 👈
"btc": 47.82057011844006,👈
"eth": 16.943340351591583,
......
},
"market_cap_change_percentage_24h_usd": -5.032104325648996,
"updated_at": 1706002730
}
}
```
## 9. Get Market Cap or Dominance of a Specific Ecosystem
* Use [/coins/categories](/reference/coins-categories).
* The endpoint also returns the 24-hour percentage change, offering insights into the traction of different categories or ecosystems.
## 10. Get Token Lists of a Specific Blockchain Network
* Use [/token\_lists/asset\_platforms\_id/all.json](/reference/token-lists) endpoint.
* Supply asset platform id to the endpoint.
## 11. Get 7-Day Sparkline Price Data of a Coin
* Use [/coins/id](/reference/coins-id) or [/coins/markets](/reference/coins-markets) endpoints by flagging `sparkline = true`.
## 12. Get Link to Individual CoinGecko Coin Page
* Use [/coins/list](/reference/coins-list) endpoint to get the coin **`{ID}`**.
* Supply API ID in this URL path format: `www.coingecko.com/en/coins/{ID}`
* If you wish to obtain the URL slug of a specific CoinGecko Coin Page, e.g. `www.coingecko.com/en/coins/{web_slug}` you may use [/coins/id](/reference/coins-id) endpoint and obtain the **`{web_slug}`** value.
## 13. Check Coin Status and Stale Price Updates
* Active: use [/coins/list](/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](/reference/simple-price) endpoint, flag `include_last_updated_at=true` to check latest update time.
## 14. Get Real-Time and Historical Exchange Rate of BTC in USD
* Current exchange rate: use [/exchange\_rates](/reference/exchange-rates) endpoint.
* Historical exchange rate: use [/coins/id/history](/reference/coins-id-history) or [/coins/id/market\_chart](/reference/coins-id-market-chart) endpoints.
## 15. Get Watchlist Portfolio Data of a Coin
* Use [/coins/id](/reference/coins-id) endpoint by supplying coin ID.
* Example of responses:
```json JSON theme={null}
{
"id": "bitcoin",
......
"watchlist_portfolio_users": 1487932, 👈
"market_cap_rank": 1,
......
}
```
## 16. Get Historical Data for Inactive Coins
**Note**: This is available for paid plan subscribers only.
* Use [/coins/list](/reference/coins-list) endpoint, specifying the status param as `inactive`.
* Example of endpoint request: `https://pro-api.coingecko.com/api/v3/coins/list?include_platform=false&status=inactive&x_cg_pro_api_key=YOUR_API_KEY`
* Retrieve the coin's ID from the endpoint mentioned above and use it to access historical data via the following endpoints:
* [/coins/id/history](/reference/coins-id-history)
* [/coins/id/market\_chart](/reference/coins-id-market-chart)
* [/coins/id/market\_chart/range](/reference/coins-id-market-chart-range)
* [/coins/id/contract/contract\_address/market\_chart](/reference/contract-address-market-chart)
* [/coins/id/contract/contract\_address/market\_chart/range](/reference/contract-address-market-chart-range)
## 17. Get TVL (Total Value Locked) data of a Coin
* Use [/coins/id](/reference/coins-id) endpoint by supplying coin ID.
* Example of responses:
```json JSON theme={null}
"total_value_locked":
{
"btc": 72324,
"usd": 4591842314
}
```
## 18. Query Search for Coins, Categories, NFTs, Exchanges, and Pools
We have 2 Search endpoints:
* [/search](/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](/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:
* CoinGecko: [/asset-platforms-list](/reference/asset-platforms-list)
* GeckoTerminal ([onchain endpoints](/reference/endpoint-overview#-onchain-dex-endpoints-geckoterminal)): [/networks-list](/reference/networks-list)
## 20. Get Native Coin of a Blockchain Network (Asset Platform)
You may use the [/asset-platforms-list](/reference/asset-platforms-list) endpoint to obtain the native coin ID of all networks (asset platforms) listed on [www.coingecko.com](https://www.coingecko.com).
## 21. Get Liquidity data of a Liquidity Pool or Token
There are multiple onchain endpoints that provide the liquidity data (`reserve_in_usd`) of a pool, for example: [Specific Pool Data by Pool Address](/reference/pool-address). You may also get liquidity data (`total_reserve_in_usd`) of a token, using endpoints like: [Token Data by Token Address](/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](/reference/pools-megafilter) to retrieve data for onchain DEX pools that match a given set of filters.
* Example of use cases:
* 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:
* [Changelog — New Megafilter Endpoint](/changelog#february-2025)
* [Live Filtering on GeckoTerminal](https://www.geckoterminal.com/)
## 23. Get List of Trending Coins
* Use the following endpoints to get trending coins and pools:
* [Trending Search List](/reference/trending-search/) — Trending Coins, NFTs, Categories on CoinGecko.com, based on user searches.
* [Trending Search Pools](/reference/trending-search-pools/) — Trending Pools and Tokens on GeckoTerminal.com, based on user searches.
* Other useful endpoints:
* [Top Gainers & Losers](/reference/coins-top-gainers-losers) on CoinGecko.com, by specific time duration.
* [Trending Pools List](/reference/trending-pools-list) and [Trending Pools by Network](/reference/trending-pools-network) on GeckoTerminal.com, by specific time duration.
## 24. Get Security Info of Tokens
* By using [Token Info by Token Address](/reference/token-info-contract-address) endpoint, you can obtain the following security related data:
* GeckoTerminal Score (Pool, Transaction, Creation, Info, Holders)
* Holders count, and distribution percentage based on the total supply
(includes all wallet types: CEX, treasury/issuer, etc.)
* Mint and Freeze Authority
## 25. Get Latest Token/Pool Data from Launchpad
* Use [megafilter](/reference/pools-megafilter) endpoint to retrieve latest launchpad data, by flagging `sort=pool_created_at_desc`. Learn more on [changelog](/changelog#now-supported%3A-launchpad-data-pump-fun-%26-more-%2C-granular-ohlcv%2C-and-honeypot-info).
* **Request example (Get latest pools on Pump.fun)**:
```bash Bash theme={null}
https://pro-api.coingecko.com/api/v3/onchain/pools/megafilter?page=1&networks=solana&dexes=pump-fun&sort=pool_created_at_desc&x_cg_pro_api_key=YOUR_API_KEY
```
## 26. Get Latest Price/Data for Tokens Not Actively Traded
* When a token has no active pools (no valid swaps in the past 7 days), you can still retrieve the latest available price and data by using the `include_inactive_source=true` parameter.
* This parameter sources data from the pool with the most recent swap, regardless of how long ago it occurred.
* The `last_trade_timestamp` field in the response indicates when the most recent trade took place.
* Supported endpoints:
* [Token Data by Token Address](/reference/token-data-contract-address) — `/onchain/networks/../tokens/..`
* [Tokens Data by Token Addresses](/reference/tokens-data-contract-addresses) — `/onchain/networks/../tokens/multi/..`
* [Top Pools by Token Address](/reference/top-pools-contract-address) — `/onchain/networks/../tokens/../pools`
* [Token Price by Token Addresses](/reference/onchain-simple-price) — `/onchain/simple/networks/../token_price/..`
* [Token OHLCV chart by Token Address](/reference/token-ohlcv-token-address) — `/onchain/networks/../tokens/../ohlcv/..`
⚡️ Need Real-time Data Streams? Try [WebSocket API](https://docs.coingecko.com/websocket)
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data.
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.
# Data Delivery Methods
Source: https://docs.coingecko.com/docs/data-delivery-methods
Choose the right data delivery method for your use case — REST API, WebSocket, or Webhooks.
CoinGecko API offers three ways to access crypto market data, each designed for different use cases. Pick the one that fits how your application consumes data — or combine them for maximum flexibility.
## REST API — You ask, we answer
The classic request-response model. Your application sends an HTTP request, and the API returns the data you need.
**How it works:** Send a GET request to an endpoint → receive a JSON response.
```bash theme={null}
curl -X GET "https://pro-api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd" \
-H "x-cg-pro-api-key: YOUR_API_KEY"
```
```bash theme={null}
curl -X GET "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd" \
-H "x-cg-demo-api-key: YOUR_API_KEY"
```
* Fetching data on demand (prices, coin info, historical data)
* Periodic polling on a schedule (e.g. every 60 seconds)
* Backfilling or one-time data pulls
* Prototyping and quick integrations
* 50+ endpoints on Demo & Basic plans
* 80+ endpoints on Analyst plan & above
* Covers prices, market data, exchanges, NFTs, onchain DEX data, and more
REST API is available on **all plans**, including the free Demo plan. [View endpoints →](/reference/endpoint-overview)
***
## WebSocket — Stay connected, stream live
A persistent, two-way connection that pushes data to your application in real time. No repeated requests needed — once you subscribe, updates flow to you automatically.
**How it works:** Open a WebSocket connection → subscribe to channels → receive continuous updates.
* Live price tickers and trading dashboards
* Real-time trade monitoring
* Streaming OHLCV chart data
* Any app where milliseconds matter
* `C1` — CoinGecko price updates
* `G1` — Onchain token price updates
* `G2` — Onchain trade updates
* `G3` — Onchain OHLCV data
WebSocket is available on **Analyst plan & above**. [View WebSocket docs →](/websocket)
***
## Webhooks — We notify you when things change
Event-driven HTTP callbacks that push notifications to your server whenever specific data changes occur on CoinGecko — no polling required.
**How it works:** Register a webhook URL → CoinGecko sends a POST request to your server when an event fires.
* Keeping your database in sync with CoinGecko
* Reacting to coin metadata changes (rebrands, new chains, alerts)
* Compliance and risk monitoring
* Replacing cron jobs with event-driven updates
* `cg.coin.info.updated` — triggers when coin info changes across all active coins
* More event types coming soon
Webhooks are available on **Analyst plan & above**. [View Webhook docs →](/webhooks)
***
## Quick comparison
| | REST API | WebSocket | Webhook |
| ----------------- | ----------------------------------- | ----------------------- | --------------------------- |
| **Communication** | Request → Response | Persistent connection | Event-driven callback |
| **Data flow** | You pull data | Data pushed to you | Data pushed to you |
| **Latency** | Per-request | Ultra-low (real-time) | Near real-time |
| **Use case** | On-demand queries, periodic polling | Live streaming, trading | Reacting to data changes |
| **Credit charge** | 1 credit per call | 0.1 credit per response | 10 credits per notification |
## Plan access and pricing
| | REST API | WebSocket BETA | Webhook NEW |
| ------------------- | :---------------: | :-----------------------: | :-------------------------: |
| **Free Demo** | ✅ (50+ endpoints) | — | — |
| **Basic** | ✅ (50+ endpoints) | — | — |
| **Analyst & above** | ✅ (80+ endpoints) | ✅ | ✅ |
| **Enterprise** | ✅ (80+ endpoints) | ✅ | ✅ |
| **Credit charge** | 1 credit per call | 0.1 credit per response | 10 credits per notification |
Not sure which plan to choose? Check out the [pricing page](https://www.coingecko.com/en/api/pricing) for a full breakdown.
## Which method should you use?
Use **REST API** to fetch current prices and historical data on a schedule. If you need live price updates on a dashboard, add **WebSocket** for real-time streaming.
Use **WebSocket** for real-time price feeds and trade data. Supplement with **REST API** for reference data like coin metadata, market cap rankings, or historical OHLC.
Use **Webhooks** to receive push notifications when coin data changes, so you don't need to poll the API constantly. Use **REST API** to backfill or fetch full records on demand.
Start with **REST API** — it's available on all plans (including the free Demo plan) and covers the widest range of data. You can add WebSocket or Webhooks later as your needs grow.
# Endpoint Showcase
Source: https://docs.coingecko.com/docs/endpoint-showcase
Discover how CoinGecko API is used at CoinGecko.com and GeckoTerminal.com
## CoinGecko
### [Home Page](https://www.coingecko.com)
1. [/global](/reference/crypto-global) — Display global crypto data such as number of active cryptocurrencies, exchanges, etc.
2. [/search/trending](/reference/trending-search) — Display trending search coins, NFTs and categories.
3. [/coins/top\_gainers\_losers](/reference/coins-top-gainers-losers) — Display the largest gainers in 24hr.
4. [/coins/categories](/reference/coins-categories) — Display all the categories list.
5. [/coins/markets](/reference/coins-markets) — Display all the supported coins with market related data.
### [Coin Page](https://www.coingecko.com/en/coins/bitcoin)
1. [/coins/\{id}](/reference/coins-id) — Display all the coin data including name, price, market related data, website, explorers, etc.
2. [/simple/price](/reference/simple-price) — Display data such as latest coin price, market cap and 24hr trading volume.
3. * [/coins/\{id}/history](/reference/coins-id-history) — Display the historical price data.
* [/coins/\{id}/market\_chart](/reference/coins-id-market-chart) — Display the historical data in line chart.
* [/coins/\{id}/ohlc](/reference/coins-id-ohlc) — Display the historical data in candlestick chart.
### [Exchanges Page](https://www.coingecko.com/en/exchanges/hyperliquid-spot)
1. [/exchanges/\{id}](/reference/exchanges-id) — Display the exchange information such as name, type, market related data such as trading volume, etc.
2. [/exchanges/\{id}/volume\_chart](/reference/exchanges-id-volume-chart) — Display the historical volume chart data.
3. [/exchanges/\{id}/tickers](/reference/exchanges-id-tickers) — Display the exchange's tickers.
### [NFTs Page](https://www.coingecko.com/en/nft/pudgy-penguins)
1. [/nfts/\{id}](/reference/nfts-id) — Display NFT data such as name, contract address, website, market related data such as floor price, market cap, volume, etc.
2. [/nfts/\{id}/market\_chart](/reference/nfts-id-market-chart) — Display the historical market data in chart.
3. [/nfts/\{id}](/reference/nfts-id) — Display the description of the NFT collection.
4. [/nfts/\{id}/tickers](/reference/nfts-id-tickers) — Display the tickers of the NFT collection on different NFT marketplaces.
## GeckoTerminal
### [Home Page](https://www.geckoterminal.com/)
1. [/onchain/search/pools](/reference/search-pools) — Allow users to search for pools on GeckoTerminal.
2. [/onchain/networks](/reference/networks-list) — Display a list of supported networks on GeckoTerminal.
3. [/onchain/networks/trending\_pools](/reference/trending-pools-list) — Display a list of trending pools across all networks on GeckoTerminal.
4. [/onchain/networks/new\_pools](/reference/latest-pools-list) — Display all the latest pools across all networks on GeckoTerminal.
5. [/onchain/categories](/reference/categories-list) — Display all the onchain categories on GeckoTerminal.
### [Chain Page](https://www.geckoterminal.com/eth/pools)
1. [/onchain/networks/\{network}/dexes](/reference/dexes-list) — Display all the supported DEXes on a network on GeckoTerminal.
2. [/onchain/networks/\{network}/trending\_pools](/reference/trending-pools-network) — Display a list of trending pools on a network on GeckoTerminal.
3. [/onchain/networks/\{network}/new\_pools](/reference/latest-pools-network) — Display a list of new pools on a network on GeckoTerminal.
4. [/onchain/networks/\{network}/pools](/reference/top-pools-network) — Display all the top pools on a network on GeckoTerminal.
5. [/onchain/categories/\{category\_id}/pools](/reference/pools-category) — Display all the pools under a specific onchain category on GeckoTerminal.
### [Pool Page](https://www.geckoterminal.com/eth/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640)
1. * [/onchain/networks/\{network}/pools/\{address}](/reference/pool-address) — Display pool data such as price, transactions, volume, etc.
* [/onchain/networks/\{network}/pools/\{pool\_address}/info](/reference/pool-token-info-contract-address) — Display pool information such as name, symbol, image URL, description, etc.
2. [/onchain/networks/\{network}/pools/\{pool\_address}/ohlcv/\{timeframe}](/reference/pool-ohlcv-contract-address) — Display the OHLCV chart of the pool.
3. [/onchain/networks/\{network}/pools/\{pool\_address}/trades](/reference/pool-trades-contract-address) — Display the trades of the pool in the past 24 hours.
### [Categories Page](https://www.geckoterminal.com/category)
1. [/onchain/categories](/reference/categories-list) — Display list of onchain categories with market data.
2. [/onchain/categories/\{id}/pools](/reference/pools-category) — Display list of pools with market data of a specific onchain category.
# CoinGecko for Microsoft Excel (Official)
Source: https://docs.coingecko.com/docs/excel
The CoinGecko Official Excel Add-in brings the world's most comprehensive crypto data directly into your spreadsheet workflow — live prices, historical data, NFT floor prices, on-chain token prices, and market cap rankings, all refreshable with a single click.
Your privacy is our priority. The add-in only communicates with the CoinGecko API using your saved API key. No personal data is sent to any third party.
If you have any questions or feedback, please share with us [**here**](https://forms.gle/Ndm7qRC3QVE4YYhB7).
***
## 1. Quick Start
Search for '**CoinGecko**' and Install directly from the Excel Add-ins store, or visit the [Microsoft Marketplace](https://marketplace.microsoft.com/en-us/product/office/WA200010662).
Go to **Home → CoinGecko** in the Excel ribbon to open the taskpane sidebar.
Enter your [CoinGecko API key](https://www.coingecko.com/en/api/pricing), then click **Save Settings**. A green status dot confirms a valid connection.
***
## 2. Formulas
All formulas use the `CG` namespace. Enter them in any cell like a standard Excel formula.
**Pro Tip:**
* Use the **Coin ID** (e.g., `bitcoin`, `ethereum`) rather than the ticker symbol for the most reliable results.
* You can find the coin API ID in the URL on CoinGecko, i.e. [coingecko.com/en/coins/bitcoin](https://www.coingecko.com/en/coins/bitcoin)
* You can also get the full list via this [endpoint](/reference/coins-list-new) or [Google Sheet](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0).
***
### `=CG.PRICE(id)`
Returns the **current USD price** of a coin.
| Parameter | Type | Description |
| :-------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | string | CoinGecko coin ID (e.g. `"bitcoin"`, `"ethereum"`)
View full [**Coin IDs**](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0). |
**Returns:** Number — current price in USD
```text theme={null}
=CG.PRICE("bitcoin") → 95000
=CG.PRICE("ethereum") → 3400
=CG.PRICE("solana") → 180
```
***
### `=CG.HISTORY(id, date)`
Returns the **historical USD price** of a coin on a specific date.
| Parameter | Type | Description |
| :-------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | string | CoinGecko coin ID (e.g. `"bitcoin"`, `"ethereum"`)
View full [**Coin IDs**](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0). |
| `date` | string | Date in `YYYY-MM-DD` format |
**Returns:** Number — USD price on that date
```text theme={null}
=CG.HISTORY("bitcoin", "2023-12-31") → 16541.77
=CG.HISTORY("ethereum", "2021-12-31") → 3682.45
```
Date must be in `YYYY-MM-DD` format. Example: February 1, 2023 = `"2023-02-01"`
***
### `=CG.NFT(id)`
Returns the **current floor price (USD)** of an NFT collection.
| Parameter | Type | Description |
| :-------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | string | CoinGecko NFT collection ID (e.g. `"bored-ape-yacht-club"`)
View full [**NFT IDs**](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=207968092#gid=207968092). |
**Returns:** Number — floor price in USD
```text theme={null}
=CG.NFT("bored-ape-yacht-club") → 24500
=CG.NFT("cryptopunks") → 68000
=CG.NFT("pudgy-penguins") → 8200
```
***
### `=CG.ONCHAIN(network, address)`
Returns the **current USD price of an on-chain token** by its network and contract address.
| Parameter | Type | Description |
| :-------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `network` | string | Network ID (e.g. `"eth"`, `"bsc"`, `"solana"`)
Get full [**Onchain network IDs**](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=1120233236#gid=1120233236). |
| `address` | string | Token contract address |
**Returns:** Number — token price in USD
```text theme={null}
=CG.ONCHAIN("eth", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48")
=CG.ONCHAIN("bsc", "0x55d398326f99059ff775485246999027b3197955")
```
**Common network IDs:**
| Network | ID |
| :-------------- | :--------- |
| Ethereum | `eth` |
| BNB Smart Chain | `bsc` |
| Solana | `solana` |
| Arbitrum | `arbitrum` |
| Base | `base` |
***
### `=CG.TOP(limit, [category])`
Returns a **ranked table of top coins by market cap**.
| Parameter | Type | Description |
| :--------- | :------------------ | :-------------------------------------- |
| `limit` | number | Number of coins to return (1-10000) |
| `category` | string *(optional)* | CoinGecko category ID to filter results |
```text theme={null}
=CG.TOP(10) → Top 10 coins by market cap
=CG.TOP(100) → Top 100 coins by market cap
=CG.TOP(50, "decentralized-exchange") → Top 50 DEX tokens
=CG.TOP(20, "layer-1") → Top 20 Layer-1 coins
```
Enter `=CG.TOP(...)` in a **single cell** and let the results spill automatically into adjacent rows and columns. Do not pre-select a range.
**Tip:**
* Find category IDs by browsing the [CoinGecko categories page](https://www.coingecko.com/en/categories) and copying the ID from the URL.
* You can also get the full list via this [endpoint](https://docs.coingecko.com/reference/coins-categories-list) or [Google Sheet](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=214581757#gid=214581757).
***
## 3. Taskpane Actions
#### Refresh All Data 🔄
Clears the in-memory cache and forces all `=CG.*` formulas in the workbook to recalculate with fresh data from the API.
#### Save 💾
Saves your API key and plan selection. Automatically validates the key against the API and clears the cache.
***
## 4. Troubleshooting & FAQ
**Why is my formula showing #NAME??**
* Ensure the add-in is installed and loaded. The `CG` namespace is only available when the add-in is active.
**How do I find a Coin ID or NFT ID?**
* You can get the full list of supported CoinGecko API IDs [**here**](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0), or visit [**CoinGecko.com**](https://www.coingecko.com) - the Coin ID can also be found in the "API ID" section on the right sidebar of the coin or NFT's page.
**Why am I seeing Error: Invalid API Key?**
* Open the taskpane, re-enter your API key, and click **Save**.
**Why am I seeing Error: Rate Limit — wait and retry?**
* You have exceeded the API rate limit. Wait a moment, then click **Refresh All Data** in the taskpane.
**Why does =CG.HISTORY return no data?**
* Confirm the date is in `YYYY-MM-DD` format and that the coin existed on that date.
**Why does =CG.TOP only show one cell?**
* Make sure the cells below and to the right are empty so the array can spill. Excel requires free space for spill ranges.
**What is your privacy policy?**
* Please view the full details of our privacy policy [**here**](https://docs.coingecko.com/docs/excel/privacy-policy).
**How do I share feedback?**
* Please share feedback with us [**here**](https://forms.gle/Ndm7qRC3QVE4YYhB7).
# CoinGecko for Google Sheets (Official)
Source: https://docs.coingecko.com/docs/google-sheet
The CoinGecko Official Google Sheets Add-on brings the world's most comprehensive crypto data directly into your workflow. Bypass manual data entry and use the =COINGECKO() custom function to pull live prices, historical prices, NFT floors, and on-chain data of 20 million tokens across 250+ networks and 1,800+ exchanges.
Your privacy is our priority. This official add-on follows the principle of 'least privilege.' Unlike other tools, it **does not** request permission to access your Google Drive or all of your spreadsheets. It is strictly limited to reading and updating only the specific sheet you have currently opened to fetch CoinGecko data.
If you have any questions or feedback, please share with us [**here**](https://forms.gle/Ndm7qRC3QVE4YYhB7).
## 1. Quick Start
Visit '[CoinGecko for Sheets: Live Crypto Prices](https://workspace.google.com/marketplace/app/coingecko_for_sheets_live_crypto_prices/429190203358)' on Google Workspace Marketplace, and click **Install**.
Check **Select all** to grant the required permissions.
* To provide a seamless experience, CoinGecko for Sheets needs these permissions to communicate with our API and write data to your sheet.
* We follow the principle of "least privilege" and only access data necessary to run the tool. We **DO NOT** have access to your email address and personal data.
* Go to **Extensions** > **CoinGecko** > **Settings & API Key**
* Enter your [CoinGecko API Key](https://www.coingecko.com/en/api/pricing) in the Settings sidebar.
* Select your plan (Demo or Pro) and click **Save Settings**.
*You're now ready to use the =COINGECKO() function!*
## 2. Using the `=COINGECKO()` Function
The add-on uses a single "Smart Routing" function. It automatically detects if you are looking for a market ticker, a specific coin ID, an on-chain contract, or an NFT.
### a. Get Latest Price of a Token or NFT
| **Data Type & Syntax** | Description | **Formula Example** |
| :------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |
| **Price by Ticker Symbol**
`=COINGECKO("[symbol]")` | Insert ticker symbol like 'BTC' or 'ETH' to get the current price.
If 2 or more coins share the same ticker symbol, the coin with the largest market cap will be prioritized.
Smart Routing: if a token symbol is not found on [www.CoinGecko.com](https://www.coingecko.com), it will search for the token symbol on [www.GeckoTerminal.com](https://www.geckoterminal.com) that has the most liquid pool. | `=COINGECKO("BTC")`
`=COINGECKO("ETH")`
`=COINGECKO("SOL")`
`=COINGECKO("CRYPTOVC")`
`=COINGECKO("人生K线")` |
| **Price by Coin Name**
`=COINGECKO("name:[coin_name]")` | Lookup crypto price by a token name. This prioritizes tokens that are listed on [www.CoinGecko.com](https://www.coingecko.com) | `=COINGECKO("name:Ethereum")`
`=COINGECKO("name:leo token")` |
| **Price by Coin ID**
`=COINGECKO("id:[coin_id]")` | Lookup crypto price by a unique coin id.
View full [Coin IDs](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0). | `=COINGECKO("id:solana")`
`=COINGECKO("id:usd-coin")` |
| **On-chain DEX Price**
`=COINGECKO("[onchain_network_id]:[token_address]")` | Lookup onchain DEX token price by network and token address. This prioritizes tokens that are listed on [www.geckoterminal.com](https://www.geckoterminal.com)
Get full [Onchain network IDs](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=1120233236#gid=1120233236). | `=COINGECKO("base:0x...")`
`=COINGECKO("solana:2zM...")` |
| **NFT Floor Price**
`=COINGECKO("nft:[nft_id]")` | Lookup NFT floor price by a unique NFT ID.
View full [NFT IDs](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=207968092#gid=207968092). | `=COINGECKO("nft:pudgy-penguins")` |
> **Pro Tip:** Use the **Coin ID** (e.g., `bitcoin-cash` instead of `BCH`) for the most reliable results, as symbols can sometimes be shared by multiple tokens.
### b. Get Historical Price of a Token
| **Data Type** | Description | **Syntax & Formula Example** |
| :------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| **Get Historical Coin Price**
`=COINGECKO("id:[coin_id]", "[YYYY-MM-DD]")` | Get historical price of a specific date (daily 00:00 UTC) of a coin on CoinGecko, based on unique Coin ID.
View full [Coin IDs](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0). | `=COINGECKO("id:bitcoin", "2025-12-31")`
`=COINGECKO("id:ethereum", "2025-11-30")` |
### c. Get List of Top Market Cap Ranked Tokens on [CoinGecko.com](https://www.coingecko.com)
Get up to 1,000 token price & market data with just 1 single formula input
| **Data Type** | Description | **Syntax & Formula Example** |
| :------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |
| **Top Mcap Coins**
`=COINGECKO("top:[number]")` | Get Price and Market data of Top N Mcap coins on CoinGecko | `=COINGECKO("top:10")`
`=COINGECKO("top:100")` |
| **Top Mcap Coins of a Category**
`=COINGECKO("top:[number]:[category_id]")` | Get Price and Market data of Top Mcap coins of a specific category
Get [Category IDs](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=214581757#gid=214581757) here. | `=COINGECKO("top:10:meme-token")`
`=COINGECKO("top:100:artificial-intelligence")` |
***
## 3. Other Features
### 🔄 Bulk Refresh
Google Sheets typically caches formulas for 1-2 hours. To get "right now" prices for your entire sheet:
* Open the **CoinGecko Sidebar**.
* Click **Refresh All Data**. This will force-update every `=COINGECKO` formula in your active tab.
### 📑 Error Debugging
If a formula returns an error, don't guess why.
* Go to **Extensions** > **CoinGecko** > **View Error Logs**.
* This opens a dedicated log sheet showing the exact API response error (e.g., `429: Rate Limit Exceeded` or `403: Invalid API Key`).
***
## 4. Troubleshooting & FAQ
**Why is my formula showing #NAME?**
* Ensure the add-on is installed and "CoinGecko" appears under the Extensions menu. If it's missing, try refreshing your browser.
**How do I find a Coin ID or NFT ID?**
* You can get the full list of supported CoinGecko API IDs [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?gid=0#gid=0), or visit [CoinGecko.com](https://www.coingecko.com) and [GeckoTerminal.com](https://www.geckoterminal.com). The Coin ID can also be found in the "API ID" section on the right sidebar of the coin or NFT's page.
**Is my API Key safe?**
* Yes. Your API key is stored securely using Google's PropertiesService, meaning it is encrypted and unique to your Google user account. CoinGecko does not see or store your key on its own servers.
**Why do I need to "Allow" all these permissions to use the add-on?**
* We highly recommend checking **"Select all"** during the authorization flow. If a specific box is unchecked (such as "Connect to an external service"), the add-on will be unable to fetch price data, leading to errors in your formulas.
* To provide a seamless experience, **CoinGecko for Sheets** requires specific authorizations to interact with your data and our API servers. We follow the principle of **"Least Privilege,"** meaning we only request the absolute minimum access needed to run our tools.
* **View and manage spreadsheets:** Required to populate your cells with market data and create the **"Error Logs"** sheet if something goes wrong.
* **Connect to an external service:** This allows the add-on to securely fetch real-time cryptocurrency prices directly from CoinGecko's API servers.
* **Allow this application to run when you are not present:** Essential for keeping your custom formulas active and responsive without requiring you to have the sidebar open at all times.
* **Display third-party web content:** Needed to show the user interface in the **Sidebar**, where you manage your API Key, plan settings, and troubleshooting tools.
**What is your privacy policy?**
* Please view the full details of our privacy policy [here](https://docs.coingecko.com/docs/google-sheet-privacy-policy).
**How do I share feedback or request to support more features?**
* If you have any questions or feedback, please share with us [here](https://forms.gle/Ndm7qRC3QVE4YYhB7).
# CoinGecko SDK
Source: https://docs.coingecko.com/docs/sdk
Official CoinGecko TypeScript and Python SDKs — Crypto Price & Market Data API
# Unlock the Power of CoinGecko API with Unprecedented Ease
The official CoinGecko TypeScript and Python SDKs 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.
## Install via `npm`
```bash Bash theme={null}
npm install @coingecko/coingecko-typescript
```
### Resources
* **GitHub** — [github.com/coingecko/coingecko-typescript](https://github.com/coingecko/coingecko-typescript)
* **npm** — [npmjs.com/package/@coingecko/coingecko-typescript](https://www.npmjs.com/package/@coingecko/coingecko-typescript)
Notice something off or missing? Let us know by opening an [Issue here](https://github.com/coingecko/coingecko-typescript/issues).
# 🐍 CoinGecko Python SDK
Built to seamlessly integrate with the Python ecosystem, enabling fast and intuitive access to CoinGecko's API.
* **Pythonic Simplicity**: Leverage idiomatic Python to interact with the API effortlessly—ideal for data analysis, prototyping, or production use.
* **Streamlined Development**: Clean and consistent interface designed to accelerate workflows and reduce boilerplate in your Python projects.
## Install via `pip`
```bash Bash theme={null}
pip install coingecko-sdk
```
### Resources
* **GitHub** — [github.com/coingecko/coingecko-python](https://github.com/coingecko/coingecko-python)
* **PyPI** — [pypi.org/project/coingecko-sdk/](https://pypi.org/project/coingecko-sdk/)
Notice something off or missing? Let us know by opening an [Issue here](https://github.com/coingecko/coingecko-python/issues).
***
CoinGecko SDK is powered by [Stainless](https://www.stainless.com/) ✱
Have feedback, a cool idea, or need help? Reach out to `eason.lim@coingecko[dot]com`.
# Setting Up Your API Key
Source: https://docs.coingecko.com/docs/setting-up-your-api-key
👋 **New to CoinGecko API?** Sign up for an account [here](https://www.coingecko.com/en/api/pricing)
## 1. Creating a new API Key
* Once you have signed up and logged in to your CoinGecko account, go to [Developer Dashboard](https://www.coingecko.com/en/developers/dashboard):
* Click on **+ Add New Key** button to create a new API key:
## 2. Making API Request
* **Root URLs:**
* Pro API: `https://pro-api.coingecko.com/api/v3/`, refer to [Pro API Authentication](/reference/authentication).
* Demo API: `https://api.coingecko.com/api/v3/`, refer to [Demo API Authentication](/v3.0.1/reference/authentication).
* **Example using the `/ping` endpoint:**
* Pro API: `https://pro-api.coingecko.com/api/v3/ping?x_cg_pro_api_key=YOUR_API_KEY`
* Demo API: `https://api.coingecko.com/api/v3/ping?x_cg_demo_api_key=YOUR_API_KEY`
## 3. Edit or Delete API Key
* Go to the Developer Dashboard and click the "Edit" button on a specific API Key.
* In case the API Key is compromised, you may delete the API Key by clicking the "Delete" button.
* You may also update the label and save the changes by clicking the "Save" button.
## 4. API Usage Report
* You can monitor your API usage in the Usage Report section, which provides details such as:
* Total Monthly API Calls.
* Remaining Monthly API Calls.
* Rate Limit (Request Per Minute) — maximum number of API requests allowed in one minute.
* Last Used — the timestamp of the last used instance.
* You can also check your full historical usage by specifying "API Keys", "timeframe" or "date range". You may export as CSV for a more comprehensive view.
## 5. Others
### Call Consumption Alerts
You may enable or disable call consumption alerts in the tab below to receive emails when specific credit usage thresholds are reached.
### Overage Option (Beta)
* 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.
# Tutorials (Beginner-friendly)
Source: https://docs.coingecko.com/docs/tutorials-beginner-friendly
Using CoinGecko API is super easy, even if you have no programming experience!
## 🔤 No Code
* [Import Crypto Prices in Google Sheets](https://www.coingecko.com/learn/import-crypto-prices-google-sheets)
* [Import Crypto Prices in Microsoft Excel](https://www.coingecko.com/learn/import-crypto-prices-excel)
## 💻 Low Code
* [Create Portfolio Tracker in Google Sheets](https://www.coingecko.com/learn/crypto-portfolio-tracker-google-sheets)
## 👨💻 Code
* [Fetch Crypto Data Using Python](https://www.coingecko.com/learn/python-query-coingecko-api)
# Useful Links
Source: https://docs.coingecko.com/docs/useful-links
Some of the useful links to help you navigate while using the CoinGecko API
#### Pricing Page and Top FAQs
* [https://www.coingecko.com/en/api/pricing#general](https://www.coingecko.com/en/api/pricing#general)
#### CoinGecko API Status
* [https://status.coingecko.com/](https://status.coingecko.com/)
#### CoinGecko API ID List
* [Google Sheets](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU)
#### [Pro Swagger JSON (OAS)](https://docs.coingecko.com/reference/endpoint-overview)
* CoinGecko Pro API — [coingecko-pro.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/coingecko-pro.json)
* GeckoTerminal Onchain API (Pro) — [onchain-pro.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/onchain-pro.json)
#### [Public/Demo Swagger JSON (OAS)](https://docs.coingecko.com/v3.0.1/reference/endpoint-overview)
* CoinGecko Public/Demo API — [coingecko-demo.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/coingecko-demo.json)
* GeckoTerminal Onchain API (Demo) — [onchain-demo.json](https://raw.githubusercontent.com/coingecko/coingecko-api-oas/refs/heads/main/onchain-demo.json)
#### Subscribe to CoinGecko API newsletter updates
* [https://newsletter.coingecko.com/landing/api\_updates\_subscribe](https://newsletter.coingecko.com/landing/api_updates_subscribe)
#### CoinGecko Methodologies (Price, Volume, Trust Score, etc.)
* [https://www.coingecko.com/en/methodology](https://www.coingecko.com/en/methodology)
#### Using `llms.txt` for AI use cases
* [/llms-full.txt](/llms-full.txt)
#### Attributing CoinGecko Brand
* [https://brand.coingecko.com/resources/attribution-guide](https://brand.coingecko.com/resources/attribution-guide)
# Introduction
Source: https://docs.coingecko.com/index
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 also serves **onchain DEX data** across 250+ blockchain networks, 1,800+ decentralized exchanges (DEXes), and 30M+ 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, exchanges, real-world assets, and treasuries**.
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, Neobanks
* Backtesting Trading Strategy
* Accounting, Tax, Audit, HR Payroll
* Research & Analysis: Media, Institution, Academic, VC, Financial
* Oracles, Bots, Payments, E-commerce
* Blockchain/Onchain Security Platforms, DEX & Liquidity Aggregators
* RWA (Real-World Assets), Tokenized Platforms, Crypto Treasuries
🔥 New: [WebSocket API](https://docs.coingecko.com/websocket)
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data. \
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.
Start by creating your CoinGecko API key
Bring CoinGecko data to your AI apps
# 💼 API Usage
Source: https://docs.coingecko.com/reference/api-usage
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
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).
# Asset Platforms List (ID Map)
Source: https://docs.coingecko.com/reference/asset-platforms-list
api-reference/coingecko-pro.json get /asset_platforms
This endpoint allows you to **query all the asset platforms on CoinGecko**
### Tips
* You may use this endpoint to query the list of asset platforms for other endpoints that contain params like `id` or `ids` (asset platforms).
* You may include NFT at the `filter` params to get the list of NFT-supported asset platforms on CoinGecko.
### Note
* Cache / Update Frequency: every 60 seconds for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Authentication (Pro API)
Source: https://docs.coingecko.com/reference/authentication
Authentication method for CoinGecko Pro API (Paid plan subscribers with Pro-API keys)
### Note
* 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.
## CoinGecko API Authentication Method
If this is your first time using the Pro API key, you can supply the API key to the root URL using one of these ways:
1. Header (Recommended): `x-cg-pro-api-key`
2. Query String Parameter: `x_cg_pro_api_key`
| Authentication Method | Example using [Ping](/reference/ping-server) Endpoint |
| ---------------------- | --------------------------------------------------------------------------------------------- |
| Header (cURL) | `curl -X GET "https://pro-api.coingecko.com/api/v3/ping" -H "x-cg-pro-api-key: YOUR_API_KEY"` |
| Query String Parameter | `https://pro-api.coingecko.com/api/v3/ping?x_cg_pro_api_key=YOUR_API_KEY` |
## 🔥 Accessing Onchain DEX data
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
* Authentication method for onchain endpoints is exactly the same as other endpoints.
* When using the CG Pro API to access onchain DEX data, include the `/onchain` endpoint path in the request.
| Authentication Method | Example using [Simple Token Price](/reference/onchain-simple-price) Endpoint |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Header (cURL) | `curl -X GET "https://pro-api.coingecko.com/api/v3/onchain/simple/networks/eth/token_price/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" -H "x-cg-pro-api-key: YOUR_API_KEY"` |
| Query String Parameter | `https://pro-api.coingecko.com/api/v3/onchain/simple/networks/eth/token_price/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2?x_cg_pro_api_key=YOUR_API_KEY` |
## API Key Usage Credits
* 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](/reference/setting-up-your-api-key#4-api-usage-report)
# 💼 Categories List
Source: https://docs.coingecko.com/reference/categories-list
api-reference/onchain-pro.json get /categories
This endpoint allows you to **query all the supported categories on GeckoTerminal**
### Tips
* You can retrieve pools or tokens of a specific category with this endpoint: [Pools by Category ID](/reference/pools-category).
* GeckoTerminal categories are different from [CoinGecko categories](/reference/coins-categories-list).
### Note
* This endpoint returns 50 categories per page.
* GeckoTerminal Equivalent Page: [https://www.geckoterminal.com/category](https://www.geckoterminal.com/category)
* Cache / Update Frequency: every 60 seconds.
* Exclusive for all Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
# Coins Categories List with Market Data
Source: https://docs.coingecko.com/reference/coins-categories
api-reference/coingecko-pro.json get /coins/categories
This endpoint allows you to **query all the coins categories with market data (market cap, volume, ...) on CoinGecko**
### Note
* CoinGecko Equivalent Page: [https://www.coingecko.com/en/categories](https://www.coingecko.com/en/categories).
* Cache / Update Frequency: every 5 minutes for all the API plans.
* CoinGecko categories are different from [GeckoTerminal categories](/reference/categories-list).
# Coins Categories List (ID Map)
Source: https://docs.coingecko.com/reference/coins-categories-list
api-reference/coingecko-pro.json get /coins/categories/list
This endpoint allows you to **query all the coins categories on CoinGecko**
### Tips
* You may use this endpoint to query the list of categories for other endpoints that contain params like `category`.
### Note
* CoinGecko Equivalent Page: [https://www.coingecko.com/en/categories](https://www.coingecko.com/en/categories).
* Cache / Update Frequency: every 5 minutes for all the API plans.
* CoinGecko categories are different from [GeckoTerminal categories](/reference/categories-list).
# Coin Data by Token Address
Source: https://docs.coingecko.com/reference/coins-contract-address
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**
### Notice
* 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](/changelog#upcoming-change-notice%3A-removal-of-twitter-followers-data) for more details.
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint (`include_platform=true`).
### Note
* Coin descriptions may include newline characters represented as `\r\n` (escape sequences), which may require processing for proper formatting.
* Cache / Update Frequency: every 60 seconds for all the API plans.
# Coin Data by ID
Source: https://docs.coingecko.com/reference/coins-id
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**
### Tips
* You may obtain the coin `id` (API ID) via several ways:
* Refer to respective coin page and find "API ID".
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You may also flag to include more data such as tickers, market data, community data, developer data and sparkline.
* You may refer to `last_updated` in the endpoint response to check whether the price is stale.
### Note
* Tickers are limited to 100 items, to get more tickers, please go to [/coins//tickers](/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 a weekly basis (Reddit & Twitter community data are no longer supported).
# 👑 Circulating Supply Chart by ID
Source: https://docs.coingecko.com/reference/coins-id-circulating-supply-chart
api-reference/coingecko-pro.json get /coins/{id}/circulating_supply_chart
This endpoint allows you to **query historical circulating supply of a coin by number of days away from now based on the provided coin ID**
### Note
* You may leave the interval params empty for automatic granularity:
* 1 day from now = **5-minutely** data
* 2 - 90 days from now = **hourly** data
* 91 days & above from now = **daily** data (00:00 UTC)
* Data Availability: from 22 June 2019.
* Cache / Update Frequency: 5 minutes.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35).
* Exclusive for Enterprise Plan Subscribers only.
# 👑 Circulating Supply Chart within Time Range by ID
Source: https://docs.coingecko.com/reference/coins-id-circulating-supply-chart-range
api-reference/coingecko-pro.json get /coins/{id}/circulating_supply_chart/range
This endpoint allows you to **query historical circulating supply of a coin, within a range of timestamps based on the provided coin ID**
### Tips
* Supports ISO date strings (`YYYY-MM-DD` or\
`YYYY-MM-DDTHH:MM`, recommended for best compatibility) or UNIX timestamps.
### Note
* You may leave the interval params empty for automatic granularity:
* date range is 1 day from now = **5-minutely** data
* date range is within 2 - 90 days from now = **hourly** data
* date range is 91 days & above from now = **daily** data (00:00 UTC)
* Data Availability: from 22 June 2019.
* Cache / Update Frequency: 5 minutes.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35).
* Exclusive for Enterprise Plan Subscribers only.
# Coin Historical Data by ID
Source: https://docs.coingecko.com/reference/coins-id-history
api-reference/coingecko-pro.json get /coins/{id}/history
This endpoint allows you to **query the historical data (price, market cap, 24hr volume, ...) at a given date for a coin based on a particular coin ID**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### 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).
# Coin Historical Chart Data by ID
Source: https://docs.coingecko.com/reference/coins-id-market-chart
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**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer 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.
### Note
* You may leave the interval params 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)
* You may bypass the interval auto-granularity, by specifying the `interval` parameter:
* `interval=daily`: daily historical data.
* `interval=hourly`: hourly historical data, up to the **past 100 days**.
* `interval=5m`: 5-minutely historical data, up to the **past 10 days**. `interval=5m` is exclusive for Enterprise subscribers only.
* Cache / Update Frequency:
* Every 30 seconds for all the API plans (for last data point).
* The last completed UTC day (00:00) data is available **10 minutes after midnight** on the next UTC day (00:10).
# Coin Historical Chart Data within Time Range by ID
Source: https://docs.coingecko.com/reference/coins-id-market-chart-range
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**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* Supports ISO date strings (`YYYY-MM-DD` or\
`YYYY-MM-DDTHH:MM`, recommended for best compatibility) or UNIX timestamps.
### Note
* You may leave the interval params 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)
* You may bypass the interval auto-granularity, by specifying the `interval` parameter:
* `interval=daily`: daily historical data.
* `interval=hourly`: hourly historical data, up to **any 100 days** date range per request.
* `interval=5m`: 5-minutely historical data, up to **any 10 days** date range per request. `interval=5m` is exclusive for Enterprise subscribers only.
* Data availability:
* `interval=5m`: Available from 9 February 2018 onwards.
* `interval=hourly`: Available from 30 Jan 2018 onwards.
* Cache / Update Frequency:\
Based on days range (all the API plans)
* 1 day = 30 seconds cache
* 2 - 90 days = 30 minutes cache
* above 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.
# Coin OHLC Chart by ID
Source: https://docs.coingecko.com/reference/coins-id-ohlc
api-reference/coingecko-pro.json get /coins/{id}/ohlc
This endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* For historical chart data with better granularity, you may consider using [/coins/\{id}/market\_chart](/reference/coins-id-market-chart) endpoint.
### Note
* 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).
* Exclusive **daily** and **hourly** candle interval parameter for all paid plan subscribers (`interval=daily`, `interval=hourly`)
* '**daily**' interval is available for **1 / 7 / 14 / 30 / 90 / 180** days only.
* '**hourly**' interval is available for **1 / 7 / 14 / 30 / 90** days only.
# 💼 Coin OHLC Chart within Time Range by ID
Source: https://docs.coingecko.com/reference/coins-id-ohlc-range
api-reference/coingecko-pro.json get /coins/{id}/ohlc/range
This endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamps based on particular coin ID**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* For historical chart data with better granularity, you may consider using [/coins/\{id}/market\_chart](/reference/coins-id-market-chart) endpoint.
* Supports ISO date strings (`YYYY-MM-DD` or\
`YYYY-MM-DDTHH:MM`, recommended for best compatibility) or UNIX timestamps.
### Note
* The timestamp displayed in the payload (response) indicates the end (or close) time of the OHLC data.
* Interval Options:
* Daily Interval (`interval=daily`):
* up to 180 days per request / 180 daily interval candles.
* Hourly Interval (`interval=hourly`):
* up to 31 days per request / 744 hourly interval candles.
* Data availability:
* Available from 9 February 2018 onwards (`1518147224` epoch time).
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
* Cache / Update Frequency:
* Every 15 minutes for all the API plans.
# Coin Tickers by ID
Source: https://docs.coingecko.com/reference/coins-id-tickers
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**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer 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 a 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.
### 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.
# 👑 Total Supply Chart by ID
Source: https://docs.coingecko.com/reference/coins-id-total-supply-chart
api-reference/coingecko-pro.json get /coins/{id}/total_supply_chart
This endpoint allows you to **query historical total supply of a coin by number of days away from now based on the provided coin ID**
### Note
* You may leave the interval params empty for automatic granularity:
* 1 day from now = **5-minutely** data
* 2 - 90 days from now = **hourly** data
* 91 days & above from now = **daily** data (00:00 UTC)
* Data Availability: from 22 June 2019.
* Cache / Update Frequency: 5 minutes.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35).
* Exclusive for Enterprise Plan Subscribers only.
# 👑 Total Supply Chart within Time Range by ID
Source: https://docs.coingecko.com/reference/coins-id-total-supply-chart-range
api-reference/coingecko-pro.json get /coins/{id}/total_supply_chart/range
This endpoint allows you to **query historical total supply of a coin, within a range of timestamps based on the provided coin ID**
### Tips
* Supports ISO date strings (`YYYY-MM-DD` or\
`YYYY-MM-DDTHH:MM`, recommended for best compatibility) or UNIX timestamps.
### Note
* Cache / Update Frequency: 5 minutes.
* The data is provided at daily intervals (00:00:00 UTC).
* Data Availability: from 22 June 2019.
* The last completed UTC day (00:00) is available 35 minutes after midnight on the next UTC day (00:35).
* Exclusive for Enterprise Plan Subscribers only.
# Coins List (ID Map)
Source: https://docs.coingecko.com/reference/coins-list
api-reference/coingecko-pro.json get /coins/list
This endpoint allows you to **query all the supported coins on CoinGecko with coins ID, name and symbol**
### 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).
* 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](/changelog#april-2024) endpoints.
### Note
* There is no pagination required for this endpoint.
* Cache / Update Frequency: every 5 minutes for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# 💼 Recently Added Coins
Source: https://docs.coingecko.com/reference/coins-list-new
api-reference/coingecko-pro.json get /coins/list/new
This endpoint allows you to **query the latest 200 coins that recently listed on CoinGecko**
### Note
* CoinGecko equivalent page: [https://www.coingecko.com/en/new-cryptocurrencies](https://www.coingecko.com/en/new-cryptocurrencies).
* Cache / Update Frequency: Every 30 seconds.
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
# Coins List with Market Data
Source: https://docs.coingecko.com/reference/coins-markets
api-reference/coingecko-pro.json get /coins/markets
This endpoint allows you to **query all the supported coins with price, market cap, volume and market related data**
### Tips
* You can retrieve specific coins using their unique `ids`, `names`, or `symbols` instead of returning the whole list.
* To filter results based on the coin's category, use the `category` param (refer to [`/coins/categories/list`](/reference/coins-categories-list) for available categories).
* Use the `per_page` and `page` params to manage the number of results you receive and navigate through the data.
### Note
* When multiple lookup params are provided, the following priority order is applied: `category` (highest) > `ids` > `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 a maximum of 50 symbols per request.
* Wildcard searches are not supported for lookup params (`ids`, `names`, `symbols`).
* Cache / Update Frequency: every 30 seconds for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# 💼 Top Gainers & Losers
Source: https://docs.coingecko.com/reference/coins-top-gainers-losers
api-reference/coingecko-pro.json get /coins/top_gainers_losers
This endpoint allows you to **query the top 30 coins with largest price gain and loss by a specific time duration**
### Note
* The endpoint response only includes coins with a 24-hour trading volume of at least \$50,000.
* CoinGecko equivalent page: [https://www.coingecko.com/en/crypto-gainers-losers](https://www.coingecko.com/en/crypto-gainers-losers).
* Cache / Update Frequency: Every 5 minutes.
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
# Crypto Treasury Holdings by Coin ID
Source: https://docs.coingecko.com/reference/companies-public-treasury
api-reference/coingecko-pro.json get /{entity}/public_treasury/{coin_id}
This endpoint allows you to **query public companies & governments' cryptocurrency holdings** by Coin ID
### Note
* The responses are sorted in descending order based on total holdings.
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/bitcoin](https://www.coingecko.com/en/treasuries/bitcoin).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Coin Historical Chart Data by Token Address
Source: https://docs.coingecko.com/reference/contract-address-market-chart
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**
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint (`include_platform=true`).
### Note
* You may leave the interval params 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)
* For **non-Enterprise plan subscribers** who would like to get hourly data, please leave the interval params empty for auto granularity.
* The **5-minutely** and **hourly** interval params are also exclusively available to **Enterprise plan subscribers**, bypassing auto-granularity:
* `interval=5m`: 5-minutely historical data (responses include information from the past 10 days up until now)
* `interval=hourly`: hourly historical data (responses include information from the past 100 days, up until now)
* 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.
# Coin Historical Chart Data within Time Range by Token Address
Source: https://docs.coingecko.com/reference/contract-address-market-chart-range
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**
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint (`include_platform=true`).
* Supports ISO date strings (`YYYY-MM-DD` or\
`YYYY-MM-DDTHH:MM`, recommended for best compatibility) or UNIX timestamps.
### Note
* You may leave the interval params 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)
* For **non-Enterprise plan subscribers** who would like to get hourly data, please leave the interval params empty for auto granularity.
* The **5-minutely** and **hourly** interval params are also exclusively available to **Enterprise plan subscribers**, bypassing auto-granularity:
* `interval=5m`: 5-minutely historical data (responses include information from the past 10 days, up until now)
* `interval=hourly`: hourly historical data (responses include information from the past 100 days, up until now)
* Data availability:
* `interval=5m`: Available from 9 February 2018 onwards
* `interval=hourly`: Available from 30 Jan 2018 onwards
* Cache / Update Frequency:\
Based on days range (all the API plans)
* 1 day = 30 seconds cache
* 2 - 90 days = 30 minutes cache
* above 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
# Crypto Global Market Data
Source: https://docs.coingecko.com/reference/crypto-global
api-reference/coingecko-pro.json get /global
This endpoint allows you to **query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap, etc.**
### Note
* Cache / Update Frequency: every 10 minutes for all the API plans.
# Derivatives Exchanges List with Data
Source: https://docs.coingecko.com/reference/derivatives-exchanges
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**
### 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.
### Note
* Cache / Update Frequency: every 60 seconds for all the API plans.
# Derivatives Exchange Data by ID
Source: https://docs.coingecko.com/reference/derivatives-exchanges-id
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 exchange's ID**
### 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.
### Note
* Cache / Update Frequency: every 30 seconds for all the API plans.
# Derivatives Exchanges List (ID Map)
Source: https://docs.coingecko.com/reference/derivatives-exchanges-list
api-reference/coingecko-pro.json get /derivatives/exchanges/list
This endpoint allows you to **query all the derivatives exchanges with ID and name on CoinGecko**
### Tips
* You may use this endpoint to query the list of exchanges for other endpoints that contain params like `id` (derivatives exchange's ID).
### Note
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Derivatives Tickers List
Source: https://docs.coingecko.com/reference/derivatives-tickers
api-reference/coingecko-pro.json get /derivatives
This endpoint allows you to **query all the tickers from derivatives exchanges on CoinGecko**
### Note
* Data for `open_interest` and `volume_24h` in the endpoint responses are in USD.
* Cache / Update Frequency: every 30 seconds for all the API plans.
# Supported Dexes List by Network (ID Map)
Source: https://docs.coingecko.com/reference/dexes-list
api-reference/onchain-pro.json get /networks/{network}/dexes
This endpoint allows you to **query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal**
### Tips
* You may use this endpoint to query the list of DEXs with DEX ID for other endpoints that contain params like `dex`.
* You may include values such as `page` to specify which page of responses you would like to show.
# Endpoint Overview
Source: https://docs.coingecko.com/reference/endpoint-overview
### Note
In the API reference pages, the plan-specific endpoint access will be marked as below:
* 💼 — exclusive for [Analyst Plan & above](https://www.coingecko.com/en/api/pricing) subscribers only (excluding Basic plan).
* 👑 — exclusive for [Enterprise Plan](https://www.coingecko.com/en/api/enterprise) subscribers only.
Some endpoints may have parameters or data access that are exclusive to different plan subscribers, please refer to the endpoint reference page for details.
## CoinGecko Endpoints: Coins
| Endpoint | Description |
| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [/ping](/reference/ping-server) | Check the API server status |
| 💼 [/key](/reference/api-usage) | Check account's API usage |
| [/simple/price](/reference/simple-price) | Query the prices of one or more coins by using their unique Coin API IDs |
| [/simple/token\_price/\{id}](/reference/simple-token-price) | Query the prices of one or more tokens by using their token contract addresses |
| [/simple/supported\_vs\_currencies](/reference/simple-supported-currencies) | Query all the supported currencies on CoinGecko |
| [/coins/list](/reference/coins-list) | Query all the supported coins on CoinGecko with coins ID, name and symbol |
| 💼 [/coins/top\_gainers\_losers](/reference/coins-top-gainers-losers) | Query the top 30 coins with largest price gain and loss by a specific time duration |
| 💼 [/coins/list/new](/reference/coins-list-new) | Query the latest 200 coins that recently listed on CoinGecko |
| [/coins/markets](/reference/coins-markets) | Query all the supported coins with price, market cap, volume and market related data |
| [/coins/\{id}](/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](/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](/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](/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](/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](/reference/coins-id-ohlc) | Get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID |
| 💼 [/coins/\{id}/ohlc/range](/reference/coins-id-ohlc-range) | Get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamps based on particular coin ID |
| 👑 [/coins/\{id}/circulating\_supply\_chart](/reference/coins-id-circulating-supply-chart) | Query historical circulating supply of a coin by number of days away from now based on the provided coin ID |
| 👑 [/coins/\{id}/circulating\_supply\_chart/range](/reference/coins-id-circulating-supply-chart-range) | Query historical circulating supply of a coin, within a range of timestamps based on the provided coin ID |
| 👑 [/coins/\{id}/total\_supply\_chart](/reference/coins-id-total-supply-chart) | Query historical total supply of a coin by number of days away from now based on the provided coin ID |
| 👑 [/coins/\{id}/total\_supply\_chart/range](/reference/coins-id-total-supply-chart-range) | Query historical total supply of a coin, within a range of timestamps based on the provided coin ID |
| [/coins/../contract/..](/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](/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](/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](/reference/coins-categories-list) | Query all the coins categories on CoinGecko |
| [/coins/categories](/reference/coins-categories) | Query all the coins categories with market data (market cap, volume, ...) on CoinGecko |
## CoinGecko Endpoints: NFT
| Endpoint | Description |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [/nfts/list](/reference/nfts-list) | Query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko |
| [/nfts/..](/reference/nfts-id) | Query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection ID |
| [/nfts/../contract/..](/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](/reference/nfts-markets) | Query all the supported NFT collections with floor price, market cap, volume and market related data on CoinGecko |
| 💼 [/nfts/../market\_chart](/reference/nfts-id-market-chart) | Query historical market data of an NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now |
| 💼 [/nfts/../contract/../market\_chart](/reference/nfts-contract-address-market-chart) | Query historical market data of an 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](/reference/nfts-id-tickers) | Query the latest floor price and 24hr volume of an NFT collection, on each NFT marketplace, e.g. OpenSea and LooksRare |
## CoinGecko Endpoints: Exchanges & Derivatives
| Endpoint | Description |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [/exchanges](/reference/exchanges) | Query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko |
| [/exchanges/list](/reference/exchanges-list) | Query all the exchanges with ID and name |
| [/exchanges/\{id}](/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](/reference/exchanges-id-tickers) | Query exchange's tickers based on exchange's ID |
| [/exchanges/\{id}/volume\_chart](/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](/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](/reference/derivatives-tickers) | Query all the tickers from derivatives exchanges on CoinGecko |
| [/derivatives/exchanges](/reference/derivatives-exchanges) | Query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko |
| [/derivatives/exchanges/\{id}](/reference/derivatives-exchanges-id) | Query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchange's ID |
| [/derivatives/exchanges/list](/reference/derivatives-exchanges-list) | Query all the derivatives exchanges with ID and name on CoinGecko |
## CoinGecko Endpoints: Public Treasuries
| Endpoint | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| [/entities/list](/reference/entities-list) | Query all the supported entities on CoinGecko with entity ID, name, symbol, and country |
| [/\{entity}/public\_treasury/\{coin\_id}](/reference/companies-public-treasury) | Query public companies & governments' cryptocurrency holdings by coin ID |
| [/public\_treasury/\{entity\_id}](/reference/public-treasury-entity) | Query public companies & governments' cryptocurrency holdings by entity ID |
| [/public\_treasury/\{entity\_id}/.../holding\_chart](/reference/public-treasury-entity-chart) | Query public companies & governments' cryptocurrency historical holdings by entity ID and coin ID |
| [/public\_treasury/\{entity\_id}/transaction\_history](/reference/public-treasury-transaction-history) | Query public companies & governments' cryptocurrency transaction history by entity ID |
## CoinGecko Endpoints: General
| Endpoint | Description |
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [/asset\_platforms](/reference/asset-platforms-list) | Query all the asset platforms (blockchain networks) on CoinGecko |
| [/token\_lists/\{asset\_platform\_id}/all.json](/reference/token-lists) | Get full list of tokens of a blockchain network (asset platform) that is supported by Ethereum token list standard |
| [/exchange\_rates](/reference/exchange-rates) | Query BTC exchange rates with other currencies |
| [/search](/reference/search-data) | Search for coins, categories and markets listed on CoinGecko |
| [/search/trending](/reference/trending-search) | Query trending search coins, NFTs and categories on CoinGecko in the last 24 hours |
| [/global](/reference/crypto-global) | Query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap, etc. |
| [/global/decentralized\_finance\_defi](/reference/global-DeFi) | Query cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume |
| 💼 [/global/market\_cap\_chart](/reference/global-market-cap-chart) | Query historical global market cap and volume data by number of days away from now |
| 💼 [/news](/reference/news) | Query the latest crypto news and guides on CoinGecko |
## Onchain DEX Endpoints (GeckoTerminal)
| Endpoint | Description |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [/onchain/simple/networks/../token\_price/..](/reference/onchain-simple-price) | Get token price based on the provided token contract address on a network |
| [/onchain/networks](/reference/networks-list) | Query all the supported networks on GeckoTerminal |
| [/onchain/networks/../dexes](/reference/dexes-list) | Query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal |
| [/onchain/networks/../pools/..](/reference/pool-address) | Query the specific pool based on the provided network and pool address |
| [/onchain/networks/../pools/multi/..](/reference/pools-addresses) | Query multiple pools based on the provided network and pool address |
| [/onchain/networks/trending\_pools](/reference/trending-pools-list) | Query all the trending pools across all networks on GeckoTerminal |
| [/onchain/networks/../trending\_pools](/reference/trending-pools-network) | Query the trending pools based on the provided network |
| [/onchain/networks/../pools](/reference/top-pools-network) | Query all the top pools based on the provided network |
| [/onchain/networks/../dexes/../pools](/reference/top-pools-dex) | Query all the top pools based on the provided network and decentralized exchange (DEX) |
| [/onchain/networks/new\_pools](/reference/latest-pools-list) | Query all the latest pools across all networks on GeckoTerminal |
| [/onchain/networks/../new\_pools](/reference/latest-pools-network) | Query all the latest pools based on the provided network |
| 🔥 💼 [/onchain/pools/megafilter](/reference/pools-megafilter) | Query pools based on various filters across all networks on GeckoTerminal |
| [/onchain/search/pools](/reference/search-pools) | Search for pools on a network |
| 💼 [/onchain/pools/trending\_search](/reference/trending-search-pools) | Query all the trending search pools across all networks on GeckoTerminal |
| [/onchain/networks/../tokens/../pools](/reference/top-pools-contract-address) | Query top pools based on the provided token contract address on a network |
| [/onchain/networks/../tokens/..](/reference/token-data-contract-address) | Query specific token data based on the provided token contract address on a network |
| [/onchain/networks/../tokens/multi/..](/reference/tokens-data-contract-addresses) | Query multiple tokens data based on the provided token contract addresses on a network |
| [/onchain/networks/../tokens/../info](/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](/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](/reference/tokens-info-recent-updated) | Query 100 most recently updated tokens info across all networks on GeckoTerminal |
| 💼 [/onchain/networks/../tokens/../top\_traders](/reference/top-token-traders-token-address) | Query top token traders based on the provided token contract address on a network |
| 💼 [/onchain/networks/../tokens/../top\_holders](/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](/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/..](/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/..](/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](/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](/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](/reference/categories-list) | Query all the supported categories on GeckoTerminal |
| 💼 [/onchain/categories/../pools](/reference/pools-category) | Query all the pools based on the provided category ID |
⚡️ Need Real-time Data Streams? Try [WebSocket API](https://docs.coingecko.com/websocket)
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data.
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.
# Entities List (ID Map)
Source: https://docs.coingecko.com/reference/entities-list
api-reference/coingecko-pro.json get /entities/list
This endpoint allows you to **query all the supported entities on CoinGecko with entity ID, name, symbol, and country**
### Note
* Cache / Update Frequency: every 5 minutes for all the API plans.
# BTC-to-Currency Exchange Rates
Source: https://docs.coingecko.com/reference/exchange-rates
api-reference/coingecko-pro.json get /exchange_rates
This endpoint allows you to **query BTC exchange rates with other currencies**
### Tips
* You may use this endpoint to convert the response data, which is originally in BTC, to other currencies.
### Note
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Exchanges List with Data
Source: https://docs.coingecko.com/reference/exchanges
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**
### 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.
### 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.
# Exchange Data by ID
Source: https://docs.coingecko.com/reference/exchanges-id
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**
### Notice
* 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](/changelog#may-2025) for more details.
### Note
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](/reference/exchange-rates) endpoint.
* For derivatives (e.g. `bitmex`, `binance_futures`), to get derivatives exchanges data, please go to [/derivatives/exchanges/\{id}](/reference/derivatives-exchanges-id) endpoint.
* Tickers are limited to 100 items, to get more tickers, please go to [/exchanges/\{id}/tickers](/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.
# Exchange Tickers by ID
Source: https://docs.coingecko.com/reference/exchanges-id-tickers
api-reference/coingecko-pro.json get /exchanges/{id}/tickers
This endpoint allows you to **query exchange's tickers based on exchange's ID**
### 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 Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Exchange Volume Chart by ID
Source: https://docs.coingecko.com/reference/exchanges-id-volume-chart
api-reference/coingecko-pro.json get /exchanges/{id}/volume_chart
This endpoint allows you to **query the historical volume chart data with time in UNIX and trading volume data in BTC based on exchange's ID**
### Note
* You can use this endpoint to query the historical volume chart data of **derivatives exchanges** as well.
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](/reference/exchange-rates) endpoint.
* Data granularity is automatic (cannot be adjusted):
* 1 day = 10-minutely
* 7, 14 days = hourly
* 30 days & above = daily
* Cache / Update Frequency: every 60 seconds for all the API plans.
# 💼 Exchange Volume Chart within Time Range by ID
Source: https://docs.coingecko.com/reference/exchanges-id-volume-chart-range
api-reference/coingecko-pro.json get /exchanges/{id}/volume_chart/range
This endpoint allows you to **query the historical volume chart data in BTC by specifying date range in UNIX based on exchange's ID**
### Note
* You can query the historical volume chart data of **derivatives exchanges** with this endpoint as well.
* The data interval for this endpoint is fixed at daily.
* The date range between `from` and `to` must be within 31 days.
* Cache / Update Frequency: 5 minutes
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise)
# Exchanges List (ID Map)
Source: https://docs.coingecko.com/reference/exchanges-list
api-reference/coingecko-pro.json get /exchanges/list
This endpoint allows you to **query all the exchanges with ID and name**
### 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).
### Note
* There is no pagination required for this endpoint.
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Global DeFi Market Data
Source: https://docs.coingecko.com/reference/global-defi
/reference/api-reference/coingecko-pro.json get /global/decentralized_finance_defi
This endpoint allows you **query top 100 cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume**
# 💼 Global Market Cap Chart Data
Source: https://docs.coingecko.com/reference/global-market-cap-chart
api-reference/coingecko-pro.json get /global/market_cap_chart
This endpoint allows you to **query historical global market cap and volume data by number of days away from now**
### Note
* CoinGecko equivalent page: [https://www.coingecko.com/en/global-charts](https://www.coingecko.com/en/global-charts).
* Data Granularity (auto):
* 1 day from now = **hourly** data
* 2 days & above from now = **daily** data
* 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 a request at 00:05 UTC or later.
* Cache / Update Frequency: every 1 minute.
# New Pools List
Source: https://docs.coingecko.com/reference/latest-pools-list
api-reference/onchain-pro.json get /networks/new_pools
This endpoint allows you to **query all the latest pools across all networks on GeckoTerminal**
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency: every 30 seconds.
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/explore/new-crypto-pools](https://www.geckoterminal.com/explore/new-crypto-pools)
# New Pools by Network
Source: https://docs.coingecko.com/reference/latest-pools-network
api-reference/onchain-pro.json get /networks/{network}/new_pools
This endpoint allows you to **query all the latest pools based on the provided network**
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency: every 30 seconds.
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/explore/new-crypto-pools/solana](https://www.geckoterminal.com/explore/new-crypto-pools/solana)
# Supported Networks List (ID Map)
Source: https://docs.coingecko.com/reference/networks-list
api-reference/onchain-pro.json get /networks
This endpoint allows you to **query all the supported networks on GeckoTerminal**
### Tips
* You may use this endpoint to query the list of networks with network ID for other endpoints that contain params like `network`.
* You may include values such as `page` to specify which page of responses you would like to show.
# 💼 Crypto News
Source: https://docs.coingecko.com/reference/news
api-reference/coingecko-pro.json get /news
This endpoint allows you to **query the latest crypto news and guides on CoinGecko**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* Without specifying `coin_id`, it returns all latest news as seen on [CoinGecko News](https://www.coingecko.com/en/news) (news only, no guides).
* When `coin_id` is specified, it returns both news and guides by default (`type=all`). You can use the `type` parameter to filter by news or guides only.
* `page` supports up to 20 pages, and `per_page` supports up to 20 results per page.
* You can retrieve up to the latest 400 news articles in total.
* CoinGecko equivalent page: [https://www.coingecko.com/en/news](https://www.coingecko.com/en/news).
### Note
* Cache / Update Frequency: every 1 minute.
* Exclusive for Analyst, Lite, Pro and Enterprise plan subscribers.
# NFTs Collection Data by Contract Address
Source: https://docs.coingecko.com/reference/nfts-contract-address
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**
### Tips
* You may also obtain the asset platform ID and contract address through [/nfts/list](/reference/nfts-list) endpoint.
### Note
* Solana NFT & Art Blocks are not supported for this endpoint, please use [/nfts/\{id}](/reference/nfts-id) endpoint instead.
* Cache / Update Frequency: every 60 seconds for all the API plans.
# 💼 NFTs Collection Historical Chart Data by Contract Address
Source: https://docs.coingecko.com/reference/nfts-contract-address-market-chart
api-reference/coingecko-pro.json get /nfts/{asset_platform_id}/contract/{contract_address}/market_chart
This endpoint allows you to **query historical market data of an NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now based on the provided contract address**
### Note
* This endpoint doesn't support Solana NFT and Art Blocks, please use [/nfts/\{id}/market\_chart](/reference/nfts-id-market-chart) endpoint instead.
* 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).
# NFTs Collection Data by ID
Source: https://docs.coingecko.com/reference/nfts-id
api-reference/coingecko-pro.json get /nfts/{id}
This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection ID**
### Note
* Cache / Update Frequency: every 60 seconds for all the API plans.
# 💼 NFTs Collection Historical Chart Data by ID
Source: https://docs.coingecko.com/reference/nfts-id-market-chart
api-reference/coingecko-pro.json get /nfts/{id}/market_chart
This endpoint allows you to **query historical market data of an NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now**
### 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).
# 💼 NFTs Collection Tickers by ID
Source: https://docs.coingecko.com/reference/nfts-id-tickers
api-reference/coingecko-pro.json get /nfts/{id}/tickers
This endpoint allows you to **query the latest floor price and 24hr volume of an NFT collection, on each NFT marketplace, e.g. OpenSea and LooksRare**
### Note
* Cache / Update Frequency: every 30 seconds.
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
# NFTs List (ID Map)
Source: https://docs.coingecko.com/reference/nfts-list
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**
### 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.
### Note
* The responses are paginated to 100 items.
* Cache / Update Frequency: every 5 minutes for all the API plans.
# 💼 NFTs List with Market Data
Source: https://docs.coingecko.com/reference/nfts-markets
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**
### 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.
### Note
* Cache / Update Frequency: every 5 minutes.
* Exclusive for Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
* CoinGecko equivalent page: [https://www.coingecko.com/en/nft](https://www.coingecko.com/en/nft).
* Some collections 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 prioritize Market Cap value of liquid NFT collections, followed by trading volume of illiquid NFT collections.
# Token Price by Token Addresses
Source: https://docs.coingecko.com/reference/onchain-simple-price
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
* 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 on [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}`](/reference/pool-address) endpoint by providing a specific pool address.
* If `include_inactive_source=true` is set and no top pool is found for a token, the search will expand to include recently active pools up to the past 1 year.
* Cache / Update Frequency: Real-time (Cacheless) for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Check API server status
Source: https://docs.coingecko.com/reference/ping-server
api-reference/coingecko-pro.json get /ping
This endpoint allows you to **check the API server status**
### Note
* You can also go to [status.coingecko.com](https://status.coingecko.com/) to check the API server status and further maintenance notices.
# Specific Pool Data by Pool Address
Source: https://docs.coingecko.com/reference/pool-address
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
* 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).
* 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 networks.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* `locked_liquidity_percentage` will be updated on a 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 (Basic, Analyst, Lite, Pro, Enterprise).
# Pool OHLCV chart by Pool Address
Source: https://docs.coingecko.com/reference/pool-ohlcv-contract-address
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**
### 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).
### 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.
* 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 (Basic, Analyst, Lite, Pro, Enterprise).
# Pool Tokens Info by Pool Address
Source: https://docs.coingecko.com/reference/pool-token-info-contract-address
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**
### Tips
* If you would like to query pool data such as price, transactions, volume, etc., you can go to this endpoint [`/networks/{network}/pools/{address}`](/reference/pool-address) instead.
* Learn more about [GT Score](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated) and [GT Verified](https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge).
* 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 the CoinGecko team, you may use the following endpoints:
* [Coin Data by ID](/reference/coins-id)
* [Coin Data by Token Address](/reference/coins-contract-address)
### Note
* `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.
* Cache / Update Frequency: every 60 seconds.
# Past 24 Hour Trades by Pool Address
Source: https://docs.coingecko.com/reference/pool-trades-contract-address
api-reference/onchain-pro.json get /networks/{network}/pools/{pool_address}/trades
This endpoint allows you to **query the last 300 trades in the past 24 hours based on the provided pool address**
### Note
* Cache / Update Frequency: Real-time (Cacheless) for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Multiple Pools Data by Pool Addresses
Source: https://docs.coingecko.com/reference/pools-addresses
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
* 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 networks.
* Attributes specified in the `include` params will be included under the "included" key at the top level.
* `locked_liquidity_percentage` will be updated on a 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 (Basic, Analyst, Lite, Pro, Enterprise).
# 💼 Pools by Category ID
Source: https://docs.coingecko.com/reference/pools-category
api-reference/onchain-pro.json get /categories/{category_id}/pools
This endpoint allows you to **query all the pools based on the provided category ID**
### Tips
* You can retrieve the full list of category IDs via this endpoint: [Categories List](/reference/categories-list).
* You can retrieve tokens of a specific category, by flagging `include=base_token`.
* GeckoTerminal categories are different from [CoinGecko categories](/reference/coins-categories-list).
### 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
* 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).
* GeckoTerminal equivalent page example: [https://www.geckoterminal.com/category/pump-fun](https://www.geckoterminal.com/category/pump-fun)
* Cache / Update Frequency: every 30 seconds.
* Exclusive for all Paid Plan Subscribers (Analyst, Lite, Pro and Enterprise).
# 🔥 Megafilter for Pools
Source: https://docs.coingecko.com/reference/pools-megafilter
api-reference/onchain-pro.json get /pools/megafilter
This endpoint allows you to **query pools based on various filters across all networks on GeckoTerminal**
### Tips
* Use the `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.
### 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.
* Honeypot data is not supported for Solana.
* Cache / Update Frequency: every 30 seconds.
* 💼 Exclusive for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
# Crypto Treasury Holdings by Entity ID
Source: https://docs.coingecko.com/reference/public-treasury-entity
api-reference/coingecko-pro.json get /public_treasury/{entity_id}
This endpoint allows you to **query public companies & governments' cryptocurrency holdings** by Entity ID
### Note
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/bitcoin](https://www.coingecko.com/en/treasuries/bitcoin).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Crypto Treasury Holdings Historical Chart Data by ID
Source: https://docs.coingecko.com/reference/public-treasury-entity-chart
api-reference/coingecko-pro.json get /public_treasury/{entity_id}/{coin_id}/holding_chart
This endpoint allows you to **query historical cryptocurrency holdings chart of public companies & governments** by Entity ID and Coin ID
### Tips
* You may obtain the entity ID and coin ID (API IDs) via several ways:
* For `entity_id`:
* Refer to respective public treasury entity page and find 'API ID'.
* Refer to [`/entities/list`](/reference/entities-list) endpoint.
* For `coin_id`:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### Note
* Data available from August 2020 onwards.
* Different API plans can access up to different historical periods via `days` param:
| Plan | Maximum period | `days` value availability |
| ----------------- | -------------- | ----------------------------------- |
| Public/Demo | 1 year | `7, 14, 30, 90, 180, 365` |
| Basic | 2 years | `7, 14, 30, 90, 180, 365, 730` |
| Analyst and above | Full | `7, 14, 30, 90, 180, 365, 730, max` |
* To access longer historical periods, check out [our API plans here](https://www.coingecko.com/en/api/pricing).
* For `include_empty_intervals` param:
* When `false` (default): Only intervals with transaction data are returned.
* When `true`: All requested intervals are returned, populated with the most recent available transaction data.
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/companies/strategy](https://www.coingecko.com/en/treasuries/companies/strategy).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Crypto Treasury Transaction History by Entity ID
Source: https://docs.coingecko.com/reference/public-treasury-transaction-history
api-reference/coingecko-pro.json get /public_treasury/{entity_id}/transaction_history
This endpoint allows you to **query public companies & governments' cryptocurrency transaction history** by Entity ID
### Tips
* You may obtain the entity ID via several ways:
* Refer to respective public treasury entity page and find 'API ID'.
* Refer to [`/entities/list`](/reference/entities-list) endpoint.
* `coin_ids` param allows you to filter transaction history by specific coin IDs, comma-separated if more than 1 coin. You may obtain the coin IDs via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### Note
* Data available from August 2020 onwards.
* Multi-page access (`page` > `1`) is exclusive to Analyst plan and above, check out [our API plans here](https://www.coingecko.com/en/api/pricing).
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/companies/strategy](https://www.coingecko.com/en/treasuries/companies/strategy).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Search Queries
Source: https://docs.coingecko.com/reference/search-data
api-reference/coingecko-pro.json get /search
This endpoint allows you to **search for coins, categories and markets listed on CoinGecko**
### Note
* The responses are sorted in descending order by market cap.
* Cache / Update Frequency: every 15 minutes for all the API plans.
# Search Pools & Tokens
Source: https://docs.coingecko.com/reference/search-pools
api-reference/onchain-pro.json get /search/pools
This endpoint allows you to **search for pools on a network by pool address, token name, token symbol, or token contract address**
### Tips
* You may use this endpoint to search for pools by pool contract address, token name, token symbol, or token contract address. The endpoint will return matching pools as a response.
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency: every 30 seconds.
# Coin Price by IDs, Symbols, or Names
Source: https://docs.coingecko.com/reference/simple-price
api-reference/coingecko-pro.json get /simple/price
This endpoint allows you to **query the prices of one or more coins by using their unique Coin API IDs, symbols, or names**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer 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.
### 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 a 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 (Basic, Analyst, Lite, Pro, Enterprise).
# Supported Currencies List
Source: https://docs.coingecko.com/reference/simple-supported-currencies
api-reference/coingecko-pro.json get /simple/supported_vs_currencies
This endpoint allows you to **query all the supported currencies on CoinGecko**
### Tips
* You may use this endpoint to query the list of currencies for other endpoints that contain params like `vs_currencies`.
### Note
* Cache / Update Frequency: every 60 seconds for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Coin Price by Token Addresses
Source: https://docs.coingecko.com/reference/simple-token-price
api-reference/coingecko-pro.json get /simple/token_price/{id}
This endpoint allows you to **query one or more token prices using their token contract addresses**
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint (`include_platform=true`).
* You may flag to include more data such as market cap, 24hr volume, 24hr change, last updated time, etc.
### 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 (Basic, Analyst, Lite, Pro, Enterprise).
# Token Data by Token Address
Source: https://docs.coingecko.com/reference/token-data-contract-address
api-reference/onchain-pro.json get /networks/{network}/tokens/{address}
This endpoint allows you to **query specific token data based on the provided token contract address on a network**
### Tips
* You may add values such as `top_pools` in the `include` param to include top pools along with the pools information.
* If you would like to query token information such as socials, websites, description, etc., you can go to this endpoint [`/networks/{network}/tokens/{address}/info`](/reference/token-info-contract-address) instead.
* 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.
### Note
* Addresses not found in GeckoTerminal will be ignored.
* The endpoint will only return the 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`).
* `total_reserve_in_usd` represents the total reserve of the requested token only across all its pools, not the combined reserve of both tokens in a pair.
* 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 networks.
* Cache / Update Frequency: every 10 seconds for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# 💼 Historical Token Holders Chart by Token Address
Source: https://docs.coingecko.com/reference/token-holders-chart-token-address
api-reference/onchain-pro.json get /networks/{network}/tokens/{token_address}/holders_chart
This endpoint allows you to **get the historical token holders chart based on the provided token contract address on a network**
### Note
* The historical token holders chart 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.
* `days` param provides the following automatic granularity:
* `days=7` = **all data** (without fixed intervals)
* `days=30` = **daily data** (30 daily intervals)
* `days=max` = **weekly data**
* 💼 Exclusive for Paid Plan subscribers (Analyst plan or above).
* Cache / Update Frequency: every 60 seconds.
# Token Info by Token Address
Source: https://docs.coingecko.com/reference/token-info-contract-address
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**
### Tips
* If you would like to query token data such as decimals, total supply, price, etc., you can go to this endpoint [`/networks/{network}/tokens/{address}`](/reference/token-data-contract-address) instead.
* Learn more about [GT Score](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated) and [GT Verified](https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge).
* 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 the CoinGecko team, you may use the following endpoints:
* [Coin Data by ID](/reference/coins-id)
* [Coin Data by Token Address](/reference/coins-contract-address)
### Note
* `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` is calculated based on the token's total supply and includes all wallet types (CEX wallets, treasury/issuer wallets, etc.). Coverage includes:
* 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.
* Cache / Update Frequency: every 60 seconds.
# Token Lists by Asset Platform ID
Source: https://docs.coingecko.com/reference/token-lists
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
* Cache / Update Frequency: every 5 minutes.
* A token will only be included in the list if the contract address is added by the CoinGecko team. If you identify any missing token, you may submit a request [here](https://support.coingecko.com/hc/en-us/requests/new).
# 💼 Token OHLCV chart by Token Address
Source: https://docs.coingecko.com/reference/token-ohlcv-token-address
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
* 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](/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.
* 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 (Basic, Analyst, Lite, Pro, Enterprise).
# 💼 Past 24 Hour Trades by Token Address
Source: https://docs.coingecko.com/reference/token-trades-contract-address
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
* Exclusive for all [Paid Plan](https://www.coingecko.com/en/api/pricing) Subscribers (Analyst, Lite, Pro and Enterprise).
* Cache / Update Frequency: Real-time (Cacheless) for Pro API (Analyst, Lite, Pro, Enterprise).
# Tokens Data by Token Addresses
Source: https://docs.coingecko.com/reference/tokens-data-contract-addresses
api-reference/onchain-pro.json get /networks/{network}/tokens/multi/{addresses}
This endpoint allows you to **query multiple tokens data based on the provided token contract addresses on a network**
### Tips
* You may add values such as `top_pools` in the `include` param to include top pools along with the pools information.
* If you would like to query token information such as socials, websites, description, etc., you can go to this endpoint [`/networks/{network}/tokens/{address}/info`](/reference/token-info-contract-address) instead.
* 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.
### Note
* Addresses not found in GeckoTerminal 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 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`).
* `total_reserve_in_usd` represents the total reserve of the requested token only across all its pools, not the combined reserve of both tokens in a pair.
* 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 networks.
* Cache / Update Frequency: every 10 seconds for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Most Recently Updated Tokens List
Source: https://docs.coingecko.com/reference/tokens-info-recent-updated
api-reference/onchain-pro.json get /tokens/info_recently_updated
This endpoint allows you to **query 100 most recently updated tokens info of a specific network or across all networks on GeckoTerminal**
### Tips
* You may add values such as `network` in the `include` param to include network along with the updated tokens list.
### Note
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Cache / Update Frequency: every 30 seconds.
# Top Pools by Token Address
Source: https://docs.coingecko.com/reference/top-pools-contract-address
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**
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency: every 30 seconds.
# Top Pools by Dex
Source: https://docs.coingecko.com/reference/top-pools-dex
api-reference/onchain-pro.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)**
### 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](/reference/pools-megafilter) endpoint.
### 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).
* Cache / Update Frequency: every 30 seconds.
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/base/uniswap-v3-base/pools?sort=-24h\_transactions](https://www.geckoterminal.com/base/uniswap-v3-base/pools?sort=-24h_transactions)
# Top Pools by Network
Source: https://docs.coingecko.com/reference/top-pools-network
api-reference/onchain-pro.json get /networks/{network}/pools
This endpoint allows you to **query all the top pools based on the provided network**
### 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](/reference/pools-megafilter) endpoint.
### 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).
* Cache / Update Frequency: every 30 seconds.
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/solana/pools?sort=-24h\_transactions](https://www.geckoterminal.com/solana/pools?sort=-24h_transactions)
# 💼 Top Token Holders by Token Address
Source: https://docs.coingecko.com/reference/top-token-holders-token-address
api-reference/onchain-pro.json get /networks/{network}/tokens/{address}/top_holders
This endpoint allows you to **query top token holders based on the provided token contract address on a network**
### Note
* The top 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.
* Max `holders` value:
* Maximum 50 for non-Solana networks, 40 for Solana network.
* 💼 Exclusive for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* Cache / Update Frequency: every 60 seconds.
# 💼 Top Token Traders by Token Address
Source: https://docs.coingecko.com/reference/top-token-traders-token-address
api-reference/onchain-pro.json get /networks/{network_id}/tokens/{token_address}/top_traders
This endpoint allows you to **query top token traders based on the provided token contract address on a network**
### Note
* The top traders data is currently in **Beta**, with ongoing improvements to data quality, coverage, and update frequency.
* Only tokens created after 1st September 2023 are supported for top traders data.
* Stablecoins and wrapped native tokens (e.g. wSOL, wETH) are not supported for this endpoint.
* You may specify the number of top traders to retrieve using the `traders` query parameter with a maximum value of 50.
* 💼 Exclusive for [Paid Plan](https://www.coingecko.com/en/api/pricing) subscribers (Analyst plan or above).
* Cache / Update Frequency: every 60 seconds.
# Trending Pools List
Source: https://docs.coingecko.com/reference/trending-pools-list
api-reference/onchain-pro.json get /networks/trending_pools
This endpoint allows you to **query all the trending pools across all networks on GeckoTerminal**
### 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](/reference/pools-megafilter) endpoint.
### 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
* 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).
* Cache / Update Frequency: every 30 seconds.
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com](https://www.geckoterminal.com)
# Trending Pools by Network
Source: https://docs.coingecko.com/reference/trending-pools-network
api-reference/onchain-pro.json get /networks/{network}/trending_pools
This endpoint allows you to **query the trending pools based on the provided network**
### 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](/reference/pools-megafilter) endpoint.
### 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
* 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).
* Cache / Update Frequency: every 30 seconds.
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/base/pools](https://www.geckoterminal.com/base/pools)
# Trending Search List
Source: https://docs.coingecko.com/reference/trending-search
api-reference/coingecko-pro.json get /search/trending
This endpoint allows you to **query trending search coins, NFTs and categories on CoinGecko in the last 24 hours**
### 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.
# 💼 Trending Search Pools
Source: https://docs.coingecko.com/reference/trending-search-pools
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
* 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).
# Asset Platforms List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/asset-platforms-list
api-reference/coingecko-demo.json get /asset_platforms
This endpoint allows you to **query all the asset platforms on CoinGecko**
### Tips
* You may use this endpoint to query the list of asset platforms for other endpoints that contain params like `id` or `ids` (asset platforms).
* You may include NFT at the `filter` params to get the list of NFT-supported asset platforms on CoinGecko.
### Note
* Cache / Update Frequency: every 5 minutes for Public API.
# Authentication (Public/Demo)
Source: https://docs.coingecko.com/v3.0.1/reference/authentication
Authentication method for CoinGecko Public API (Demo plan users)
### Note
* 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](/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.
## CoinGecko API Authentication Method
If this is your first time using the Demo API key, you can supply the API key to the root URL using one of these ways:
1. Header (Recommended): `x-cg-demo-api-key`
2. Query String Parameter: `x_cg_demo_api_key`
| Authentication Method | Example using [Ping](/v3.0.1/reference/ping-server) Endpoint |
| ---------------------- | ------------------------------------------------------------------------------------------ |
| Header (cURL) | `curl -X GET "https://api.coingecko.com/api/v3/ping" -H "x-cg-demo-api-key: YOUR_API_KEY"` |
| Query String Parameter | `https://api.coingecko.com/api/v3/ping?x_cg_demo_api_key=YOUR_API_KEY` |
## API Key Usage Credits
* 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](/v3.0.1/reference/setting-up-your-api-key#4-api-usage-report).
# Coins Categories List with Market Data
Source: https://docs.coingecko.com/v3.0.1/reference/coins-categories
api-reference/coingecko-demo.json get /coins/categories
This endpoint allows you to **query all the coins categories with market data (market cap, volume, ...) on CoinGecko**
### Note
* CoinGecko Equivalent Page: [https://www.coingecko.com/en/categories](https://www.coingecko.com/en/categories)
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Coins Categories List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/coins-categories-list
api-reference/coingecko-demo.json get /coins/categories/list
This endpoint allows you to **query all the coins categories on CoinGecko**
### Tips
* You may use this endpoint to query the list of categories for other endpoints that contain params like `category`.
### Note
* CoinGecko Equivalent Page: [https://www.coingecko.com/en/categories](https://www.coingecko.com/en/categories)
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Coin Data by Token Address
Source: https://docs.coingecko.com/v3.0.1/reference/coins-contract-address
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**
### Notice
* 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](/changelog#upcoming-change-notice%3A-removal-of-twitter-followers-data) for more details.
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint (`include_platform=true`).
### Note
* Coin descriptions may include newline characters represented as `\r\n` (escape sequences), which may require processing for proper formatting.
* Cache / Update Frequency: every 60 seconds for all the API plans.
# Coin Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/coins-id
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**
### Tips
* You may obtain the coin `id` (API ID) via several ways:
* Refer to respective coin page and find "API ID".
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* You may also flag to include more data such as tickers, market data, community data, developer data and sparkline.
* You may refer to `last_updated` in the endpoint response to check whether the price is stale.
### Note
* Tickers are limited to 100 items, to get more tickers, please go to [/coins//tickers](/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 a weekly basis (Reddit & Twitter community data are no longer supported).
# Coin Historical Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/coins-id-history
api-reference/coingecko-demo.json get /coins/{id}/history
This endpoint allows you to **query the historical data (price, market cap, 24hr volume, ...) at a given date for a coin based on a particular coin ID**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### 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.
# Coin Historical Chart Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart
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**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer 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.
### Note
* You may leave the interval params 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)
* You may bypass the interval auto-granularity, by specifying the `interval` parameter:
* `interval=daily`: daily historical data.
* `interval=hourly`: hourly historical data, up to the **past 100 days**.
* `interval=5m`: 5-minutely historical data, up to the **past 10 days**. `interval=5m` is exclusive for Enterprise subscribers only.
* 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.
# Coin Historical Chart Data within Time Range by ID
Source: https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart-range
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**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### Note
* You may leave the interval params 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)
* You may bypass the interval auto-granularity, by specifying the `interval` parameter:
* `interval=daily`: daily historical data.
* `interval=hourly`: hourly historical data, up to **any 100 days** date range per request.
* `interval=5m`: 5-minutely historical data, up to **any 10 days** date range per request. `interval=5m` is exclusive for Enterprise subscribers only.
* Cache / Update Frequency:\
Based on days range (all the API plans)
* 1 day = 30 seconds cache
* 2 - 90 days = 30 minutes cache
* above 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.
# Coin OHLC Chart by ID
Source: https://docs.coingecko.com/v3.0.1/reference/coins-id-ohlc
api-reference/coingecko-demo.json get /coins/{id}/ohlc
This endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
* For historical chart data with better granularity, you may consider using [/coins/\{id}/market\_chart](/v3.0.1/reference/coins-id-market-chart) endpoint.
### Note
* 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.
# Coin Tickers by ID
Source: https://docs.coingecko.com/v3.0.1/reference/coins-id-tickers
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**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer 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 a 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.
### 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.
# Coins List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/coins-list
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**
### 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).
### 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 (Basic, Analyst, Lite, Pro, Enterprise).
# Coins List with Market Data
Source: https://docs.coingecko.com/v3.0.1/reference/coins-markets
api-reference/coingecko-demo.json get /coins/markets
This endpoint allows you to **query all the supported coins with price, market cap, volume and market related data**
### Tips
* You can retrieve specific coins using their unique `ids`, `names`, or `symbols` instead of returning the whole list.
* To filter results based on the coin's category, use the `category` param (refer to [`/coins/categories/list`](/v3.0.1/reference/coins-categories-list) for available categories).
* Use the `per_page` and `page` params to manage the number of results you receive and navigate through the data.
### Note
* When multiple lookup params are provided, the following priority order is applied: `category` (highest) > `ids` > `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 a 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 30 seconds for Pro API (Basic, Analyst, Lite, Pro, Enterprise).
# Crypto Treasury Holdings by Coin ID
Source: https://docs.coingecko.com/v3.0.1/reference/companies-public-treasury
api-reference/coingecko-demo.json get /{entity}/public_treasury/{coin_id}
This endpoint allows you to **query public companies & governments' cryptocurrency holdings** by Coin ID
### Note
* The responses are sorted in descending order based on total holdings.
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/bitcoin](https://www.coingecko.com/en/treasuries/bitcoin).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Coin Historical Chart Data by Token Address
Source: https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart
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**
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint (`include_platform=true`).
### Note
* You may leave the interval params 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.
# Coin Historical Chart Data within Time Range by Token Address
Source: https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart-range
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**
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint (`include_platform=true`).
### Note
* You may leave the interval params 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
* above 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.
# Crypto Global Market Data
Source: https://docs.coingecko.com/v3.0.1/reference/crypto-global
api-reference/coingecko-demo.json get /global
This endpoint allows you to **query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap, etc.**
### Note
* Cache / Update Frequency: every 10 minutes for all the API plans.
# Derivatives Exchanges List with Data
Source: https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges
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**
### 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.
### Note
* Cache / Update Frequency: every 60 seconds for all the API plans.
# Derivatives Exchange Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-id
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 exchange's ID**
### 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.
### Note
* Cache / Update Frequency: every 30 seconds for all the API plans.
# Derivatives Exchanges List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-list
api-reference/coingecko-demo.json get /derivatives/exchanges/list
This endpoint allows you to **query all the derivatives exchanges with ID and name on CoinGecko**
### Tips
* You may use this endpoint to query the list of exchanges for other endpoints that contain params like `id` (derivatives exchange's ID).
### Note
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Derivatives Tickers List
Source: https://docs.coingecko.com/v3.0.1/reference/derivatives-tickers
api-reference/coingecko-demo.json get /derivatives
This endpoint allows you to **query all the tickers from derivatives exchanges on CoinGecko**
### Note
* Data for `open_interest` and `volume_24h` in the endpoint responses are in USD.
* Cache / Update Frequency: every 30 seconds for all the API plans.
# Supported Dexes List by Network (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/dexes-list
api-reference/onchain-demo.json get /networks/{network}/dexes
This endpoint allows you to **query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal**
### Tips
* You may use this endpoint to query the list of DEXs with DEX ID for other endpoints that contain params like `dex`.
* You may include values such as `page` to specify which page of responses you would like to show.
# Endpoint Overview
Source: https://docs.coingecko.com/v3.0.1/reference/endpoint-overview
### Note
Any exclusive endpoints for Pro-API users (any paid plan subscribers) will not be included here.
For a full list of endpoints, please visit [Pro API Documentation](/reference/endpoint-overview) instead.
## CoinGecko Endpoints: Coins
| Endpoint | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [/ping](/v3.0.1/reference/ping-server) | Check the API server status |
| [/simple/price](/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}](/v3.0.1/reference/simple-token-price) | Query the prices of one or more tokens by using their token contract addresses |
| [/simple/supported\_vs\_currencies](/v3.0.1/reference/simple-supported-currencies) | Query all the supported currencies on CoinGecko |
| [/coins/list](/v3.0.1/reference/coins-list) | Query all the supported coins on CoinGecko with coins ID, name and symbol |
| [/coins/markets](/v3.0.1/reference/coins-markets) | Query all the supported coins with price, market cap, volume and market related data |
| [/coins/\{id}](/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](/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](/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](/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](/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](/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/..](/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](/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](/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](/v3.0.1/reference/coins-categories-list) | Query all the coins categories on CoinGecko |
| [/coins/categories](/v3.0.1/reference/coins-categories) | Query all the coins categories with market data (market cap, volume, ...) on CoinGecko |
## CoinGecko Endpoints: NFT
| Endpoint | Description |
| --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| [/nfts/list](/v3.0.1/reference/nfts-list) | Query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko |
| [/nfts/..](/v3.0.1/reference/nfts-id) | Query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection ID |
| [/nfts/../contract/..](/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 |
## CoinGecko Endpoints: Exchanges & Derivatives
| Endpoint | Description |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [/exchanges](/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](/v3.0.1/reference/exchanges-list) | Query all the exchanges with ID and name |
| [/exchanges/\{id}](/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](/v3.0.1/reference/exchanges-id-tickers) | Query exchange's tickers based on exchange's ID |
| [/exchanges/\{id}/volume\_chart](/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](/v3.0.1/reference/derivatives-tickers) | Query all the tickers from derivatives exchanges on CoinGecko |
| [/derivatives/exchanges](/v3.0.1/reference/derivatives-exchanges) | Query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko |
| [/derivatives/exchanges/\{id}](/v3.0.1/reference/derivatives-exchanges-id) | Query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchange's ID |
| [/derivatives/exchanges/list](/v3.0.1/reference/derivatives-exchanges-list) | Query all the derivatives exchanges with ID and name on CoinGecko |
## CoinGecko Endpoints: Public Treasuries
| Endpoint | Description |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [/entities/list](/v3.0.1/reference/entities-list) | Query all the supported entities on CoinGecko with entity ID, name, symbol, and country |
| [/\{entity}/public\_treasury/\{coin\_id}](/v3.0.1/reference/companies-public-treasury) | Query public companies & governments' cryptocurrency holdings by coin ID |
| [/public\_treasury/\{entity\_id}](/v3.0.1/reference/public-treasury-entity) | Query public companies & governments' cryptocurrency holdings by entity ID |
| [/public\_treasury/\{entity\_id}/.../holding\_chart](/v3.0.1/reference/public-treasury-entity-chart) | Query public companies & governments' cryptocurrency historical holdings by entity ID and coin ID |
| [/public\_treasury/\{entity\_id}/transaction\_history](/v3.0.1/reference/public-treasury-transaction-history) | Query public companies & governments' cryptocurrency transaction history by entity ID |
## CoinGecko Endpoints: General
| Endpoint | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| [/asset\_platforms](/v3.0.1/reference/asset-platforms-list) | Query all the asset platforms (blockchain networks) on CoinGecko |
| [/token\_lists/\{asset\_platform\_id}/all.json](/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 |
| [/exchange\_rates](/v3.0.1/reference/exchange-rates) | Query BTC exchange rates with other currencies |
| [/search](/v3.0.1/reference/search-data) | Search for coins, categories and markets listed on CoinGecko |
| [/search/trending](/v3.0.1/reference/trending-search) | Query trending search coins, NFTs and categories on CoinGecko in the last 24 hours |
| [/global](/v3.0.1/reference/crypto-global) | Query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap, etc. |
| [/global/decentralized\_finance\_defi](/v3.0.1/reference/global-DeFi) | Query cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume |
## Onchain DEX Endpoints (GeckoTerminal)
| Endpoint | Description |
| ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [/onchain/simple/networks/../token\_price/..](/v3.0.1/reference/onchain-simple-price) | Get token price based on the provided token contract address on a network |
| [/onchain/networks](/v3.0.1/reference/networks-list) | Query all the supported networks on GeckoTerminal |
| [/onchain/networks/../dexes](/v3.0.1/reference/dexes-list) | Query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal |
| [/onchain/networks/../pools/..](/v3.0.1/reference/pool-address) | Query the specific pool based on the provided network and pool address |
| [/onchain/networks/../pools/multi/..](/v3.0.1/reference/pools-addresses) | Query multiple pools based on the provided network and pool address |
| [/onchain/networks/trending\_pools](/v3.0.1/reference/trending-pools-list) | Query all the trending pools across all networks on GeckoTerminal |
| [/onchain/networks/../trending\_pools](/v3.0.1/reference/trending-pools-network) | Query the trending pools based on the provided network |
| [/onchain/networks/../pools](/v3.0.1/reference/top-pools-network) | Query all the top pools based on the provided network |
| [/onchain/networks/../dexes/../pools](/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](/v3.0.1/reference/latest-pools-list) | Query all the latest pools across all networks on GeckoTerminal |
| [/onchain/networks/../new\_pools](/v3.0.1/reference/latest-pools-network) | Query all the latest pools based on the provided network |
| [/onchain/search/pools](/v3.0.1/reference/search-pools) | Search for pools on a network |
| [/onchain/networks/../tokens/../pools](/v3.0.1/reference/top-pools-contract-address) | Query top pools based on the provided token contract address on a network |
| [/onchain/networks/../tokens/..](/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/..](/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](/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](/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](/v3.0.1/reference/tokens-info-recent-updated) | Query 100 most recently updated tokens info across all networks on GeckoTerminal |
| [/onchain/networks/../pools/../ohlcv/..](/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](/v3.0.1/reference/pool-trades-contract-address) | Query the last 300 trades in the past 24 hours based on the provided pool address |
⚡️ Need Real-time Data Streams? Try [WebSocket API](https://docs.coingecko.com/websocket)
With WebSocket, you can now stream ultra-low latency, real-time prices, trades, and OHLCV chart data.
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.
# Entities List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/entities-list
api-reference/coingecko-demo.json get /entities/list
This endpoint allows you to **query all the supported entities on CoinGecko with entity ID, name, symbol, and country**
### Note
* Cache / Update Frequency: every 5 minutes for all the API plans.
# BTC-to-Currency Exchange Rates
Source: https://docs.coingecko.com/v3.0.1/reference/exchange-rates
api-reference/coingecko-demo.json get /exchange_rates
This endpoint allows you to **query BTC exchange rates with other currencies**
### Tips
* You may use this endpoint to convert the response data, which is originally in BTC, to other currencies.
### Note
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Exchanges List with Data
Source: https://docs.coingecko.com/v3.0.1/reference/exchanges
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**
### 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.
### 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.
# Exchange Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/exchanges-id
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**
### Notice
* 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](/changelog#may-2025) for more details.
### Note
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](/v3.0.1/reference/exchange-rates) endpoint.
* For derivatives (e.g. bitmex, binance\_futures), to get derivatives exchanges data, please go to [/derivatives/exchanges/\{id}](/v3.0.1/reference/derivatives-exchanges-id) endpoint.
* Tickers are limited to 100 items, to get more tickers, please go to [/exchanges/\{id}/tickers](/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.
# Exchange Tickers by ID
Source: https://docs.coingecko.com/v3.0.1/reference/exchanges-id-tickers
api-reference/coingecko-demo.json get /exchanges/{id}/tickers
This endpoint allows you to **query exchange's tickers based on exchange's ID**
### 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 2 minutes for Public API.
# Exchange Volume Chart by ID
Source: https://docs.coingecko.com/v3.0.1/reference/exchanges-id-volume-chart
api-reference/coingecko-demo.json get /exchanges/{id}/volume_chart
This endpoint allows you to **query the historical volume chart data with time in UNIX and trading volume data in BTC based on exchange's ID**
### Note
* You can use this endpoint to query the historical volume chart data of **derivatives exchanges** as well.
* The exchange volume in the response is provided in BTC. To convert it to other currencies, please use [/exchange\_rates](/v3.0.1/reference/exchange-rates) endpoint.
* Data granularity is automatic (cannot be adjusted):
* 1 day = 10-minutely
* 7, 14 days = hourly
* 30 days & above = daily
* Cache / Update Frequency: every 60 seconds for all the API plans.
# Exchanges List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/exchanges-list
api-reference/coingecko-demo.json get /exchanges/list
This endpoint allows you to **query all the exchanges with ID and name**
### 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).
### Note
* There is no pagination required for this endpoint.
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Global DeFi Market Data
Source: https://docs.coingecko.com/v3.0.1/reference/global-defi
/v3.0.1/reference/api-reference/coingecko-demo.json get /global/decentralized_finance_defi
This endpoint allows you **query top 100 cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume**
# New Pools List
Source: https://docs.coingecko.com/v3.0.1/reference/latest-pools-list
api-reference/onchain-demo.json get /networks/new_pools
This endpoint allows you to **query all the latest pools across all networks on GeckoTerminal**
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/explore/new-crypto-pools](https://www.geckoterminal.com/explore/new-crypto-pools)
# New Pools by Network
Source: https://docs.coingecko.com/v3.0.1/reference/latest-pools-network
api-reference/onchain-demo.json get /networks/{network}/new_pools
This endpoint allows you to **query all the latest pools based on the provided network**
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/explore/new-crypto-pools/solana](https://www.geckoterminal.com/explore/new-crypto-pools/solana)
# Supported Networks List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/networks-list
api-reference/onchain-demo.json get /networks
This endpoint allows you to **query all the supported networks on GeckoTerminal**
### Tips
* You may use this endpoint to query the list of networks with network ID for other endpoints that contain params like `network`.
* You may include values such as `page` to specify which page of responses you would like to show.
# NFTs Collection Data by Contract Address
Source: https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address
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**
### Tips
* You may also obtain the asset platform id and contract address through [/nfts/list](/v3.0.1/reference/nfts-list) endpoint.
### Note
* Solana NFT & Art Blocks are not supported for this endpoint, please use [/nfts/\{id}](/v3.0.1/reference/nfts-id) endpoint instead.
* Cache / Update Frequency: every 60 seconds for all the API plans.
# NFTs Collection Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/nfts-id
api-reference/coingecko-demo.json get /nfts/{id}
This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume, ...) based on the NFT collection ID**
### Note
* Cache / Update Frequency: every 60 seconds for all the API plans.
# NFTs List (ID Map)
Source: https://docs.coingecko.com/v3.0.1/reference/nfts-list
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**
### 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.
### Note
* The responses are paginated to 100 items.
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Token Price by Token Addresses
Source: https://docs.coingecko.com/v3.0.1/reference/onchain-simple-price
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
* 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 on [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}`](/v3.0.1/reference/pool-address) endpoint by providing a specific pool address.
* If `include_inactive_source=true` is set and no top pool is found for a token, the search will expand to include recently active pools up to the past 1 year.
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Real-time (Cacheless) for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Check API server status
Source: https://docs.coingecko.com/v3.0.1/reference/ping-server
api-reference/coingecko-demo.json get /ping
This endpoint allows you to **check the API server status**
### Note
* You can also go to [status.coingecko.com](https://status.coingecko.com/) to check the API server status and further maintenance notices.
# Specific Pool Data by Pool Address
Source: https://docs.coingecko.com/v3.0.1/reference/pool-address
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
* 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).
* 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 networks.
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* `locked_liquidity_percentage` will be updated on a 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 60 seconds for Public API.
* Every 10 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Pool OHLCV chart by Pool Address
Source: https://docs.coingecko.com/v3.0.1/reference/pool-ohlcv-contract-address
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**
### 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).
### 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.
* 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 60 seconds for Public API.
* Every 10 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Pool Tokens Info by Pool Address
Source: https://docs.coingecko.com/v3.0.1/reference/pool-token-info-contract-address
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**
### Tips
* If you would like to query pool data such as price, transactions, volume, etc., you can go to this endpoint [`/networks/{network}/pools/{address}`](/v3.0.1/reference/pool-address) instead.
* Learn more about [GT Score](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated) and [GT Verified](https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge).
* 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 the CoinGecko team, you may use the following endpoints:
* [Coin Data by ID](/v3.0.1/reference/coins-id)
* [Coin Data by Token Address](/v3.0.1/reference/coins-contract-address)
### Note
* `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.
* Cache / Update Frequency: every 60 seconds.
# Past 24 Hour Trades by Pool Address
Source: https://docs.coingecko.com/v3.0.1/reference/pool-trades-contract-address
api-reference/onchain-demo.json get /networks/{network}/pools/{pool_address}/trades
This endpoint allows you to **query the last 300 trades in the past 24 hours based on the provided pool address**
### Note
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Real-time (Cacheless) for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Multiple Pools Data by Pool Addresses
Source: https://docs.coingecko.com/v3.0.1/reference/pools-addresses
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
* 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 networks.
* Attributes specified in the `include` params will be included under the "included" key at the top level.
* `locked_liquidity_percentage` will be updated on a 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 60 seconds for Public API.
* Every 10 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Crypto Treasury Holdings by Entity ID
Source: https://docs.coingecko.com/v3.0.1/reference/public-treasury-entity
api-reference/coingecko-demo.json get /public_treasury/{entity_id}
This endpoint allows you to **query public companies & governments' cryptocurrency holdings** by Entity ID
### Note
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/bitcoin](https://www.coingecko.com/en/treasuries/bitcoin).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Crypto Treasury Holdings Historical Chart Data by ID
Source: https://docs.coingecko.com/v3.0.1/reference/public-treasury-entity-chart
api-reference/coingecko-demo.json get /public_treasury/{entity_id}/{coin_id}/holding_chart
This endpoint allows you to **query historical cryptocurrency holdings chart of public companies & governments** by Entity ID and Coin ID
### Tips
* You may obtain the entity ID and coin ID (API IDs) via several ways:
* For `entity_id`:
* Refer to respective public treasury entity page and find 'API ID'.
* Refer to [`/entities/list`](/v3.0.1/reference/entities-list) endpoint.
* For `coin_id`:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### Note
* Data available from August 2020 onwards.
* Different API plans can access up to different historical periods via `days` param:
| Plan | Maximum period | `days` value availability |
| ----------------- | -------------- | ----------------------------------- |
| Public/Demo | 1 year | `7, 14, 30, 90, 180, 365` |
| Basic | 2 years | `7, 14, 30, 90, 180, 365, 730` |
| Analyst and above | Full | `7, 14, 30, 90, 180, 365, 730, max` |
* To access longer historical periods, check out [our API plans here](https://www.coingecko.com/en/api/pricing).
* For `include_empty_intervals` param:
* When `false` (default): Only intervals with transaction data are returned.
* When `true`: All requested intervals are returned, populated with the most recent available transaction data.
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/companies/strategy](https://www.coingecko.com/en/treasuries/companies/strategy).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Crypto Treasury Transaction History by Entity ID
Source: https://docs.coingecko.com/v3.0.1/reference/public-treasury-transaction-history
api-reference/coingecko-demo.json get /public_treasury/{entity_id}/transaction_history
This endpoint allows you to **query public companies & governments' cryptocurrency transaction history** by Entity ID
### Tips
* You may obtain the entity ID via several ways:
* Refer to respective public treasury entity page and find 'API ID'.
* Refer to [`/entities/list`](/v3.0.1/reference/entities-list) endpoint.
* `coin_ids` param allows you to filter transaction history by specific coin IDs, comma-separated if more than 1 coin. You may obtain the coin IDs via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
### Note
* Data available from August 2020 onwards.
* Multi-page access (`page` > `1`) is exclusive to Analyst plan and above, check out [our API plans here](https://www.coingecko.com/en/api/pricing).
* CoinGecko equivalent page: [https://www.coingecko.com/en/treasuries/companies/strategy](https://www.coingecko.com/en/treasuries/companies/strategy).
* Cache / Update Frequency: every 5 minutes for all the API plans.
# Search Queries
Source: https://docs.coingecko.com/v3.0.1/reference/search-data
api-reference/coingecko-demo.json get /search
This endpoint allows you to **search for coins, categories and markets listed on CoinGecko**
### Note
* The responses are sorted in descending order by market cap.
* Cache / Update Frequency: every 15 minutes for all the API plans.
# Search Pools & Tokens
Source: https://docs.coingecko.com/v3.0.1/reference/search-pools
api-reference/onchain-demo.json get /search/pools
This endpoint allows you to **search for pools on a network by pool address, token name, token symbol, or token contract address**
### Tips
* You may use this endpoint to search for pools by pool contract address, token name, token symbol, or token contract address. The endpoint will return matching pools as a response.
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Coin Price by IDs, Symbols, or Names
Source: https://docs.coingecko.com/v3.0.1/reference/simple-price
api-reference/coingecko-demo.json get /simple/price
This endpoint allows you to **query the prices of one or more coins by using their unique Coin API IDs, symbols, or names**
### Tips
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint.
* Refer 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.
### 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 a 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) (Basic, Analyst, Lite, Pro, Enterprise).
# Supported Currencies List
Source: https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies
api-reference/coingecko-demo.json get /simple/supported_vs_currencies
This endpoint allows you to **query all the supported currencies on CoinGecko**
### Tips
* You may use this endpoint to query the list of currencies for other endpoints that contain params like `vs_currencies`.
### Note
* Cache / Update Frequency: every 5 minutes for Public API.
# Coin Price by Token Addresses
Source: https://docs.coingecko.com/v3.0.1/reference/simple-token-price
api-reference/coingecko-demo.json get /simple/token_price/{id}
This endpoint allows you to **query one or more token prices using their token contract addresses**
### Tips
* You may obtain the asset platform and contract address via several ways:
* Refer to respective coin page and find 'contract address'.
* Refer to [`/coins/list`](/v3.0.1/reference/coins-list) endpoint (`include_platform=true`).
* You may flag to include more data such as market cap, 24hr volume, 24hr change, last updated time, etc.
### 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) (Basic, Analyst, Lite, Pro, Enterprise).
# Token Data by Token Address
Source: https://docs.coingecko.com/v3.0.1/reference/token-data-contract-address
api-reference/onchain-demo.json get /networks/{network}/tokens/{address}
This endpoint allows you to **query specific token data based on the provided token contract address on a network**
### Tips
* You may add values such as `top_pools` in the `include` param to include top pools along with the pools information.
* If you would like to query token information such as socials, websites, description, etc., you can go to this endpoint [`/networks/{network}/tokens/{address}/info`](/v3.0.1/reference/token-info-contract-address) instead.
* 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.
### Note
* `total_reserve_in_usd` represents the total reserve of the requested token only across all its pools, not the combined reserve of both tokens in a pair.
* 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 networks.
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 10 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Token Info by Token Address
Source: https://docs.coingecko.com/v3.0.1/reference/token-info-contract-address
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**
### Tips
* If you would like to query token data such as decimals, total supply, price, etc., you can go to this endpoint [`/networks/{network}/tokens/{address}`](/v3.0.1/reference/token-data-contract-address) instead.
* Learn more about [GT Score](https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated) and [GT Verified](https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge).
* 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 the CoinGecko team, you may use the following endpoints:
* [Coin Data by ID](/v3.0.1/reference/coins-id)
* [Coin Data by Token Address](/v3.0.1/reference/coins-contract-address)
### Note
* `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` is calculated based on the token's total supply and includes all wallet types (CEX wallets, treasury/issuer wallets, etc.). Coverage includes:
* 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.
* Cache / Update Frequency: every 60 seconds.
# Token Lists by Asset Platform ID
Source: https://docs.coingecko.com/v3.0.1/reference/token-lists
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
* Cache / Update Frequency: every 5 minutes.
* A token will only be included in the list if the contract address is added by the CoinGecko team. If you identify any missing token, you may submit a request [here](https://support.coingecko.com/hc/en-us/requests/new).
# Tokens Data by Token Addresses
Source: https://docs.coingecko.com/v3.0.1/reference/tokens-data-contract-addresses
api-reference/onchain-demo.json get /networks/{network}/tokens/multi/{addresses}
This endpoint allows you to **query multiple tokens data based on the provided token contract addresses on a network**
### Tips
* You may add values such as `top_pools` in the `include` param to include top pools along with the pools information.
* If you would like to query token information such as socials, websites, description, etc., you can go to this endpoint [`/networks/{network}/tokens/{address}/info`](/v3.0.1/reference/token-info-contract-address) instead.
* 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.
### Note
* Addresses not found in GeckoTerminal will be ignored.
* This endpoint allows querying **up to 30 contract addresses** per request.
* The endpoint will only return the top most liquid pool for each token.
* `total_reserve_in_usd` represents the total reserve of the requested token only across all its pools, not the combined reserve of both tokens in a pair.
* 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 networks.
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 10 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Most Recently Updated Tokens List
Source: https://docs.coingecko.com/v3.0.1/reference/tokens-info-recent-updated
api-reference/onchain-demo.json get /tokens/info_recently_updated
This endpoint allows you to **query 100 most recently updated tokens info of a specific network or across all networks on GeckoTerminal**
### Tips
* You may add values such as `network` in the `include` param to include network along with the updated tokens list.
### Note
* Attributes specified in the `include` param will be returned under the top-level "included" key.
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Top Pools by Token Address
Source: https://docs.coingecko.com/v3.0.1/reference/top-pools-contract-address
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**
### Tips
* You may include values such as `page` to specify which page of responses you would like to show.
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
# Top Pools by Dex
Source: https://docs.coingecko.com/v3.0.1/reference/top-pools-dex
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)**
### 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)).
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/base/uniswap-v3-base/pools?sort=-24h\_transactions](https://www.geckoterminal.com/base/uniswap-v3-base/pools?sort=-24h_transactions)
# Top Pools by Network
Source: https://docs.coingecko.com/v3.0.1/reference/top-pools-network
api-reference/onchain-demo.json get /networks/{network}/pools
This endpoint allows you to **query all the top pools based on the provided network**
### 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)).
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/solana/pools?sort=-24h\_transactions](https://www.geckoterminal.com/solana/pools?sort=-24h_transactions)
# Trending Pools List
Source: https://docs.coingecko.com/v3.0.1/reference/trending-pools-list
api-reference/onchain-demo.json get /networks/trending_pools
This endpoint allows you to **query all the trending pools across all networks on GeckoTerminal**
### 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)).
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com](https://www.geckoterminal.com)
# Trending Pools by Network
Source: https://docs.coingecko.com/v3.0.1/reference/trending-pools-network
api-reference/onchain-demo.json get /networks/{network}/trending_pools
This endpoint allows you to **query the trending pools based on the provided network**
### 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)).
### 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).
* Cache / Update Frequency:
* Every 60 seconds for Public API.
* Every 30 seconds for [Pro API](https://www.coingecko.com/en/api/pricing) (Basic, Analyst, Lite, Pro, Enterprise).
* GeckoTerminal equivalent page (example): [https://www.geckoterminal.com/base/pools](https://www.geckoterminal.com/base/pools)
# Trending Search List
Source: https://docs.coingecko.com/v3.0.1/reference/trending-search
api-reference/coingecko-demo.json get /search/trending
This endpoint allows you to **query trending search coins, NFTs and categories on CoinGecko in the last 24 hours**
### 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 5 trending categories (sorted by the most popular user searches)
* Cache / Update Frequency: every 10 minutes for all the API plans.
# Webhooks
Source: https://docs.coingecko.com/webhooks
Receive real-time push notifications to your server whenever specific events or data changes occur on CoinGecko.
CoinGecko Webhooks (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 can access the Webhook features, and receive real-time push notifications using your monthly API plan credits:
* Credit charge: **10** credits per event delivery, deducting from monthly API plan credits. You are **not charged** API credits for retry attempts.
* Maximum webhook endpoints allowed: **5**.
* For **Enterprise plan** clients who wish to unlock higher limits, please contact your Customer Success Manager.
We will gradually improve the Webhooks and expand the feature limits. Please share your feedback and suggestions via this [survey form](https://forms.gle/wLTMbuMjR5XfhyS89).
CoinGecko Webhooks is provided as a supplementary delivery mechanism for real-time notifications. This feature is currently in beta and is excluded from the Service Level Agreement (SLA) applicable to the CoinGecko API Platform.
## Why Use Webhooks?
By listening to the events like `cg.coin.info.updated` , you can keep your application's database synchronized with CoinGecko in real-time, eliminating the need for cron jobs or constant API polling.
### Potential Use Cases
Instantly update your platform's UI when a token undergoes a rebrand, changes its ticker symbol, is assigned a new `category`, or updates its official logo (`image` updates).
Automatically detect when an existing project deploys on a new blockchain, or when a token migrates to a new smart contract address (`platforms` additions/removals).
Act immediately when CoinGecko adds critical alerts to a coin, such as a warning about a malicious activity or contract address migration notice (`public_notices`).
## 1. Getting Started
It currently supports 1 event type: `cg.coin.info.updated` , it will listen to changes across **all active coins** on CoinGecko.
Create a webhook via [**Developer Dashboard UI**](https://www.coingecko.com/en/developers/dashboard#webhook).
You will now receive notification events to your server, whenever there's a relevant info update for coins listed on [CoinGecko.com](http://CoinGecko.com) . Refer to sections below for payload example and more details.
*Note: For team accounts, non-owner users invited to a shared team dashboard have full access to view, edit, and delete webhooks, similar to API Keys.*
## 2. Event Types
| Event Type | Details |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| [cg.coin.info.updated](/webhooks/cg-coin-info-updated) | This event is triggered whenever there is an update to the core information of a coin |
| (more coming soon!) | Please share your use cases & suggestions via this [survey form](https://forms.gle/wLTMbuMjR5XfhyS89). |
## 3. HTTP Headers
When CoinGecko sends a Webhook event to your configured endpoint, the request will include the following standard and custom HTTP headers:
* `POST /your-endpoint-url`
* `Host: your-server.com`
* `Content-Type: application/json`
* `x-cg-timestamp`: `1776066...` *(UNIX timestamp of when the event occurred. Useful for replay attack prevention)*
* `x-cg-signature`: `7e7f6...` *(Cryptographic signature to verify the payload is genuinely from CoinGecko)*
* `x-cg-event-id`: `123...` *(Unique identifier for the webhook event)*
## 4. Security & Signature Verification
To ensure that the webhook events your server receives are genuinely originating from CoinGecko and have not been tampered with, you should verify the cryptographic signature included in the request headers.
### The Signing Secret
When you create a new webhook in the Developer Dashboard, CoinGecko automatically generates a unique **Signing Secret** (a private key starting with `whsec_`).
* **Location:** You can view, reveal, and copy your Signing Secret on the **Webhook Details** page in your dashboard.
* **Important:** Treat this signing secret like a password. Do not share it, commit it to public repositories, or expose it in client-side code. It must be kept securely on your backend server.
### Verifying the Payload (Code Examples)
Every webhook request we send will include signature headers (including `x-cg-signature`, `x-cg-timestamp`, and `x-cg-event-id`). To verify the request, you must construct a specific "signing string" and compute an HMAC SHA256 hash using your Signing Secret to compare against the signature header.
**The signing string format is:** `{timestamp}:{event_id}:{json_body}`
**Important:** The `{json_body}` portion of your string must be the **raw, unparsed request body** (exactly as it was received). If your server framework (like Express) automatically parses the JSON into an object before you verify it, the re-stringified payload might differ slightly, causing the signature verification to fail.
```javascript Node.js (Express) expandable lines wrap theme={null}
const { createHmac } = require('crypto');
const express = require('express');
const app = express();
const SIGNING_SECRET = 'whsec_your_signing_secret_here';
function verifySignature(body, headers, secret) {
if (!secret) return null;
// STRICTLY use CoinGecko specific headers
const timestamp = headers["x-cg-timestamp"];
const eventId = headers["x-cg-event-id"];
const signature = headers["x-cg-signature"];
if (!timestamp || !eventId || !signature) return null;
const signingString = `${timestamp}:${eventId}:${body}`;
const expected = createHmac("sha256", secret).update(signingString).digest("hex");
return expected === signature;
}
// Express Route Example
app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
const rawBodyString = req.body.toString('utf8');
const isValid = verifySignature(rawBodyString, req.headers, SIGNING_SECRET);
if (isValid === null) {
return res.status(400).send('Missing required CoinGecko headers');
}
if (isValid) {
console.log('✅ Webhook signature verified!');
const event = JSON.parse(rawBodyString);
// Process the event...
return res.status(200).send('Webhook received successfully');
} else {
console.error('❌ Webhook signature mismatch.');
return res.status(401).send('Invalid signature');
}
});
app.listen(3000, () => console.log('Server listening on port 3000'));
```
```python Python (Flask) expandable lines wrap theme={null}
import hmac
import hashlib
from flask import Flask, request
app = Flask(__name__)
SIGNING_SECRET = 'whsec_your_signing_secret_here'
def verify_signature(body_str, headers, secret):
if not secret:
return None
# STRICTLY use CoinGecko specific headers
timestamp = headers.get('x-cg-timestamp')
event_id = headers.get('x-cg-event-id')
signature = headers.get('x-cg-signature')
if not timestamp or not event_id or not signature:
return None
signing_string = f"{timestamp}:{event_id}:{body_str}"
expected = hmac.new(
secret.encode('utf-8'),
signing_string.encode('utf-8'),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)
@app.route('/webhook', methods=['POST'])
def webhook_handler():
raw_body_string = request.get_data(as_text=True)
is_valid = verify_signature(raw_body_string, request.headers, SIGNING_SECRET)
if is_valid is None:
return "Missing required CoinGecko headers", 400
if is_valid:
print('✅ Webhook signature verified!')
event = request.get_json()
# Process the event...
return "Webhook received successfully", 200
else:
print('❌ Webhook signature mismatch.')
return "Invalid signature", 401
if __name__ == '__main__':
app.run(port=3000)
```
## 5. Managing and Debugging Webhooks
The Developer Dashboard provides built-in tools to help you build and troubleshoot your webhook integrations.
Navigate to your **Webhook Details** page to access the following features:
### Send Test Event
Before going live, you can use the **Send Test Event** button. This will immediately dispatch a mock `cg.coin.info.updated` payload to your configured Endpoint URL. This is the best way to verify that your server is properly receiving POST requests and returning a successful `2xx` HTTP status code without waiting for a real market event to occur.
### Delivery Logs
The dashboard displays a **Logs** table showing your latest 100 webhook delivery attempts.
Use these logs to quickly identify if your endpoint is rejecting our requests, which could lead to your webhook being automatically disabled after too many retries.
## 6. Billing and Credits
Webhooks consume your monthly API credits.
* **Charge:** Credits are deducted for each payload we deliver based on your plan's credit charge per event (default is 10 credits per event). You are **not charged** API credits for retry attempts.
* **Hardcapping (Overage Disabled):** If you run out of credits and have "Overage" disabled (Hardcap enabled) in your Developer Dashboard:
* We will immediately stop delivering webhook events.
* All active Webhooks will be auto-disabled.
* You will receive an email notification indicating that delivery has stopped.
* **Note:** When credits are replenished (or overage is re-enabled), you must **manually re-activate** your webhooks in the Developer Dashboard. We do not automatically turn them back on.
### Estimating Your Webhook Costs
Each delivered webhook payload consumes **10 API credits**.
The `cg.coin.info.updated` webhook currently listens to all active coins on CoinGecko, the number of events triggered will fluctuate based on broader market activity and how frequently projects update their metadata.
To help you forecast your usage, here is our current baseline:
* **Expected Volume:** Based on historical data, our data averages up to **200 updates per day**.
* **Estimated Monthly Cost:** This translates up to 6,000 events per month, consuming approximately **60,000 API credits**.
* **Plan Recommendation:** This estimated volume fits comfortably within the monthly credit allowance of the [**Analyst Plan**](https://www.coingecko.com/en/api/pricing) and higher tiers.
*Note: These figures are approximations. Extreme market volatility or mass migrations could temporarily increase the daily event volume.*
### Best Practice: The 24-Hour Baseline Test
If you are concerned about unpredictable credit consumption, we highly recommend running a short test before committing to a long-term integration:
1. **Enable Hardcap:** Ensure your "Overage" setting is turned OFF in your Developer Dashboard. This guarantees you will not be charged unexpected overage fees if the volume spikes.
2. **Run for 24-48 Hours:** Activate your webhook and let it run for a full day or two.
3. **Check Your Logs:** Review your credit consumption in the dashboard to establish a reliable baseline based on current market conditions.
## 7. Retries and Failed Attempts
If your server fails to respond with a `2xx` success code, CoinGecko will attempt to resend the payload. **You are not charged API credits for retry attempts.** Only the initial webhook delivery attempt costs a credit.
### Retry Mechanism
We implement an exponential backoff strategy for failed deliveries:
1. **Single Event Backoff:** If a specific event delivery fails, we will retry up to **14 times across approximately 24 hours**. If the 14th retry fails, we will completely disable the specific Webhook. You will receive an email notification that the webhook endpoint has been disabled.
2. **Webhook Disablement (Hard Cap):** If your endpoint is continuously unresponsive and experiences **300 failed retries across 12 hours**, we will completely disable the specific Webhook. You will receive an email notification that the webhook endpoint has been disabled.
To resume receiving events after a webhook is disabled, you must check your server logs, resolve the rejection issue, log in to the Developer Dashboard, and manually toggle the webhook status back to **Active**.
# cg.coin.info.updated
Source: https://docs.coingecko.com/webhooks/cg-coin-info-updated
### `cg.coin.info.updated`
This event is triggered whenever there is an update to the core information of a coin.
### Potential Use Cases
Instantly update your platform's UI when a token undergoes a rebrand, changes its ticker symbol, is assigned a new `category`, or updates its official logo (`image` updates).
Automatically detect when an existing project deploys on a new blockchain, or when a token migrates to a new smart contract address (`platforms` additions/removals).
Act immediately when CoinGecko adds critical alerts to a coin, such as a warning about a malicious activity or contract address migration notice (`public_notices`).
Build automated bots that notify your community, the moment a project updates its whitepaper, GitHub repository, or official social media links.
### References based on CoinGecko coin page
## Data References
The webhook will only listen for and dispatch payloads for changes in the following data fields:
| Data Field | Description & Output Field Example |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | API ID of a coin. e.g.
The API ID serves as the primary unique identifier. It is typically immutable, except when an update is required to resolve unforeseen errors.
You can also retrieve the full coin id list via this [/coins/list endpoint](https://docs.coingecko.com/reference/coins-list-new) or visit respective coin page on [CoinGecko.com](http://CoinGecko.com) |
| `symbol` | Ticker symbol of a coin. e.g. |
| `name` | Name of a coin. e.g. |
| `web_slug` | URL Slug of a coin on [CoinGecko.com](http://CoinGecko.com). e.g.
`web_slug` can be different from `coin_id`, use `web_slug` when you want to obtain the URL of a coin page on [CoinGecko.com](http://CoinGecko.com). |
| `platforms.{asset_platform_id}` - `platforms.ethereum`
- `platforms.arbitrum-one`
| Token contract address of a coin. e.g. - `0x1f9840a85d5af5bf1d1762f925bdaddc4201f984`
- `0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0`
You can get the full list of asset platforms id via [this endpoint](https://docs.coingecko.com/reference/asset-platforms-list).
In edge cases involving changes to the `asset_platform_id` itself
(e.g., migrating from xdai to ethereum), the system will send two changes: - `removal` of the old key
- `addition` of the new key
|
| `categories` | Categories of a coin, e.g. - `Meme`
- `Artificial Intelligence`
|
| `public_notices` | Public notices of a coin, including: security breach information and contract migration announcements. e.g. - `On September 4th, 2024, Polygon's previous network token, $MATIC, was upgraded 1:1 to $POL. For more information, please refer to this post. For the new migrated token, visit POL on CoinGecko.`
|
| `additional_notices` | Additional notices of a coin: can mint new tokens, has unverified contract
|
| `links.{site}` - `homepage`
- `whitepaper`
- `official_forum_url`
- `chat_url`
- `announcement_url`
- `snapshot_url`
- `twitter_screen_name`
- `facebook_username`
- `telegram_channel_identifier`
- `subreddit_url`
- `repos_url.github`
- `repos_url.bitbucket`
| Official websites and social media sites of a coin. e.g. - [https://uniswap.org/](https://uniswap.org/)
- [https://blog.uniswap.org/uni](https://blog.uniswap.org/uni)
- [https://discord.gg/FCfyBSbCU5](https://discord.gg/FCfyBSbCU5)
- [https://uniswap.org/blog/](https://uniswap.org/blog/)
- [https://www.reddit.com/r/Uniswap](https://www.reddit.com/r/Uniswap)
- [https://github.com/Uniswap/uniswap-v3-core](https://github.com/Uniswap/uniswap-v3-core)
Note: for updates related to the 4 links below, only '`update`' event will be triggered and the payload will contain an array of multiple links. If a link is being *removed*, it will return *empty* value: - `links.homepage`
- `links.official_forum_url`
- `links.chat_url`
- `links.announcement_url`
|
| `image` | Image file name of a coin. e.g.
Instead of tracking the `image.thumb` URL in the payload,
the webhook returns the `image_file_name` (e.g., `uniswap-logo.png`). |
## Payload
Each webhook payload contains a specific event ID, timestamp, and a `data` object detailing the exact fields that changed.
### Payload Structure
* `event_type`: `cg.coin.info.updated`
* `data`:
* `id`: CoinGecko coin ID (e.g., `bitcoin`)
* `symbol`: Coin symbol (e.g., `btc`)
* `name`: Coin name (e.g., `Bitcoin`)
* `changes`: An array of objects detailing the modifications. A single payload can contain one or multiple field changes.
* `field`: The specific field that was altered.
* `change_type`: Represents the action (`addition`, `update`, or `removal`).
* `new_value`: The updated value (returns `null` if `change_type` is `removal`).
* `old_value`: The previous value (returns `null` if `change_type` is `addition`).
### Payload Example
```json theme={null}
{
"event_type": "cg.coin.info.updated",
"data": {
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
"changes": [
{
"field": "categories",
"change_type": "addition",
"old_value": null,
"new_value": "Store of Value"
},
{
"field": "links.facebook_username",
"change_type": "update",
"old_value": "bitcoins",
"new_value": "bitcoin"
},
{
"field": "platforms.ethereum",
"change_type": "removal",
"old_value": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
"new_value": null
}
]
}
}
```
# CGSimplePrice
Source: https://docs.coingecko.com/websocket/cgsimpleprice
Subscribe to receive real-time price updates for tokens, as seen on CoinGecko.com
This WebSocket channel allows you to subscribe to real-time updates of price changes for tokens.
* It will return the prices of one or more coins by using their unique Coin API IDs
* You may specify preferred exchange rate(s) using `vs_currencies` in the subscription data. Choose from [`/simple/supported_vs_currencies`](/reference/simple-supported-currencies). If not specified, data is returned in USD by default.
* You may obtain the coin ID (API ID) via several ways:
* Refer to respective coin page and find 'API ID'.
* Refer to [`/coins/list`](/reference/coins-list) endpoint.
* Refer to Google Sheets [here](https://docs.google.com/spreadsheets/d/1wTTuxXt8n9q7C4NDXqQpI3wpKu1_5bGVmP9Xz0XGSyU/edit?usp=sharing).
**Update Frequency**: as fast as \~10s, for large cap and actively traded coins.
### Data Payload
| | Field | Type | Description | Example |
| ---- | ----------------------------- | ------- | --------------------------------------------------------------------------------------------------- | ---------------------- |
| `c` | `channel_type` | string | Indicates the type of channel subscribed to. | C1 |
| `i` | `coin_id` | string | Identifier of the coin. Check full list of IDs [here](https://api.coingecko.com/api/v3/coins/list). | `ethereum`, `usd-coin` |
| `vs` | `vs_currency` | string | The target currency for price data. Defaults to `usd` if `vs_currencies` is not specified. | `usd`, `eur` |
| `p` | `price` | float | Current token price in the specified `vs_currency`. | 3639.78228844745 |
| `pp` | `price_24h_change_percentage` | float | Percentage change in token price over the last 24 hours. | 3.566 |
| `m` | `market_cap` | float | Market capitalization in the specified `vs_currency`. | 123 |
| `v` | `24h_vol` | float | 24-hour trading volume in the specified `vs_currency`. | 31233333.33 |
| `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.
***
## 1. Establish Connection to WebSocket
```bash Bash theme={null}
wss://stream.coingecko.com/v1?x_cg_pro_api_key=YOUR_KEY
OR
wss://stream.coingecko.com/v1
x-cg-pro-api-key: YOUR_KEY
```
## 2. Subscribe to a specific channel - CGSimplePrice
**Input Example:**
```json JSON theme={null}
{"command":"subscribe","identifier":"{\"channel\":\"CGSimplePrice\"}"}
```
**Output Example**:
```json JSON theme={null}
{"type":"confirm_subscription","identifier":"{\"channel\":\"CGSimplePrice\"}"}
```
## 3. Stream CGSimplePrice
**Input Example:**
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"CGSimplePrice\"}","data":"{\"coin_id\":[\"ethereum\",\"bitcoin\"],\"vs_currencies\":[\"usd\",\"eur\"],\"action\":\"set_tokens\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code": 2000,
"message": "Subscription is successful for ethereum"
}
```
**Output Example**:
```json JSON theme={null}
{
"c": "C1",
"i": "ethereum",
"vs": "usd",
"m": 312938652962.8005,
"p": 2591.080889351465,
"pp": 1.3763793110454519,
"t": 1747808150.269067,
"v": 20460612214.801384
}
```
The output keys will be in random order.
## Tips:
### Unsubscribe to stop streaming CGSimplePrice data
**Input Example:** Unsubscribe for 1 specific token data:
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"CGSimplePrice\"}","data":"{\"coin_id\":[\"ethereum\"],\"action\":\"unset_tokens\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code": 2000,
"message": "Unsubscription is successful for ethereum"
}
```
**Input Example:** Unsubscribe from CGSimplePrice channel and all token data:
```json JSON theme={null}
{"command":"unsubscribe","identifier":"{\"channel\":\"CGSimplePrice\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code": 2000,
"message": "Unsubscription is successful for all tokens"
}
```
# WebSocket
Source: https://docs.coingecko.com/websocket/index
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.
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 utilizing your monthly API plan credits:
* Max connections: 10 concurrent socket connections
* Max subscriptions: 100 token or pool data subscriptions 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 suggestions via this [survey form](https://forms.gle/gNE1Txc9FCV55s7ZA).
CoinGecko Websocket is provided as a supplementary delivery mechanism for live data streaming. This feature is currently in beta and is excluded from the Service Level Agreement (SLA) applicable to the CoinGecko API Platform.
* 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.
### Channel & Data Support
| WebSocket Channel | Channel Code | Details |
| ------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------- |
| [OnchainSimpleTokenPrice](/websocket/onchainsimpletokenprice) | G1 | Subscribe to receive real-time price updates for tokens, as seen on GeckoTerminal.com |
| [CGSimplePrice](/websocket/cgsimpleprice) | C1 | Subscribe to receive real-time price updates for tokens, as seen on CoinGecko.com |
| [OnchainTrade](/websocket/wss-onchain-trade) | G2 | Subscribe to receive real-time transaction updates for pools, as seen on GeckoTerminal.com |
| [OnchainOHLCV](/websocket/wssonchainohlcv) | G3 | Subscribe to receive real-time OHLCV (Open, High, Low, Close, Volume) for pools, as seen on GeckoTerminal.com |
| (More coming soon!) | | |
### **Notes**
* **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.
### Connection Handling
To provide you with the most reliable and efficient experience, please be aware of the following regarding our WebSocket connections:
1. **Connection Liveness (Ping/Pong Mechanism):**
* 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.
2. **Planned Disconnections (Deployments & Reboots):**
* **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.
# OnchainSimpleTokenPrice
Source: https://docs.coingecko.com/websocket/onchainsimpletokenprice
Subscribe to receive real-time price updates for tokens, as seen on GeckoTerminal.com
This WebSocket channel allows you to subscribe to real-time updates of price changes for tokens.
* Lookup by Network + Token Address
* It will return price and market data of the top pool of the specified token.
**Update Frequency**: as fast as 1s, for actively traded tokens.
### Data Payload
| | Field | Type | Description | Example |
| ---- | --------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| `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 |
| `m` | `usd_market_cap` | float | Market capitalization in USD. | 123 |
| `v` | `usd_24h_vol` | float | 24-hour trading volume in USD. | 31233333.33 |
| `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.
***
## 1. Establish Connection to WebSocket
```bash Bash theme={null}
wss://stream.coingecko.com/v1?x_cg_pro_api_key=YOUR_KEY
OR
wss://stream.coingecko.com/v1
x-cg-pro-api-key: YOUR_KEY
```
## 2. Subscribe to a specific channel - OnchainSimpleTokenPrice
**Input Example:**
```json JSON theme={null}
{"command":"subscribe","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}"}
```
**Output Example**:
```json JSON theme={null}
{"type":"confirm_subscription","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}"}
```
## 3. Stream OnchainSimpleTokenPrice data
**Input Example:**
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}","data":"{\"network_id:token_addresses\":[\"bsc:0x55d398326f99059ff775485246999027b3197955\"],\"action\":\"set_tokens\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code": 2000,
"message": "Subscription successful for bsc:0x55d398326f99059ff775485246999027b3197955"
}
```
**Output Example**:
```json JSON theme={null}
{
"c": "G1",
"n": "bsc",
"ta": "0x55d398326f99059ff775485246999027b3197955",
"p": 0.999457718373347,
"pp": -0.009028866490825653,
"m": 1317802988326.25,
"v": 1476864199.38384,
"t": 1737427063
}
```
The output keys will be in random order.
## Tips:
### Unsubscribe to stop streaming OnchainSimpleTokenPrice data
**Input Example:** Unsubscribe for 1 specific token data:
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}","data":"{\"network_id:token_addresses\":[\"bsc:0x55d398326f99059ff775485246999027b3197955\"],\"action\":\"unset_tokens\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code":2000,
"message":"Unsubscription is successful for bsc:0x55d398326f99059ff775485246999027b3197955"
}
```
**Input Example:** Unsubscribe from OnchainSimpleTokenPrice channel and all token data:
```json JSON theme={null}
{"command":"unsubscribe","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code":2000,
"message":"Unsubscription is successful for all tokens"
}
```
# OnchainTrade
Source: https://docs.coingecko.com/websocket/wss-onchain-trade
Subscribe to receive real-time transaction (trade/swap) updates for pools, as seen on GeckoTerminal.com
This WebSocket channel allows you to subscribe to real-time updates of token trades of a pool.
* Lookup by Network + Pool Address
* It will return transaction type (buy/sell), tx hash, amount of token transacted, volume, and current price data of the specified pool.
**Update Frequency**: as fast as 0.1s, for actively traded pools.
**Tips**: use this REST API endpoint [Top Pools by Token Address](/reference/top-pools-contract-address) to obtain contract address of the most liquid pool.
### Data Payload
| | Field | Type | Description | Example |
| ----- | -------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `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` |
| `tx` | `tx_hash` | string | Transaction hash. | `0x0b8ac5a16c2d5a..4d422` |
| `ty` | `type` | string | Type of transaction (`b` for buy or `s` for sell). | b |
| `to` | `token_amount` | float | Amount of token transacted. | 100 |
| `toq` | `quote_token_amount` | float | Amount of quote token transacted. | 0.0124384489204242 |
| `vo` | `volume_in_usd` | float | The transaction value in USD. | 1000 |
| `pc` | `price_in_native_currency` | float | Current token price in network's native token currency. E.g. Base network's native currency is ETH. | 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.
***
## 1. Establish Connection to WebSocket
```bash Bash theme={null}
wss://stream.coingecko.com/v1?x_cg_pro_api_key=YOUR_KEY
OR
wss://stream.coingecko.com/v1
x-cg-pro-api-key: YOUR_KEY
```
## 2. Subscribe to a specific channel - OnchainTrade
**Input Example:**
```json JSON theme={null}
{"command":"subscribe","identifier":"{\"channel\":\"OnchainTrade\"}"}
```
**Output Example**:
```json JSON theme={null}
{"type":"confirm_subscription","identifier":"{\"channel\":\"OnchainTrade\"}"}
```
## 3. Stream OnchainTrade data
**Input Example:**
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"OnchainTrade\"}","data":"{\"network_id:pool_addresses\":[\"bsc:0x172fcd41e0913e95784454622d1c3724f546f849\"],\"action\":\"set_pools\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code": 2000,
"message": "Subscription successful for bsc:0x172fcd41e0913e95784454622d1c3724f546f849"
}
```
**Output Example**:
```json JSON theme={null}
{
"ch": "G2",
"n": "bsc",
"pa": "0x172fcd41e0913e95784454622d1c3724f546f849",
"tx": "0x3e71ee7da66000a5a92f13abd2ae95e0abc0bc828087d8dd210338fd262cf6c9",
"ty": "b",
"to": 11.0818733869477,
"toq": 0.0124384489204242,
"vo": "2.75413132131313",
"pc": "0.000274100995437363",
"pu": "3656.8970003075",
"t": 1724927796000
}
```
The output keys will be in random order.
## Tips:
### Unsubscribe to stop streaming OnchainTrade data
**Input Example:** Unsubscribe for 1 specific pool data:
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"OnchainTrade\"}","data":"{\"network_id:pool_addresses\":[\"bsc:0x172fcd41e0913e95784454622d1c3724f546f849\"],\"action\":\"unset_pools\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code":2000,
"message":"Unsubscription is successful for bsc:0x172fcd41e0913e95784454622d1c3724f546f849"
}
```
**Input Example:** Unsubscribe from OnchainTrade channel and all pools data:
```json JSON theme={null}
{"command":"unsubscribe","identifier":"{\"channel\":\"OnchainTrade\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code":2000,
"message":"Unsubscription is successful for all pools"
}
```
# OnchainOHLCV
Source: https://docs.coingecko.com/websocket/wssonchainohlcv
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 of 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.
### **Notes**
* Interval options: 1s / 1m / 5m / 15m / 1h / 2h / 4h / 8h / 12h / 1d
* 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.
### Data Payload
| | Field | Type | Description | Example |
| ---- | -------------- | ------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `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` |
| `to` | `token` | string | `base` or `quote` token | `base` |
| `i` | `interval` | string | Interval or resolution of the candle: 1s / 1m / 5m / 15m / 1h / 2h / 4h / 8h / 12h / 1d | 1m |
| `o` | `open` | float | Open price in USD | 3539 |
| `h` | `high` | float | High price in USD | 3541 |
| `l` | `low` | float | Low price in USD | 3530 |
| `c` | `close` | float | Close price in USD | 3531 |
| `v` | `volume` | float | Volume in USD | 323333 |
| `t` | `timestamp` | integer | Opening timestamp of candle interval | 1753803600 |
**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.
***
## 1. Establish Connection to WebSocket
```bash Bash theme={null}
wss://stream.coingecko.com/v1?x_cg_pro_api_key=YOUR_KEY
OR
wss://stream.coingecko.com/v1
x-cg-pro-api-key: YOUR_KEY
```
## 2. Subscribe to a specific channel - OnchainOHLCV
**Input Example:**
```json JSON theme={null}
{"command":"subscribe","identifier":"{\"channel\":\"OnchainOHLCV\"}"}
```
**Output Example**:
```json JSON theme={null}
{"type":"confirm_subscription","identifier":"{\"channel\":\"OnchainOHLCV\"}"}
```
## 3. Stream OnchainOHLCV data
**Input Example:** (1 minute interval and base token of a pool)
* `Interval` options: 1s / 1m / 5m / 15m / 1h / 2h / 4h / 8h / 12h / 1d
* You may stream the pool ohlcv data of 'base' or 'quote' `token`.
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"OnchainOHLCV\"}","data":"{\"network_id:pool_addresses\":[\"bsc:0x172fcd41e0913e95784454622d1c3724f546f849\"],\"interval\":\"1m\",\"token\":\"base\",\"action\":\"set_pools\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code": 2000,
"message": "Subscription successful for bsc:0x172fcd41e0913e95784454622d1c3724f546f849:1m:base"
}
```
**Output Example**:
```json JSON theme={null}
{
"c": 0.999727235252031,
"ch": "G3",
"h": 0.999974654065411,
"i": "1m",
"l": 0.999353212178554,
"n": "bsc",
"o": 0.999570907451071,
"pa": "0x172fcd41e0913e95784454622d1c3724f546f849",
"t": 1753886760,
"to": "base",
"v": 63932.29404921795
}
```
The output keys will be in random order.
## Tips:
### Unsubscribe to stop streaming OnchainOHLCV data
**Input Example:** Unsubscribe for 1 specific pool data:
```json JSON theme={null}
{"command":"message","identifier":"{\"channel\":\"OnchainOHLCV\"}","data":"{\"network_id:pool_addresses\":[\"eth:0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b\"],\"interval\":\"1m\",\"token\":\"base\",\"action\":\"unset_pools\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code":2000,
"message":"Unsubscription is successful for eth:0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b:1m:base"
}
```
**Input Example:** Unsubscribe from OnchainOHLCV channel and all pools data:
```json JSON theme={null}
{"command":"unsubscribe","identifier":"{\"channel\":\"OnchainOHLCV\"}"}
```
**Output Example**:
```json JSON theme={null}
{
"code":2000,
"message":"Unsubscription is successful for all pools"
}
```