CoinGecko Scraper — Markets, Trending & Exchanges avatar

CoinGecko Scraper — Markets, Trending & Exchanges

Pricing

from $1.50 / 1,000 results

Go to Apify Store
CoinGecko Scraper — Markets, Trending & Exchanges

CoinGecko Scraper — Markets, Trending & Exchanges

Scrape CoinGecko by market cap, coin ID, or category. Extract price, volume, market cap, ATH, supply, and more for thousands of coins. No API key, no login.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract live cryptocurrency market data from CoinGecko at scale — prices, volumes, market caps, ATH, supply, trending coins, exchanges, and categories — all without an API key.


What does CoinGecko Scraper do?

CoinGecko Scraper queries the official CoinGecko public API (api.coingecko.com/api/v3) to pull structured crypto market data into Apify datasets. It operates in five modes: markets (paginated through the full coin list, up to 15,000+ coins), coinDetail (per-coin deep data including description, links, and historical highs/lows), trending (coins and NFTs currently trending on CoinGecko), exchanges (all tracked exchanges with trust scores and volume), and categories (all coin categories with aggregate market cap and volume). Pagination runs automatically — a single markets run can return 2,000–5,000+ coins sorted by market cap. No API key, no login, no browser automation; pure JSON API calls via got-scraping with built-in rate-limit handling (automatic 429 backoff) and proxy support for reliability.


Who is it for?

  • Quantitative traders and analysts building price dashboards or backtesting datasets.
  • DeFi and crypto researchers who need structured metadata on thousands of coins.
  • Data engineers feeding crypto market data into databases, warehouses, or ML pipelines.
  • Journalists and report writers extracting snapshots of market cap rankings and volume leaders.
  • Portfolio tracker developers who need fresh, bulk coin data without paying for premium APIs.

Use cases

  • Pull the top 1,000 coins by market cap nightly and load them into a PostgreSQL database for trend analysis.
  • Monitor trending coins daily and trigger alerts when a new token enters the top 7 trending list.
  • Build a DeFi dashboard that updates exchange trust scores and 24h volume weekly.
  • Extract all CoinGecko categories with aggregate market cap to identify rotating sector momentum.
  • Enrich a watchlist of custom coin IDs with full metadata — description, GitHub link, ATH, ATL.

Why use CoinGecko Scraper?

  • Keyless and free: uses CoinGecko's public API — no API key, no OAuth, no sign-up required.
  • 15+ fields per coin: price, market cap, volume, supply, ATH, ATL, price change, last updated, and more.
  • Bulk pagination: markets and exchanges auto-paginate so one run yields thousands of rows.
  • Five modes in one actor: markets, coinDetail, trending, exchanges, categories — no separate setup needed.
  • Smart rate-limit handling: respects CoinGecko's free tier with automatic 429 backoff and retry.
  • Export to CSV, JSON, Excel: all Apify dataset formats supported out of the box.

What data can you extract?

Field table (markets mode — primary mode)

FieldTypeDescription
idstringCoinGecko coin identifier (e.g. bitcoin)
symbolstringTicker symbol (e.g. btc)
namestringHuman-readable name (e.g. Bitcoin)
current_pricenumberCurrent price in vs_currency
market_capnumberMarket capitalization
market_cap_ranknumberGlobal rank by market cap
total_volumenumber24h trading volume
high_24hnumber24h high price
low_24hnumber24h low price
price_change_percentage_24hnumber% price change in last 24h
circulating_supplynumberCoins currently in circulation
total_supplynumberTotal supply (may be null)
max_supplynumberMaximum possible supply (may be null)
athnumberAll-time high price
ath_datestringDate of all-time high
atlnumberAll-time low price
atl_datestringDate of all-time low
last_updatedstringISO timestamp of last data update
vs_currencystringQuote currency used (e.g. usd)
modestringScrape mode used

Additional fields in coinDetail mode

FieldTypeDescription
descriptionstringShort plain-text description (first 500 chars)
categoriesstringComma-separated list of CoinGecko categories
homepagestringOfficial project website URL
twitterstringOfficial Twitter/X profile URL
redditstringOfficial subreddit URL
githubstringPrimary GitHub repository URL
coingecko_urlstringCoinGecko coin page URL

Sample output (markets mode)

{
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
"current_price": 67452.0,
"market_cap": 1324567890123,
"market_cap_rank": 1,
"total_volume": 28450000000,
"high_24h": 68100.0,
"low_24h": 66800.0,
"price_change_percentage_24h": 0.95,
"circulating_supply": 19700000,
"total_supply": 21000000,
"max_supply": 21000000,
"ath": 73738.0,
"ath_date": "2024-03-14T07:10:36.635Z",
"atl": 67.81,
"atl_date": "2013-07-06T00:00:00.000Z",
"last_updated": "2026-07-08T10:00:00.000Z",
"vs_currency": "usd",
"mode": "markets"
}

How to use

Option A: Markets (paginated bulk pull)

Set mode to markets. The scraper paginates through all coins sorted by market cap. Control how many you want with maxResults (0 = unlimited). Filter by category to narrow results.

{
"mode": "markets",
"vsCurrency": "usd",
"maxResults": 1000,
"category": "",
"proxyConfiguration": { "useApifyProxy": true }
}

Option B: Coin Detail (by ID list)

Set mode to coinDetail and provide coinIds — a list of CoinGecko coin identifiers. Find IDs from the markets run or the CoinGecko website URL slug.

{
"mode": "coinDetail",
"coinIds": ["bitcoin", "ethereum", "solana", "cardano", "polkadot"],
"proxyConfiguration": { "useApifyProxy": true }
}

Set mode to trending. No other inputs required. Returns up to 7 trending coins + trending NFTs.

{
"mode": "trending",
"proxyConfiguration": { "useApifyProxy": true }
}

Option D: Exchanges

Set mode to exchanges. Paginates through all CoinGecko-tracked exchanges with trust scores and 24h volume in BTC.

{
"mode": "exchanges",
"maxResults": 200,
"proxyConfiguration": { "useApifyProxy": true }
}

Option E: Categories

Set mode to categories. Returns all CoinGecko coin categories with aggregate market cap and volume.

{
"mode": "categories",
"proxyConfiguration": { "useApifyProxy": true }
}

Input parameters

ParameterTypeDefaultDescription
modestringmarketsScrape mode: markets, coinDetail, trending, exchanges, categories
vsCurrencystringusdQuote currency for prices (markets mode). Options: usd, eur, btc, eth, gbp, etc.
coinIdsarray[]Coin IDs for coinDetail mode (e.g. ["bitcoin","ethereum"])
categorystring""CoinGecko category slug filter for markets (e.g. decentralized-finance-defi, layer-1, meme-token)
maxResultsinteger500Max rows to return (markets/exchanges). 0 = unlimited
proxyConfigurationobject{useApifyProxy:true}Apify proxy config. Datacenter is sufficient.

Full input JSON example

{
"mode": "markets",
"vsCurrency": "usd",
"category": "decentralized-finance-defi",
"maxResults": 500,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["DATACENTER"]
}
}

Output example

One fully-populated coinDetail record:

{
"id": "ethereum",
"symbol": "eth",
"name": "Ethereum",
"current_price": 3520.5,
"market_cap": 423000000000,
"market_cap_rank": 2,
"total_volume": 15800000000,
"high_24h": 3590.0,
"low_24h": 3480.0,
"price_change_percentage_24h": 1.32,
"circulating_supply": 120200000,
"total_supply": 120200000,
"max_supply": null,
"ath": 4878.26,
"ath_date": "2021-11-10T14:24:19.604Z",
"atl": 0.432979,
"atl_date": "2015-10-20T00:00:00.000Z",
"last_updated": "2026-07-08T10:05:00.000Z",
"description": "Ethereum is a decentralized platform that runs smart contracts...",
"categories": "Smart Contract Platform, Ethereum Ecosystem",
"homepage": "https://www.ethereum.org/",
"twitter": "https://twitter.com/ethereum",
"reddit": "https://www.reddit.com/r/ethereum/",
"github": "https://github.com/ethereum/go-ethereum",
"coingecko_url": "https://www.coingecko.com/en/coins/ethereum",
"vs_currency": "usd",
"mode": "coinDetail"
}

Tips for best results

  • Start with markets mode — it gives you coin IDs you can feed into coinDetail mode for enrichment.
  • Set maxResults=0 to get all available coins (~15,000+), but expect the run to take 10–20 minutes due to rate limiting.
  • Use category filter to narrow market pulls: layer-1, layer-2, meme-token, decentralized-finance-defi, stablecoins, gaming, metaverse, nft.
  • CoinGecko free tier allows ~30 req/min. The scraper defaults to ~40 calls/min with built-in backoff — you don't need to adjust anything.
  • For vsCurrency, use eur, gbp, jpy, or any of the 70+ currencies CoinGecko supports. Prices will be converted automatically.
  • Trending data updates every 5–10 minutes on CoinGecko — schedule the actor accordingly for real-time trend monitoring.
  • coinDetail mode is sequential (1 ID/request) — for 100+ coins, expect ~5 minutes. Plan batch sizes of 50–200 IDs per run.
  • Exchanges mode returns trust score and volume in BTC — convert to USD using the bitcoin price from a markets run.
  • Schedule daily runs using Apify Scheduler to keep a fresh dataset in your storage without manual intervention.
  • Download as CSV from the Apify dataset UI for direct import into Excel, Google Sheets, or BI tools.

Integrations

IntegrationHow
Google SheetsUse Apify's native Google Sheets integration to push results automatically after each run.
SlackUse Apify Webhooks to send a Slack notification with item count when the run completes.
ZapierConnect the Apify Zapier app to trigger workflows when new data arrives in the dataset.
Make (Integromat)Use the Apify Make module to fetch dataset items and pipe them into any downstream app.
WebhooksSet a webhook on actor run completion to POST dataset stats to your own endpoint.
ScheduleRun nightly via Apify Scheduler — configure cron 0 2 * * * for 2 AM UTC daily refresh.

API usage

cURL

curl -X POST \
"https://api.apify.com/v2/acts/logiover~coingecko-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"markets","vsCurrency":"usd","maxResults":500}'

Node.js (Apify client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('logiover/coingecko-scraper').call({
mode: 'markets',
vsCurrency: 'usd',
maxResults: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]); // { id: 'bitcoin', current_price: 67000, ... }

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("logiover/coingecko-scraper").call(run_input={
"mode": "markets",
"vsCurrency": "usd",
"maxResults": 1000,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[0]) # {'id': 'bitcoin', 'current_price': 67000, ...}

Use with AI agents (MCP)

CoinGecko Scraper is available as an MCP (Model Context Protocol) tool via Apify's MCP server. Connect it to Claude, GPT-4, or any MCP-compatible AI agent to let the agent fetch live crypto market data on demand. Example agent prompt: "Use the CoinGecko scraper to get the top 50 DeFi tokens by market cap and rank them by 24h price change." The agent will trigger the actor, wait for results, and return structured data — no code required.


FAQ

Does this require a CoinGecko API key?

No. The scraper uses CoinGecko's free public API (api.coingecko.com/api/v3), which requires no authentication. All endpoints used are publicly accessible.

How many coins can I get in one run?

CoinGecko lists approximately 12,000–16,000 coins total. Set maxResults to 0 for all of them. A full pull takes 10–20 minutes due to free-tier rate limits.

What currencies are supported for prices?

Over 70 currencies are supported via the vsCurrency parameter: usd, eur, gbp, jpy, btc, eth, bnb, aud, cad, chf, and more. Check the CoinGecko supported currencies endpoint for the full list.

Why did I get zero results?

Common causes: (1) invalid coinIds in coinDetail mode (check the IDs exist on CoinGecko), (2) an unknown category slug in markets mode, (3) transient CoinGecko rate limit. Enable Apify proxy and retry.

Some price fields are null — why?

Newly listed coins or low-liquidity tokens may have null values for ath, total_supply, max_supply, or high_24h if CoinGecko hasn't tracked them long enough. This is expected and not a scraper bug.

Can I export the data to Excel?

Yes. Open the Apify dataset, click Export and choose XLSX. For large datasets, CSV or JSON Line is faster.

How fast is the scraper?

Markets mode runs at ~40 pages/min (250 coins/page). Expect 500 coins in ~30 seconds, 5,000 coins in ~3 minutes, full dataset in ~15 minutes. coinDetail mode is ~1 request/1.5s.

CoinGecko's public API is designed for programmatic access. The scraper follows CoinGecko's rate limits and terms of service. Data is used for informational purposes; do not republish as a competing data service.

How often does CoinGecko update its data?

Price and volume data updates every 1–2 minutes. Trending updates every 5–10 minutes. Categories update every few hours.

You can combine CoinGecko Scraper with other logiover actors for deeper crypto research — pair it with a news scraper for sentiment analysis, or a DeFi protocol tracker for on-chain vs market comparison.

Can I filter markets by category?

Yes. Use the category input field with a CoinGecko category slug. Examples: decentralized-finance-defi, layer-1, layer-2, meme-token, stablecoins, gaming, artificial-intelligence, real-world-assets.

Can I scrape prices in crypto-to-crypto pairs?

Yes. Set vsCurrency to btc or eth to get all prices denominated in Bitcoin or Ethereum respectively.


CoinGecko provides its public API for developer use and does not prohibit programmatic data access within its rate limits. This actor operates fully within those limits and accesses only publicly available market data. No personal data is collected. Use of extracted data should comply with CoinGecko's Terms of Service and applicable financial data regulations in your jurisdiction. This actor is not affiliated with CoinGecko.