Pages: 16
URL: llms-txt#clients
Contents:
Source: https://docs.coingecko.com/docs/clients
Explore client resources, including official Swagger JSON and unofficial Python wrapper
Here are the official API SDKs maintained by us.
Want us to support your favorite programming language? Let us know here!
Not a developer? Fred not, check our no-code tutorial for beginners here: Tutorials (Beginner-friendly)
URL: llms-txt#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

URL: llms-txt#๐-connecting-with-chatgpt
OpenAI ChatGPT have just launched an MCP connector, but requires developer mode toggle turned on.
Open your profile > Connectors > Advanced Settings > Toggle Developer Mode On
In the Connectors modal, choose "Create" and enter the CoinGecko MCP server info
<img
src="https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=19b9da2451dbb287b3e14bbd1bb1d6c4"
style={{
width: "400px", height: "auto"
}}
data-og-width="921"
width="921"
data-og-height="1330"
height="1330"
data-path="images/reference/mcp-open-ai-chatgpt-1.png"
data-optimize="true"
data-opv="3"
srcset="https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?w=280&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=1e0e27aefe9eed409e50802d46ccbd96 280w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?w=560&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=4fa547e688348c71af6bd7a65018a06b 560w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?w=840&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=b58a95c0d11926961008038c5c150a2c 840w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?w=1100&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=d9a04921b35edb6034fe498ce69e06c2 1100w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?w=1650&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=043bd546e1eadb1d7b20b1cdc44fe5d5 1650w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-1.png?w=2500&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=deb9413356da4ff107766f1c483d14b8 2500w"
/>
<img
src="https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=2dbce0217b55c42f75bcf72b1840261c"
style={{
width: "500px", height: "auto"
}}
data-og-width="1604"
width="1604"
data-og-height="404"
height="404"
data-path="images/reference/mcp-open-ai-chatgpt-2.png"
data-optimize="true"
data-opv="3"
srcset="https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?w=280&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=1164c4b43b3973808b53e78219db4544 280w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?w=560&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=57565551346ddc2479ec396c5f03a5ad 560w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?w=840&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=9ffd706dd65fc5d64cae76ed5c44c6db 840w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?w=1100&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=20e6b62405c7069c6c58d6523a98854b 1100w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?w=1650&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=963d3992d6e0d46cfbbc56bd4179c099 1650w, https://mintcdn.com/coingecko/-YWykcjHRtoo7cBr/images/reference/mcp-open-ai-chatgpt-2.png?w=2500&fit=max&auto=format&n=-YWykcjHRtoo7cBr&q=85&s=2eabd675061763732754fc304f7e48e9 2500w"
/>
URL: llms-txt#typescript-ai-prompts
Contents:
Source: https://docs.coingecko.com/docs/typescript-ai-prompts
A comprehensive AI prompt to guide coding assistants in correctly implementing the official CoinGecko TypeScript SDK.
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.
Rules to enforce the guidelines across all AI interactions.coingecko_rules.md) and reference it in your chat with @workspace #coingecko_rules.md.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(); 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.
} `
Notice something off or missing? Let us know by opening an Issue here.
Have feedback, a cool idea, or need help? Reach out to soonaik@coingecko[dot]com
Examples:
Example 1 (typescript):
// src/api/client.ts
import Coingecko from '@coingecko/coingecko-typescript';
// Initialize a single, reusable client. This should be imported and used application-wide.
export const client = new Coingecko({
proAPIKey: process.env.COINGECKO_PRO_API_KEY,
environment: 'pro',
maxRetries: 3, // Rely on the SDK's built-in retry mechanism.
});
// src/main.ts
import { client } from './api/client';
import Coingecko from '@coingecko/coingecko-typescript'; // Import the namespace for types
async function getBitcoinPrice(): Promise<number | null> {
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();
Example 2 (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.
}
URL: llms-txt#best-practices
Contents:
Source: https://docs.coingecko.com/docs/best-practices
Wonder how to use different endpoints together? This is the perfect place for you

vs_currencies, allowing to obtain the corresponding data for those currencies./asset_platforms โ can be used to query the list of asset platforms for other endpoints that contain parameters like id or ids (asset platforms), allowing the retrieval of corresponding data for these asset platforms.
/simple/price โ 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} โ can be used to query the coin data using the unique coin IDs that can be obtained from the "Discovery/Navigational Endpoints" mentioned above.

/onchain/networks/{network}/dexes - can be used to query all the supported decentralized exchanges (DEXs/dexes) on GeckoTerminal based on network id that can be obtained from the endpoint mentioned above.
/onchain/simple/networks/{network}/token_price/{addresses} - 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} - 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.
URL: llms-txt#โ๏ธ-tips
Contents:
llms.txtChoosing between a Demo and Pro key for your MCP server impacts your access to data and tools.
| Feature | Demo (Guide here) | 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 - NFTs Collection Historical Chart - ๐ฅ Megafilter for Pools - Pools by Category ID |
๐ฅ Ready to upgrade? Explore our API plans.
When running our CoinGecko MCP server, you can choose how the LLM client discovers tools.
For a deeper dive, read the official documentation from Stainless.
To help AI models interact with CoinGecko data effectively, we provide an llms.txt file at /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 โฑ
Have feedback, a cool idea, or need help? Reach out to soonaik@coingecko[dot]com or fill in this feedback form.
URL: llms-txt#๐-connecting-with-claude
Contents:
Connecting CoinGecko MCP to Claude is straightforward. The method varies slightly depending on your Claude plan.
You must use the Claude Desktop app and modify the configuration file.
claude_desktop_config.json: Follow the instructions here to find the file on your system.You can also follow the same steps as the Free users by modifying the claude_desktop_config.json file.


https://mcp.api.coingecko.com/mcp
https://mcp.pro-api.coingecko.com/mcp
URL: llms-txt#useful-links
Source: https://docs.coingecko.com/docs/useful-links
Some of the useful links to help you navigate while using the CoinGecko API
llms.txt for AI use casesURL: llms-txt#changelog
Source: https://docs.coingecko.com/changelog
Product updates and announcements
export const GreenSeparator = () => ( <div style={{
height: '4px',
background: 'linear-gradient(to right, transparent, #4BCC00, transparent)',
margin: '20px 0 60px 0',
border: 'none'
}} /> );
## Websocket is now supported for Self-serve API subscribers
๐๏ธ October 23, 2025
For Analyst, Lite, Pro, and Pro+ self-serve customers, you are now eligible to access the following Websocket features, and stream real-time data by utilising your monthly API plan credits:
Please visit Websocket for full details, and test out Websocket data streaming. We will gradually improve the Websocket and expand the feature limits. Please share your feedback and suggestion via this survey form, or email soonaik\@coingecko[dot]com .
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.
๐๏ธ October 4, 2025
We've added support for bonding curve (e.g. launchpad graduation from PumpFun) data across multiple token endpoints:
/onchain/networks/{network}/tokens/{address}
/onchain/networks/{network}/tokens/multi/{addresses}/onchain/networks/{network}/tokens/{address}/info/onchain/networks/{network}/pools/{pool_address}/infoThe Megafilter for Pools endpoint now supports ascending sorting for price change percentage:
m5_price_change_percentage_asc
h1_price_change_percentage_asch6_price_change_percentage_asch24_price_change_percentage_ascWe've fixed an issue where the Token OHLCV chart by 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
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)
publicTreasury.getCoinID(coinID, { ...params }) \
to query public companies & governments' cryptocurrency holdings by Coin ID
publicTreasury.getEntityID(entityID) \
to query public companies & governments' cryptocurrency holdings by Entity IDentities.getList({ ...params }) \
to query all the supported entities on CoinGecko with entities ID, name, symbol, and countryWe're also surfacing new tools through the MCP to give developers a richer, faster way to query exchanges, NFTs, and onchain activity.
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 tool, you can now pass ISO date strings directly instead of converting them into UNIX timestamps for your LLM tools.
CoinGecko API Team
๐๏ธ September 19, 2025
coin_id and target_coin_id to identify coins of ticker pairs.๐๏ธ September 12, 2025
Bonding curve data (launchpad graduation) is now supported for the followiing endpoints:
More endpoints to support bonding curve data soon.
The following endpoints now support additional pool token balance data by flagging this parameter include_composition=true :
include=top_pools parameter to be flagged together)include=top_pools parameter to be flagged together)Onchain Megafilter endpoint now supports more sort options:
m5_price_change_percentage_desch1_price_change_percentage_desch6_price_change_percentage_descfdv_usd_ascfdv_usd_descreserve_in_usd_ascreserve_in_usd_descprice_change_percentage parameter. The available options are: 1h,24h,7d,14d,30d,60d,200d,1y.
Exchange Tickers by ID endpoint now supports to sort tickers based on market cap, by flagging the order parameter.
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.]
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 | Tuesday, 02:00 UTC, September 2, 2025 | 30s | 10s | | Token Data by Token Address | Tuesday, 02:00 UTC, September 2, 2025 | 30s | 10s | | Tokens Data by Token Addresses | Tuesday, 02:00 UTC, September 2, 2025 | 30s | 10s | | Specific Pool Data by Pool Address | Wednesday, 02:00 UTC, September 3, 2025 | 30s | 10s | | Multiple Pools Data by Pool Addresses | Wednesday, 02:00 UTC, September 3, 2025 | 30s | 10s | | Pool OHLCV chart by Pool Address | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s | | Token OHLCV chart by Token Address | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s | | Past 24 Hour Trades by Pool Address | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s | | Past 24 Hour Trades by Token Address | Thursday, 02:00 UTC, September 4, 2025 | 30s | 10s |
Things to Keep in Mind:
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 .
CoinGecko API Team
๐๏ธ 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.
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 | solana | meteora-dbc | | Pump.fun | solana | pump-fun | | Raydium Launchpad (LetsBonkFun) | solana | raydium-launchlab | | Boop.fun | solana | boop-fun | | Virtuals (Base) | base | virtuals-base |
Improved endpoints to track launchpad data:
More launchpad-specific data will be supported soon for the endpoints above!
Tips: use megafilter endpoint to retrieve latest launchpad data, by flagging sort=pool_created_at_desc
Request example (Get latest pools on Pump.fun):
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:
New interval supported:
Example Request (Get the last 100 1-second intervals for a pool on Ethereum):
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:
Previously, thePools 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'.
include_unknown_honeypot_tokens=true.
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):
Endpoint: Pool Tokens Info by Pool Address
By adding include=pool to your request on the pool tokens endpoint, you can now retrieve additional context about the pool itself.
## SOL Currency Is Now Supported for CoinGecko Endpoints
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
Example: price of Bitcoin in Solana, using Coin Price by IDs endpoint.
Example: historical daily price, market cap and volume of Trump in Solana, using Coin Historical Chart Data by ID endpoint.
This new endpoint allows you to get the historical token holders chart based on the provided token contract address on a network.
Check it out now: Historical Token Holders 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.
Check it out now: Token OHLCV chart by Token Address
Previously, we only surfaced 1 quote token for pools with more than 2 tokens. With this new improvements, for pools that have 2 or more tokens:
relationships.quote_tokens
include=quote_token is flagged, the extra quote tokens will be also listed under includedThis improvement is applicable to all onchain pool endpoints that support relationships.quote_token, including but not limited to:
## Upcoming Change Notice: Removal of normalized_volume_btc Data
Notice: Upcoming Change to CoinGecko API Endpoints - Removal ofnormalized_volume_btc Data
Effective Date: 16 June 2025
Affected Endpoints:
Details of the Change:
Please be advised that the normalized_volume_btc data point will be removed from the above-listed API endpoints, effective 16 June 2025. This change is being implemented due to significant recent change to a 3rd party data source provider, which have fundamentally altered how this specific data can be accessed.
Example of Affected Data Structure:
After the effective date, the trade_volume_24h_btc_normalized field will no longer be present in the API responses for these endpoints.
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.
Previously, the Past 24 Hour Trades by Pool 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, you can now retrieve the last 300 trades across different pools, based on the provided token contract address on a network.
The following endpoints now support more volume breakdown data:
By flagging include_volume_breakdown=true , you can surface the following data:
Pool OHLCV chart by Pool Address endpoint now supports to include empty intervals by flagging include_empty_intervals=true .
The following endpoints now support more size options for coin logo image:
The following endpoints now support normalized_total_supply:
The following endpoints now support pool_name and pool_fee:
The following endpoints now allow to flag dex_pair_format=symbol to return DEX pair symbols instead of contract address.
## New Endpoint & Improvements: On-Chain Trending Data, Enhanced Trending Search, and Improved Token Lookup
๐๏ธ April 25, 2025
With this new endpoint 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 subscribers (Analyst plan & above).
Paid plan subscribers (Analyst plan & above) can now use Trending Search List 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 |
The following endpoints now support token lookup by symbol and name, in addition to the existing API ID support:
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.
| API Ids | Symbol | Name | | :------- | :----- | :------ | | bitcoin | btc | Bitcoin | | tether | usdt | Tether | | usd-coin | usdc | USDC |
Lookup Priority: When multiple lookup parameters are provided, the system applies the following priority order: id (highest) > name > symbol (lowest).
Filtering by Symbol withinclude_tokens
The include_tokensparameter 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'. |
We've enhanced the/coins/markets endpoint Coins List with Market Data, 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.
๐๏ธ April 25, 2025
Notice: Upcoming Change to CoinGecko API Endpoints - Removal oftwitter_followers Data
Effective Date: 15 May 2025
Affected Endpoints:
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:
After the effective date, the twitter_followers field will no longer be present in the API responses for these endpoints.
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 Storedtwitter_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
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:
๐ Visit the endpoint reference page - Top Token Holders by Token Address to learn more and try it out now!
Note: this exclusive endpoint is available for our API paid plan subscribers (Analyst plan & above).
Tips: You may also use the following endpoints to retrieve token holders count and top holders distribution percentage data:
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) endpoint and flag status=inactive.
Note: these endpoints below are exclusive for Enterprise plan customers only.
Improved endpoints:
Now support locked_liquidity_percentage data.
Improved endpoints:
The following Token Info endpoints now provide more security related information:
Improved endpoints:
The Onchain Simple Token Price endpoint now supports fallback option for Market Cap to return FDV value, when the Market Cap value is not available.
If you require the Market Cap key (market_cap_usd) to return FDV value (as seen on GeckoTerminal.com) when Market Cap data is unavailable, please specify this parameter marketcap_fdv_fallback=true.
๐๏ธ March 14, 2025
[Changes below are applicable to Analyst/Lite/Pro/Enterprise plan subscribers 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.
What This Means for You:
Things to Keep in Mind:
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 .
CoinGecko API Team
๐๏ธ March 14, 2025
Now support the following holder data (Beta):
Improved endpoints:
Now support the following data:
price_change_percentage: m15, m30
volume_usd: m15, m30transactions: h6Improved endpoints:
Now supports the following optional parameter to return more data.
include_24hr_price_change (24hr price change percentage)
include_total_reverse_in_usd (token liquidity data - total liquidity portion attributable to a specific token across all available pools)Improved Endpoint:
## 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).
This new endpoint provides unmatched flexibility, allowing you to query and filter data exactly the way you want.
๐ Docs: Megafilter for Pools
With the /megafilter endpoint, you can slice and dice on-chain data your way across:
Here's some quick examples:
๐ API Docs: Megafilter for Pools\ ๐ Live Filtering on GeckoTerminal
๐๏ธ February 14, 2025
[Changes below are applicable to Analyst/Lite/Pro/Enterprise plan subscribers 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/ | 02:00 UTC, February 24, 2025 | 60s | 30s | | Onchain /networks/../tokens/multi/ | 06:00 UTC, February 24, 2025 | 60s | 30s | | Onchain /networks/../pools/../ohlcv | 02:00 UTC, February 25, 2025 - Enterprise plan subscribers only | 60s | 30s | | Onchain /networks/../pools/../ohlcv | 02:00 UTC, February 26, 2025 - Analyst/Lite/Pro plan subscribers | 60s | 30s |
What This Means for You:
Things to Keep in Mind:
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 .
CoinGecko API Team
๐๏ธ February 09, 2025
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:
Improved endpoints with metadata (images, websites, description, socials):
Note: Metadata may be sourced on-chain and is not vetted by the CoinGecko team. If you wish to get metadata reviewed by CoinGecko team, you may use the following endpoints:
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:
Note: this new max address input limit is exclusive for paid plan subscribers (Analyst plan & above) only.
For Exchange Tickers by ID endpoint, the order is sorted by trust_score_desc by default.
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
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
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:
Endpoint: Past 24 Hour Trades by Pool 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.
token
basequote{token_address}๐๏ธ January 24, 2025
Endpoint: Token Price by Token Addresses
include_market_cap=true and include_24hr_vol=true to retrieve market cap and 24h trading volume data. e.g.You can now obtain the market_cap_rank data of NFT collections via the following endpoints:
๐๏ธ January 23, 2025
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 |
Many of these categories no longer have associated coins. Some categories are outdated and no longer relevant in the crypto space. The changes align with updated category topology standards to maintain data accuracy and relevance.
API responses for the /coins/markets endpoint will no longer support data of the categories above. Any requests specifying these categories will return an error.
Ensure applications using the /coins/markets endpoint are not querying these removed categories. Please update any code or documentation referencing these categories to prevent errors.
๐๏ธ January 15, 2025
We've improved the Pool OHLCV Chart by Pool Address endpoint to provide access to a much broader range of historical data.
Note: access to data beyond the past 6 months is only available to Paid Plan subscribers (Analyst plan & above).
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.
๐๏ธ January 15, 2025
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.
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.
Bitcoin: Updated on Jan 14, 2025
Other PoW Coins: Scheduled for Jan 22, 2025
๐๏ธ January 13, 2025
[Changes below are applicable to Analyst/Lite/Pro/Enterprise plan subscribers 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 | 30s | 20s | | CoinGecko /simple/token_price | 30s | 20s | | Onchain /simple/networks/../token_price | 60s | 30s | | Onchain /networks/../pools/../trades | 60s | 30s | | Onchain /networks/../pools/.. | 60s | 30s | | Onchain /networks/../pools/multi/.. | 60s | 30s |
What This Means for You:
Things to Keep in Mind:
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 .
CoinGecko API Team
๐๏ธ January 09, 2025
For the following 4 historical chart endpoints, the data of the last 48 hours from now is no longer excluded.
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.interval=5m: Available from 9 February 2018 onwardsinterval=hourly: Available from 30 Jan 2018 onwardsFor non-Enterprise plan subscribers who would like to get hourly data, please leave the interval params empty for auto granularity:
## Added: Onchain Categories Data, CG data improvements
๐๏ธ December 24, 2024
This new Categories List endpoint allows you to query all the categories supported on GeckoTerminal.com such as 'Pump Fun' and 'Animal'.
This new Pools by Category ID endpoint allows you to query all the pools of a specific category on GeckoTerminal.com.
include=base_tokenYou can now obtain the categories of a token via the following endpoints:
Previously, this /networks/new_pools endpoint omitted new pools that are created within the last 24 hours.
It now returns all newly created pools in the last 48 hours.
You now query the the list of id of delisted exchanges with Exchanges List (ID Map) endpoint, by flagging status=inactive
Tips: you may query to get historical volume delisted exchanges for via the following endpoints:
For Coin Historical Chart Data by ID 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.
๐๏ธ 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 โ ]
**For full list of FAQs and updated infomation, please refer here
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.
The following CoinGecko API endpoints will be impacted, with full details tracked in this spreadsheet. 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/price
/coins/markets
/coins/id/contract/contract_address
/exchanges/id/tickers
No changes are necessary if you do not need data for non-native token contracts that will be separated away from the native tokens.
Historical data for new non-native or bridged assets will only be available from the date of asset page creation (i.e. stnadardized). To access historical data prior to the asset standardization, we recommend retrieving data from the original native assets.
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
You may also identify the list of bridged coins via API: you may also use /categories/list endpoint to look for bridged categories such as:
Then you may use /coins/market endpoint to retrieve the list of coins
๐๏ธ December 16, 2024
[Changes below are applicable to Analyst/Lite/Pro/Enterprise plan subscribers 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 | 30s | 20s | | CoinGecko /simple/token_price | 30s | 20s | | Onchain /simple/networks/../token_price | 60s | 30s | | Onchain /networks/../pools/../trades | 60s | 30s | | Onchain /networks/../pools/.. | 60s | 30s | | Onchain /networks/../pools/multi/.. | 60s | 30s |
What This Means for You:
Things to Keep in Mind:
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 .
CoinGecko API Team
๐๏ธ December 15, 2024
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
You can now query coin prices in the 13 new currencies for the following 3 endpoints:
New supported currencies:
Coin Data by ID now includes Snapshot link, e.g.
https://docs.coingecko.com/reference/exchanges-id now includes "coins" and "pairs", e.g.
## Multiple Improvements: Onchain Simple Price, Onchain Recently Updated Info, NFT Collection Data
๐๏ธ October 09, 2024
Token Price by Token Addresses now allows to input up to 100 contract addresses, instead of 30.
Most Recently Updated Token List now allows to filter by blockchain network, by flagging the network parameter. e.g. network=eth.
network parameter to retrieve the 100 most recently updated token info of a specific network.
NFTs Collection Data by ID now provides banner image of a NFT collection.
View banner image example on: https://www.coingecko.com/en/nft/pudgy-penguins
## Multiple Improvements: Global Market Chart, Asset Platforms, Coin Categories, Historical Supply Chart
๐๏ธ September 26, 2024
Previously, for Global Market Cap Chart Data endpoint , the daily data is returned at 23:00 UTC. We've made improvement to return daily data at 00:00 UTC.
The last completed UTC day (00:00) is available 5 minutes after midnight on the next UTC day (00:05). The cache will always expire at 00:05 UTC. If you wish to get the latest daily data (00:00 UTC), you can make request at 00:05 UTC or later.
Asset Platforms List (ID Map) now provides the logos of blockchain networks.
Coins Categories List with Market Data now provides coins id of the top 3 coins of a category.
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.
๐๏ธ September 04, 2024
The cache & update frequency of the following endpoints have been improved from every 30 minutes to every 15 minutes:
## 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:
Example of responses:
## Introduced /coins/id/ohlc/range endpoint
We've introduced a new endpoint /coins//ohlc/range.
This endpoint allows you to get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamp based on particular coin id.
Please note that this endpoint is available exclusively for paid plan subscribers only.
We've expanded functionality to include support for the interval=hourly parameter within the /coins//ohlc endpoint.
Users can use this parameter to retrieve OHLC (Open/High/Low/Close) data on a 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 endpoint to include inactive coins
status=inactive in your query
https://pro-api.coingecko.com/api/v3/coins/list?include_platform=false&status=inactive&x_cg_pro_api_key=YOUR_API_KEYAdditionally, historical data for inactive coins can be queried using their IDs in the following endpoints:
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 for conveniently monitoring your account's API usage, including rate limits and remaining credits.
Example of responses:
## Multiple Improvements (Onchain/GT)
๐๏ธ February 28, 2024
Example of responses:
h24_volume_usd_desc and order=h24_tx_count_desc for /pools endpoints
https://pro-api.coingecko.com/api/v3/onchain/networks/eth/pools/0x06da0fd433c1a5d7a4faa01111c044910a184553/ohlcv/day?token=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&x_cg_pro_api_key=YOUR_API_KEY๐๏ธ February 19, 2024
Trending Pools endpoint, /networks//trending_pools is now available to fetch a list of pools that are trending as seen on GeckoTerminal based on web visits and on-chain activities.
๐๏ธ 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/ endpoint
Example of responses:
## Deprecated response fields for /coins/id
๐๏ธ December 13, 2023
The following data is now deprecated for /coins/ endpoint:
๐๏ธ December 12, 2023
We've introduced Historical Total Supply data to Enterprise plan subscribers via these 2 exclusive endpoints:
๐๏ธ December 07, 2023
We've expanded the capabilities of the /search/trending endpoint.
It now supports up to 15 trending coins, a significant increase from the previous limit of 7.
๐๏ธ December 03, 2023
Pool data now returns transaction stats for the last 1 hour. Unique buyers and sellers in the last 1 hour and 24 hours are now returned in the response
## Multiple Improvements
๐๏ธ November 21, 2023
The web_slug data is now available in the following endpoints.
This addition allows users to accurately link to a CoinGecko coin page using www.coingecko.com/en/.
Example of responses:
For the /asset_platforms endpoint, we've introduced the native_coin_id data. This enables users to obtain the coin ID of different blockchain networks or asset platforms that may not have a contract address to look up
Example of responses:
๐๏ธ November 10, 2023
Inspired by CoinGecko API most popular endpoint, we have launched the /simple/networks//token_price/, simple endpoint. Simply pass in addresses of any tokens on supported blockchain and get price data for it
๐๏ธ November 08, 2023
You can now get the latest 300 trades in the past 24 hours of a given pool from this endpoint /networks//pools//trades. You may optionally filter by trade size as well. You can now build your own telegram bot alert!
## Introduced new endpoints (Onchain/GT)
๐๏ธ October 23, 2023
You can now fetch token information such as name, image, social links, and description via these endpoints:
## Included new fields (Onchain/GT)
๐๏ธ September 11, 2023
Pool response data now returns price in the base and quote token of the pool base_token_price_quote_token and quote_token_price_base_token for your convenience without the need to do additional calculation to derive these values
๐๏ธ September 06, 2023
Added new endpoints to allow querying multiple pools and tokens in a single API call. /networks/network/pools/multi/addresses and /networks/network/tokens/multi/addresses
## Included new fields (Onchain/GT)
The uses of 'precision' parameter allows to specify price data in full or 0-18 decimals, and previously was only made available for /simple/price and /simple/token_price/ endpoints.
This parameter is now supported for more endpoints as listed below:
We've made enhancements to the /search/trending and /coins/asset_platform_id/contract/contract_address endpoints:
## Multiple Improvements (Onchain/GT)
The /coins//ohlc endpoint now supports the "interval=daily" parameter for Paid Plan Subscribers
Users can use this parameter to retrieve OHLC (Open/High/Low/Close) data on a daily interval for up to 180 days of date range.
## Included new fields
๐๏ธ April 26, 2023
We've added 'watchlist_portfolio_users' field to /coins/ endpoint responses.
This refers to number of users who added the coin into a watchlist or portfolio.
Example of responses:
๐๏ธ April 19, 2023
We've increased the rate limit of Public Plan from 10 calls per minute to 30 calls per minute
๐๏ธ April 18, 2023
Example of responses for /networks//pools/ :
๐๏ธ April 03, 2023
We've added "symbol" field to these NFT endpoints responses:
Example of responses:
## Included new fields
๐๏ธ March 27, 2023
We've added "links" field (e.g. homepage, twitter, discord) to these NFT endpoints responses:
Example of responses:
๐๏ธ March 23, 2023
We've added /coins/top_gainers_losers endpoint exclusively for Paid Plan Subscribers.
Users can now get the top 30 coins with largest price gain and loss by a specific time duration with this endpoint.
๐๏ธ March 23, 2023
/networks//pools//ohlcv/ now returns more granularity day, hour, minute and multiple aggregates
## Multiple Improvements
๐๏ธ February 23, 2023
We've made some updates to the /coins/categories and /simple/token_price/id endpoints:
๐๏ธ February 15, 2023
We've introduced the /exchange//volume_chart/range endpoint for Paid Plan Subscribers.
This exclusive feature allows users to query full historical volume data of an exchange.
## Introduced /coins/list/new endpoint
๐๏ธ January 09, 2023
We've introduced the /coins/list/new endpoint for Paid Plan Subscribers.
This exclusive feature allows users to query the latest 200 coins on CoinGecko.
Examples:
Example 1 (unknown):
### 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.
</Update>
<Update label="September 2025">
## 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/](reference/exchanges-id), [/exchanges//tickers](reference/exchanges-id-tickers), and [/exchanges//volume\_chart/range](reference/exchanges-id-volume-chart-range)
* NFT markets with [/nfts/markets](reference/nfts-markets)
* Multi-address queries with [/onchain/networks//pools/multi/](reference/pools-addresses) and [/onchain/networks//tokens/multi/](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**
<GreenSeparator />
## 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.
Example 2 (unknown):
<GreenSeparator />
## Multiple Improvements: Bonding Curve Data, Pooled Token Balance, and More.
๐๏ธ **September 12, 2025**
### ๐ Now Supporting Bonding Curve Data
Bonding curve data (launchpad graduation) is now supported for the followiing endpoints:
* [Specific Pool Data by Pool Address](https://docs.coingecko.com/reference/pool-address)
* [Multiple Pools Data by Pool Addresses](https://docs.coingecko.com/reference/pools-addresses)
**Payload example:**
Example 3 (unknown):
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:**
Example 4 (unknown):
### ๐ 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:
URL: llms-txt#building-with-ai
Contents:
llms.txtSource: https://docs.coingecko.com/docs/building-with-ai
Quick tips to empower your AI applications with CoinGecko API, and leverage our AI capabilities to help you build better and easier.
CoinGecko provides a powerful suite of AI-native tools to help you integrate real-time, historical, and onchain market data into your applications. Whether you're building a sophisticated trading bot, a market analysis tool, or a simple portfolio tracker, our AI toolkit is here to accelerate your development.
To help AI models interact with CoinGecko data effectively, we provide an llms.txt file at /llms-full.txt. This file gives models context on how to best query our API, ensuring more accurate and efficient data retrieval. We recommend utilizing this in your integrations of MCP and AI applications.
The MCP (Model-Context-Protocol) Server is your gateway for connecting AI agents and large language models, like Claude and Gemini, directly to CoinGecko's live data streams. It's ideal for building conversational applications that can perform complex, real-time crypto analysis and answer user queries with up-to-the-minute information. Learn how to connect your AI agent by checking out CoinGecko MCP Server
We've integrated AI assistance directly into our documentation to help you find answers and ship faster.
URL: llms-txt#python-ai-prompts
Contents:
Source: https://docs.coingecko.com/docs/python-ai-prompts
A comprehensive AI prompt to guide coding assistants in correctly implementing the official CoinGecko Python SDK for reliable API integration.
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.
Rules to enforce the guidelines across all AI interactions.coingecko_rules.md) and reference it in your chat with @workspace #coingecko_rules.md.python # src/api/client.py import os from coingecko_sdk import Coingecko, AsyncCoingecko
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.
)
async_client = AsyncCoingecko(
pro_api_key=os.environ.get("COINGECKO_PRO_API_KEY"),
environment="pro",
max_retries=3,
)
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}")
python # โ NO direct HTTP requests. import requests response = requests.get('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd')
pycoingecko library.from pycoingecko import CoinGeckoAPI cg = CoinGeckoAPI()
client = Coingecko(pro_api_key='CG-abc123xyz789')
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)
try:
data = client.simple.price.get(ids='bitcoin', vs_currencies='usd')
except Exception as e:
print(f"An error occurred: {e}")
`
Notice something off or missing? Let us know by opening an Issue here.
Have feedback, a cool idea, or need help? Reach out to soonaik@coingecko[dot]com
Examples:
Example 1 (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}")
Example 2 (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}")
URL: llms-txt#common-errors-&-rate-limit
Contents:
Source: https://docs.coingecko.com/docs/common-errors-rate-limit
The server responds to a userโs request by issuing status codes when the request is made to the server. Kindly refer to the table below to further understand the status codes when indicating the success or failure of an API call.
| 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 reached. The user should reduce the number of calls made, or consider scaling their service plan that has much higher rate limits and call credits |
500 (Internal Server Error) |
This is a generic error response indicating that the server has encountered an unexpected issue that prevented it from fulfilling the request |
503 (Service Unavailable) |
The service is currently unavailable. Please check the API status and updates on https://status.coingecko.com |
1020 (Access Denied) |
This is due to violation of CDN firewall rule |
10005 |
You may not have access to this endpoint. e.g. 'This request is limited Pro API subscribers'. You may wanna subscribe to a paid plan here |
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 |
### Notes
If you're using the Public API with Google Sheet and got hit with error, this is due to the IP sharing among Google Sheet users, and we have no control over this.
For Public API user (Demo plan), the rate limit is ~30 calls per minutes and it varies depending on the traffic size.
If you're Pro API user (any paid plan), the rate limit is depending on the paid plan that you're subscribed to.
Regardless of the HTTP status code returned (including 4xx and 5xx errors), all API requests will count towards your minute rate limit.
URL: llms-txt#2.-get-historical-data
Source: https://docs.coingecko.com/docs/2-get-historical-data
### Tips
There are five different endpoints to get historical data of a coin:
| Endpoint | Description |
|---|---|
| /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 | 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 | 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 | 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 | 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 and /market_chart/range endpoints is automatic and based on the date range:
URL: llms-txt#ai-prompts
Contents:
Source: https://docs.coingecko.com/docs/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.
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.
Rules to enforce the guidelines across all AI interactions.coingecko_rules.md) and reference it in your chat with @workspace #coingecko_rules.md.Select the prompt that matches your project's tech stack.
To get the most out of our AI prompts, keep these tips in mind:
URL: llms-txt#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)
| Tutorial Steps | Description |
|---|---|
| 1. Get data by ID or Address | Learn how to use different endpoints by obtaining Coin ID and token's contract address at first. |
| 2. Get Historical Data | Learn how to get historical data of a coin by using different historical endpoints. |
| 3. Get Exchanges & NFT Data | Learn how to query exchanges and NFT data by accessing different endpoints. |
| 4. Get On-chain Data | Learn how to use /onchain GT endpoints to query onchain data. |
URL: llms-txt#endpoint-showcase
Contents:
Source: https://docs.coingecko.com/docs/endpoint-showcase
Discover how CoinGecko API is used at CoinGecko.com and GeckoTerminal.com







