CoinGecko Crypto Data
Pricing
from $2.00 / 1,000 coin fetcheds
CoinGecko Crypto Data
Extract live cryptocurrency prices, market cap rankings, trending coins, historical price charts, and global market stats from the CoinGecko API. Covers 15,000+ coins in 60+ currencies. Export as JSON/CSV.
Pricing
from $2.00 / 1,000 coin fetcheds
Rating
0.0
(0)
Developer

ryan clinton
Actor stats
0
Bookmarked
4
Total users
2
Monthly active users
4 hours ago
Last modified
Categories
Share
Pull real-time and historical cryptocurrency data from the CoinGecko API with six flexible modes of operation. This Apify actor covers market rankings, direct price lookups, trending coin discovery, global market statistics, coin search, and historical price charts across 15,000+ cryptocurrencies and 60+ fiat currencies. All you need is a free CoinGecko Demo API key, and you get clean, structured JSON output ready for spreadsheets, databases, or downstream automation.
Why use CoinGecko Crypto Data?
CoinGecko is one of the most comprehensive cryptocurrency data aggregators, tracking over 15,000 coins across 500+ exchanges. Accessing this data programmatically normally requires writing custom API integration code, handling pagination, rate limiting, and response parsing. This actor eliminates that work entirely. You configure your desired mode, provide a free API key, and get structured results in seconds -- no code required. The six modes cover every common crypto data need, from broad market scans to targeted price monitoring to backtesting-ready historical time series. Running on Apify means you can schedule it, trigger it via API, and pipe results into any downstream system through webhooks, Zapier, Make, or Google Sheets.
Key features
- Six data modes -- Market rankings, price lookups, trending coins, global stats, coin search, and historical charts in a single actor.
- 15,000+ cryptocurrencies -- Access data for every coin listed on CoinGecko, from Bitcoin and Ethereum to the smallest altcoins and meme tokens.
- 60+ currencies -- Get prices in USD, EUR, GBP, JPY, AUD, CAD, CHF, CNY, INR, KRW, BTC, ETH, and dozens more.
- Historical time series -- Download price, market cap, and volume history with granularity from 5-minute intervals (1-day range) to daily data points (90+ day range).
- Supply and ATH/ATL metrics -- Market mode includes circulating supply, total supply, max supply, all-time high and low prices with dates.
- Market dominance tracking -- Global mode returns BTC/ETH dominance, total market cap, active cryptocurrencies, and 24-hour market cap change.
- Trending coin discovery -- Spot coins gaining traction in the last 24 hours before they break out.
- Dry-run mode -- Runs without an API key and returns instructions for obtaining one, so new users can explore the actor before signing up.
- Clean structured output -- Consistent JSON field names across all modes, ready for CSV export, database ingestion, or API consumption.
How to use CoinGecko Crypto Data
- Get a free CoinGecko API key. Sign up at coingecko.com/en/api for a free Demo account. Copy your API key from the dashboard.
- Open the actor on Apify. Navigate to CoinGecko Crypto Data on the Apify platform and click "Try for free".
- Enter your API key. Paste the CoinGecko Demo API key into the "CoinGecko API Key" field.
- Select a data mode. Choose one of six modes: Market Rankings, Price Lookup, Trending Coins, Global Market Stats, Search Coins, or Historical Price Chart.
- Configure mode-specific options. For price lookups and historical data, enter coin IDs (e.g.,
bitcoin,ethereum). For search, enter a search term. For history, set the number of days. - Run the actor. Click "Start" or trigger a run via the Apify API. Most modes complete in under 30 seconds.
- Download or integrate results. Export the dataset as JSON, CSV, or Excel. Use the Apify API, webhooks, or integrations to automate data collection on a schedule.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey | String | No | -- | Free CoinGecko Demo API key from coingecko.com/en/api. Without a key, the actor runs in dry-run mode. |
mode | String | No | market | Data mode: market (top coins by market cap), price (specific coin prices), trending (24h trending), global (market-wide stats), search (find coins), history (historical charts). |
coinIds | String[] | No | -- | CoinGecko coin IDs for price and history modes (e.g., bitcoin, ethereum, solana). |
searchQuery | String | No | -- | Search term for search mode (e.g., "bitcoin", "defi", "layer 2"). |
vsCurrency | String | No | usd | Price currency. Supports 60+ fiat currencies (usd, eur, gbp, jpy) and crypto pairs (btc, eth). |
days | String | No | 30 | Number of days for history mode. Accepted: 1, 7, 14, 30, 90, 180, 365, max. |
maxResults | Integer | No | 100 | Maximum coins to return in market and search modes (1-250). |
Input example
{"apiKey": "CG-xxxxxxxxxxxxxxxxxxxx","mode": "market","vsCurrency": "usd","maxResults": 50}
Tips for best results
- Use "search" mode first to find coin IDs. CoinGecko uses unique lowercase IDs (e.g.,
bitcoin,binancecoin,matic-network). If you are unsure of the exact ID, run a search first. - Start with 30-day history and expand. The default 30-day range returns daily data points and is fast to retrieve. Only request
365ormaxwhen you specifically need long-term data. - Choose currencies wisely. If you report in EUR or GBP, set
vsCurrencyaccordingly instead of converting USD values manually. - Combine market and trending modes. Run
marketfor fundamentals, thentrendingfor momentum. Cross-reference to find coins with both strong market position and rising interest.
Output
Output example
Market mode (default):
{"coinId": "bitcoin","name": "Bitcoin","symbol": "BTC","currentPrice": 97432.18,"marketCap": 1932845672310,"marketCapRank": 1,"volume24h": 28456789012,"priceChange24h": 2.34,"priceChange7d": -1.87,"priceChange30d": 12.56,"circulatingSupply": 19832456,"totalSupply": 21000000,"maxSupply": 21000000,"allTimeHigh": 108135.82,"allTimeHighDate": "2025-01-20T09:15:42.123Z","allTimeLow": 67.81,"allTimeLowDate": "2013-07-06T00:00:00.000Z","imageUrl": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png","currency": "usd","extractedAt": "2025-05-12T10:30:00.000Z"}
Global mode:
{"activeCryptocurrencies": 15832,"markets": 1143,"totalMarketCap": 3245678901234,"totalVolume24h": 98765432100,"btcDominance": 58.42,"ethDominance": 11.23,"marketCapChangePercentage24h": 1.87,"extractedAt": "2025-05-12T10:30:00.000Z"}
History mode:
{"coinId": "ethereum","date": "2025-05-01T00:00:00.000Z","price": 3245.67,"marketCap": 390123456789,"volume": 12345678901,"currency": "usd"}
Output fields
Market / Price / Trending / Search modes (CoinOutput):
| Field | Type | Description |
|---|---|---|
coinId | String | CoinGecko unique identifier (e.g., bitcoin) |
name | String | Full coin name (e.g., Bitcoin) |
symbol | String | Ticker symbol in uppercase (e.g., BTC) |
currentPrice | Number | Current price in the selected currency |
marketCap | Number | Total market capitalization |
marketCapRank | Number | Rank by market cap (1 = largest) |
volume24h | Number | 24-hour trading volume |
priceChange24h | Number | 24-hour price change percentage |
priceChange7d | Number | 7-day price change percentage (market mode only) |
priceChange30d | Number | 30-day price change percentage (market mode only) |
circulatingSupply | Number | Coins currently in circulation |
totalSupply | Number | Total coins that exist (including locked) |
maxSupply | Number | Maximum coins that will ever exist |
allTimeHigh | Number | All-time high price |
allTimeHighDate | String | ISO date of all-time high |
allTimeLow | Number | All-time low price |
allTimeLowDate | String | ISO date of all-time low |
imageUrl | String | URL to the coin logo image |
currency | String | Currency code used for prices |
extractedAt | String | ISO timestamp of data extraction |
Global mode (GlobalData):
| Field | Type | Description |
|---|---|---|
activeCryptocurrencies | Number | Total active cryptocurrencies tracked |
markets | Number | Number of exchanges tracked |
totalMarketCap | Number | Total crypto market capitalization |
totalVolume24h | Number | 24-hour total trading volume |
btcDominance | Number | Bitcoin market cap dominance percentage |
ethDominance | Number | Ethereum market cap dominance percentage |
marketCapChangePercentage24h | Number | 24-hour market cap change percentage |
extractedAt | String | ISO timestamp of data extraction |
History mode (HistoryPoint):
| Field | Type | Description |
|---|---|---|
coinId | String | CoinGecko identifier for the coin |
date | String | ISO timestamp of the data point |
price | Number | Price at the given timestamp |
marketCap | Number | Market cap at the given timestamp |
volume | Number | Trading volume at the given timestamp |
currency | String | Currency code used for values |
Use cases
- Portfolio tracking and alerting -- Schedule hourly runs in
pricemode for your watchlist coins. Pipe results to Google Sheets or trigger Slack alerts when prices cross thresholds. - Market research and reporting -- Pull top 100 coins by market cap with 7-day and 30-day change data for weekly crypto market reports, newsletters, or client briefings.
- Trading strategy backtesting -- Download historical price and volume series in
historymode to backtest quantitative strategies or train machine learning models on crypto market data. - Trend detection -- Monitor
trendingmode daily to spot coins gaining traction before mainstream attention. Cross-reference withmarketmode to filter by fundamentals. - Market dashboard data feeds -- Use
globalmode to power overview dashboards showing total market cap, BTC/ETH dominance, and 24-hour volume without pulling individual coin data. - DeFi and Web3 application price feeds -- Integrate real-time price lookups into decentralized applications, portfolio trackers, or custom trading dashboards via the Apify API.
API & Integration
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("OHTDT0XcSziuWLin7").call(run_input={"apiKey": "CG-xxxxxxxxxxxxxxxxxxxx","mode": "market","vsCurrency": "usd","maxResults": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['name']} ({item['symbol']}): ${item['currentPrice']}")
JavaScript:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_APIFY_TOKEN" });const run = await client.actor("OHTDT0XcSziuWLin7").call({apiKey: "CG-xxxxxxxxxxxxxxxxxxxx",mode: "price",coinIds: ["bitcoin", "ethereum", "solana"],vsCurrency: "usd",});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => console.log(`${item.coinId}: $${item.currentPrice}`));
cURL:
curl "https://api.apify.com/v2/acts/OHTDT0XcSziuWLin7/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-d '{"apiKey": "CG-xxxxxxxxxxxxxxxxxxxx","mode": "global"}'
Integrations
- Zapier -- Build price alert workflows that run the actor on a schedule, check thresholds, and send notifications to Slack, email, or SMS.
- Make (Integromat) -- Create multi-step workflows that filter results by price change or volume and push data to Google Sheets, Airtable, or Notion.
- Google Sheets -- Export market data directly to a spreadsheet for collaborative portfolio tracking and charting using the Apify Google Sheets integration.
- Webhooks -- Configure Apify webhooks to POST the full dataset to any HTTP endpoint when a run completes for real-time database ingestion.
How it works
+------------------+| Actor Input || (mode, apiKey, || coinIds, etc.) |+--------+---------+|+-----------+-----------+| Mode Selection |+-----------+-----------+|+----------+-----------+-----------+-----------+----------+| | | | | |market price trending global search history| | | | | |/coins/ /simple/ /search/ /global /search /coins/markets price trending {id}/market_chart| | | | | |+----------+-----------+-----------+-----------+----------+|+-----------+-----------+| Normalize Response || to Typed Objects |+-----------+-----------+|+-----------+-----------+| Push to Apify || Dataset (JSON/CSV) |+---------------------- +
- The actor reads input parameters and validates the selected mode.
- If no API key is provided, it enters dry-run mode and outputs setup instructions.
- Based on the mode, it calls the appropriate CoinGecko API v3 endpoint with the
x_cg_demo_api_keyparameter. - Raw API responses are normalized into typed output objects with consistent field names.
- For history mode, the actor iterates through each coin ID and fetches chart data sequentially.
- All results are pushed to the Apify dataset for download or API access.
Performance & cost
| Scenario | API calls | Compute units | Est. duration |
|---|---|---|---|
| Market rankings (top 100 coins) | 1 | ~0.01 CU | 3-5 seconds |
| Price lookup (5-10 coins) | 1 | ~0.01 CU | 2-4 seconds |
| Trending coins | 1 | ~0.01 CU | 2-4 seconds |
| Global market stats | 1 | ~0.01 CU | 2-3 seconds |
| Coin search | 1 | ~0.01 CU | 2-4 seconds |
| History (1 coin, 30 days) | 1 | ~0.02 CU | 3-5 seconds |
| History (5 coins, 365 days) | 5 | ~0.05 CU | 10-15 seconds |
The actor uses 256 MB of memory. On the Apify Free plan (~$5/month of compute), you can run roughly 500 market or price lookups per month. The CoinGecko Demo API key is free and allows 10,000 calls/month with approximately 30 calls/minute rate limiting. Each actor run uses 1-6 API calls depending on the mode and number of coins.
Limitations
- CoinGecko API key required. The actor requires a free Demo API key from CoinGecko. Without it, the actor only outputs setup instructions.
- Rate limits on free tier. The CoinGecko Demo key allows approximately 10,000 API calls per month and 30 calls per minute. High-frequency runs may hit these limits.
- 250 coins maximum per market run. The CoinGecko API returns a maximum of 250 coins per page in market mode. For the full 15,000+ coin list, use search mode.
- History mode is sequential. When requesting historical data for multiple coins, each coin requires a separate API call, which increases both run time and API usage.
- Price mode returns fewer fields. The simple price endpoint provides only current price, market cap, volume, and 24-hour change. For full metrics including supply and ATH/ATL, use market mode.
- Data granularity depends on range. History ranges of 1-2 days return 5-minute intervals. Ranges of 3-90 days return hourly data. Ranges over 90 days return daily data. This is controlled by CoinGecko, not the actor.
Responsible use
This actor accesses the CoinGecko API, which has published rate limits and terms of service. Please respect the following guidelines:
- Stay within your CoinGecko API key rate limits (30 calls/minute, 10,000 calls/month on the free tier).
- Do not use this actor to redistribute CoinGecko data in ways that violate their terms of service.
- Space out scheduled runs appropriately. Hourly runs for price monitoring are reasonable; running every minute is excessive and may trigger rate limiting.
- If your usage requires higher throughput, consider upgrading to a paid CoinGecko API plan.
FAQ
Do I need a CoinGecko API key? Yes. The actor requires a free CoinGecko Demo API key to fetch live data. Sign up at coingecko.com/en/api -- it takes about 30 seconds. Without a key, the actor runs in dry-run mode and outputs instructions.
How many coins can I retrieve per run? In market mode, up to 250 coins per run ranked by market cap. In price mode, you can look up any number of specific coins by ID. In search mode, up to 250 results. CoinGecko tracks over 15,000 cryptocurrencies total.
How fresh is the data? CoinGecko updates prices approximately every 1-2 minutes for actively traded coins. Historical data uses daily closing prices for ranges over 90 days, hourly prices for 3-90 day ranges, and 5-minute intervals for 1-2 day ranges.
What is the difference between market mode and price mode? Market mode returns the top coins ranked by market cap with comprehensive data including supply metrics, ATH/ATL, and 7d/30d price changes. Price mode is a lightweight lookup for specific coins by ID, returning only current price, market cap, volume, and 24-hour change. Use market mode for broad analysis and price mode for targeted monitoring.
Can I get historical data for multiple coins at once?
Yes. In history mode, provide multiple coin IDs in the coinIds field. The actor fetches chart data for each coin sequentially and combines all data points into a single dataset. Each coin uses one API call.
Does the actor support stablecoins and meme coins? Yes. CoinGecko tracks all types of cryptocurrencies including stablecoins (USDT, USDC, DAI), meme coins (DOGE, SHIB, PEPE), DeFi tokens, Layer 2 tokens, and NFT-related tokens. If a coin is listed on CoinGecko, this actor can retrieve its data.
What happens if I run the actor without an API key? The actor enters dry-run mode and outputs a single record with step-by-step instructions for obtaining a free CoinGecko Demo API key. No API calls are made and no cryptocurrency data is returned. This lets you test the actor setup before creating an account.
Related actors
| Actor | Description |
|---|---|
| Finnhub Stock Market Data | Stock prices, company profiles, and financial data from traditional markets for cross-asset analysis. |
| FRED Economic Data Search | Federal Reserve economic indicators like interest rates and inflation that influence crypto markets. |
| Currency Exchange Rate Tracker | Real-time fiat exchange rates to understand how currency strength affects crypto pricing. |
| Historical Exchange Rate Data | Historical fiat rates to normalize crypto prices across currencies for multi-region analysis. |
| Hacker News Search | Monitor crypto discussions and sentiment signals on Hacker News that often precede price movements. |
| Website Change Monitor | Track changes on crypto project websites or regulatory pages to catch important updates early. |