TL;DR
Use /coins/{id}/history for point-in-time price lookups, /coins/{id}/market_chart/range for historical time series, /coins/{id}/ohlc/range for aggregated OHLC benchmarks, and /simple/price for current price snapshots.Compliance and reporting demand data you can trust - whether you’re building a tax reporting pipeline, calculating fund NAV on a daily basis, generating audit-ready price records, or feeding consistent historical data into your accounting systems. This guide walks you through the CoinGecko API endpoints that matter most for compliance and reporting workflows, and ties them together into a complete workflow at the end:
- Historical price records with timestamps for tax events and trade reconciliation
- Daily and hourly OHLC data aggregated into consistent pricing benchmarks
- Consistent data schemas that slot directly into your reporting pipelines
- Multi-currency support across 60+ fiat currencies for global compliance
Navigate the API faster with AI
Install the CoinGecko SKILL to give your AI coding agent built-in knowledge of every endpoint, parameter, and workflow. Setup takes less than 3 minutes.
Endpoint Overview
| Endpoint | What It Gives You | Best For |
|---|---|---|
| /coins/{id}/history | Price, market cap, and volume at a specific date | Point-in-time lookups for tax events and audits |
| /coins/{id}/market_chart/range | Price, market cap, and volume time series for a custom date range | Historical trend data for reporting pipelines |
| /coins/../contract/../market_chart/range | Same as above, queried by contract address instead of coin ID | Token-level reporting when you only have contract addresses |
| /coins/{id}/ohlc/range | OHLC candles for a custom date range with daily or hourly intervals | Aggregated pricing benchmarks for fund accounting |
| /coins/{id}/ohlc | OHLC candles for a predefined time window | Quick OHLC lookups for recent reporting periods |
| /simple/price | Real-time prices with optional market cap, volume, and last updated timestamp | Daily NAV snapshots and current valuations |
| /coins/list | Complete list of all supported coins with IDs, symbols, and platform addresses | Asset mapping and identifier reconciliation |
| /simple/supported_vs_currencies | All supported fiat and crypto quote currencies | Validating currency pairs for multi-currency reports |
Replace
Don’t have one yet? Get your API key here.
YOUR_API_KEY in the examples below with your actual CoinGecko API key.Don’t have one yet? Get your API key here.
Point-in-Time Historical Prices - /coins/{id}/history
🔗 More endpoint details here
Returns price, market cap, and 24h volume for a coin at a specific date. The go-to endpoint for tax reporting - when you need the fair market value of a coin on the exact date of a transaction.
Example request:
| Parameter | Why It Matters |
|---|---|
date | The target date in dd-mm-yyyy format |
localization | Set to false to reduce response size |
The
For example, April 15, 2024 is
date parameter uses dd-mm-yyyy format (not ISO format).For example, April 15, 2024 is
15-04-2024.Historical Price Time Series
/coins/{id}/market_chart/range
🔗 More endpoint details here
Returns price, market cap, and volume as time-series arrays for a custom date range. The backbone of any historical reporting pipeline - consistent [timestamp, value] pairs that map directly to database columns.
Example request:
| Parameter | Why It Matters |
|---|---|
from / to | Define your reporting window using ISO date strings or UNIX timestamps |
vs_currency | The quote currency for all values (e.g., usd, eur) |
interval | Use daily or hourly for consistent data points (paid plans) |
[unix_timestamp_ms, value] schema - prices, market caps, and volumes all align by timestamp, making it straightforward to join and ingest into your data warehouse.
When no
interval is specified, granularity is automatic:- 1-2 days: ~5-minute intervals
- 3-30 days: hourly intervals
- 31+ days: daily intervals
interval=daily or interval=hourly./coins/{id}/contract/{contract_address}/market_chart/range
🔗 More endpoint details here
Same time-series data as above, but queried by contract address instead of CoinGecko coin ID. Useful when your reporting pipeline tracks tokens by their onchain contract address rather than a centralized identifier.
Example request:
| Parameter | Why It Matters |
|---|---|
id (path) | The asset platform (e.g., ethereum, solana) |
contract_address (path) | The token’s contract address on that platform |
from / to | Reporting window in ISO date strings or UNIX timestamps |
vs_currency | Quote currency |
/coins/{id}/market_chart/range - same [timestamp, value] arrays for prices, market caps, and volumes.
OHLC Data for Pricing Benchmarks
/coins/{id}/ohlc/range
🔗 More endpoint details here
Returns OHLC candle data for a custom date range with daily or hourly intervals. Ideal for generating consistent pricing benchmarks - use the closing price as your end-of-day valuation, or the open/close spread for volatility reporting.
Example request:
| Parameter | Why It Matters |
|---|---|
from / to | Define the reporting window |
vs_currency | Quote currency for OHLC values |
interval | Use daily for end-of-day benchmarks or hourly for intraday reporting |
[timestamp, open, high, low, close] - a consistent five-element array that maps cleanly to any OHLC table schema.
/coins/{id}/ohlc
🔗 More endpoint details here
Returns OHLC candles for a predefined time window based on the days parameter. A simpler alternative when you need recent OHLC data without specifying exact date ranges.
Example request:
| Parameter | Why It Matters |
|---|---|
days | Lookback window: 1, 7, 14, 30, 90, 180, 365, or max |
interval | Use daily or hourly for consistent intervals (paid plans) |
Candle granularity is automatic when no
interval is specified:- 1-2 days: 30-minute candles
- 3-30 days: 4-hour candles
- 31+ days: 4-day candles
interval=daily or interval=hourly.Current Price Snapshots - /simple/price
🔗 More endpoint details here
Returns real-time prices for one or more coins in a single call - with optional market cap, volume, and a last_updated_at UNIX timestamp. Use this for daily NAV calculations, end-of-day snapshots, or any workflow that needs a timestamped current valuation.
Example request:
| Parameter | Why It Matters |
|---|---|
ids / symbols | Batch multiple coins in a single request for efficient snapshots |
vs_currencies | Return prices in multiple fiat currencies simultaneously |
include_market_cap | Add market cap for AUM and exposure reporting |
include_last_updated_at | Includes a UNIX timestamp - critical for audit trails |
precision | Control decimal places for consistent formatting |
last_updated_at field is your audit timestamp - it confirms exactly when CoinGecko last updated the price, so your records reflect the data’s actual freshness.
Asset Identification and Currency Support
/coins/list
🔗 More endpoint details here
Returns the complete list of all supported coins with CoinGecko IDs, names, symbols, and optionally their contract addresses per platform. This is your master lookup table for mapping internal asset identifiers to CoinGecko’s API.
Example request:
| Parameter | Why It Matters |
|---|---|
include_platform | Include contract addresses per platform - essential for reconciling tokens by address |
/simple/supported_vs_currencies
🔗 More endpoint details here
Returns all supported fiat and crypto quote currencies. Use this to validate that your reporting currency is supported before building queries - avoids silent failures in automated pipelines.
Example request:
Putting It All Together
Here’s how these endpoints fit into a typical compliance and reporting workflow:- Map your assets - Use
/coins/listwithinclude_platform=trueto reconcile your internal asset identifiers to CoinGecko coin IDs - Validate currencies - Check
/simple/supported_vs_currenciesto confirm your reporting currencies are supported - Backfill historical data - Fetch
/coins/{id}/market_chart/rangewithinterval=dailyto populate your data warehouse with timestamped price series - Generate OHLC benchmarks - Pull
/coins/{id}/ohlc/rangefor daily or hourly open/high/low/close values - Look up tax event prices - Query
/coins/{id}/historyfor the fair market value at the exact date of each taxable transaction - Capture daily snapshots - Schedule
/simple/pricewithinclude_last_updated_at=trueto record timestamped NAV values
Integrate with CoinGecko MCP Server
Connect your AI agent directly to CoinGecko’s API using our MCP server - enabling real-time crypto data queries from tools like Claude Desktop, Cursor, and more.
Have feedback or need help? Reach out to
eason.lim@coingecko[dot]com

