CoinGecko Crypto Data Scraper
Pricing
Pay per event
CoinGecko Crypto Data Scraper
Pull rich market data for any crypto asset — price, 24h change, market cap, volume, supply, ATH/ATL, exchanges, and on-chain stats. Built on CoinGecko's public API (free demo tier). One row per coin.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🎯 What this scrapes
CoinGecko covers 14 000+ crypto assets with deep market data. This Actor takes a list of coin IDs (e.g. bitcoin, ethereum), absorbs the upstream's rate limits and transient errors with backoff, and writes one row per coin — current price in USD + your chosen vs currency, 24h price change, market cap, volume, circulating supply, ATH/ATL with dates, sentiment, and exchange listing count. Run it once for a snapshot or on a schedule for a time-series — we keep the connection honest so your dataset stays clean.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python. - 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
- 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
💡 Use cases
- Portfolio tracker — schedule a daily run with your watch list, pipe to a spreadsheet.
- Alerting — diff successive runs, alert when 24h change crosses a threshold.
- Research — pull 50 coins by market cap rank, feed into a trading-strategy backtest.
- Tax reporting — daily price snapshots stored for capital-gains math.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
coinIds | array | yes | ['bitcoin', 'ethereum', 'solana'] | List of CoinGecko coin IDs (lowercase slugs). Find them at coingecko.com — the slug in the URL. Examples: bitcoin< |
vsCurrency | string | no | 'eur' | ISO currency code (lowercase) to add alongside USD — e.g. eur, gbp, jpy. USD is a |
includeDeveloperData | boolean | no | False | Add GitHub forks/stars/commits where the coin has a linked repo. |
apiKey | string | no | '—' | Optional — lifts the demo-tier limit from 10 req/min to your plan's quota. |
concurrency | integer | no | 2 | Parallel coin lookups. Keep low on the demo tier (10 req/min ceiling). |
proxyConfiguration | object | no | {'useApifyProxy': False} | Optional. CoinGecko sometimes rate-limits aggressive scrapers — Apify Proxy with rotating sessions helps in that case. |
Example input
{"coinIds": ["bitcoin","ethereum"],"vsCurrency": "eur","concurrency": 2,"proxyConfiguration": {"useApifyProxy": false}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
coin_id | string | CoinGecko coin slug. |
symbol | string | Ticker symbol. |
name | string | Coin display name. |
image_url | ['string', 'null'] | Coin logo (large) URL. |
current_price_usd | ['number', 'null'] | Current price in USD. |
current_price_vs | ['number', 'null'] | Current price in the secondary vsCurrency. |
vs_currency | string | Secondary currency code used. |
price_change_24h_pct | ['number', 'null'] | 24h price change percent. |
price_change_7d_pct | ['number', 'null'] | 7d price change percent. |
price_change_30d_pct | ['number', 'null'] | 30d price change percent. |
market_cap_usd | ['number', 'null'] | Market cap in USD. |
market_cap_rank | ['integer', 'null'] | Market cap rank across all coins. |
total_volume_usd | ['number', 'null'] | 24h trading volume in USD. |
circulating_supply | ['number', 'null'] | Circulating supply. |
total_supply | ['number', 'null'] | Total supply. |
max_supply | ['number', 'null'] | Maximum supply (null for unlimited). |
ath_usd | ['number', 'null'] | All-time high in USD. |
ath_date | ['string', 'null'] | ATH timestamp (ISO-8601). |
atl_usd | ['number', 'null'] | All-time low in USD. |
atl_date | ['string', 'null'] | ATL timestamp. |
sentiment_up_pct | ['number', 'null'] | Community sentiment % bullish. |
exchanges_count | ['integer', 'null'] | Number of exchanges listing this coin. |
github_stars | ['integer', 'null'] | GitHub stars (when includeDeveloperData=true). |
github_forks | ['integer', 'null'] | GitHub forks. |
coingecko_url | string | Canonical CoinGecko URL. |
scraped_at | string | When this row was recorded. |
Example output
{"coin_id": "bitcoin","symbol": "btc","name": "Bitcoin","current_price_usd": 71250.32,"current_price_vs": 65120.1,"vs_currency": "eur","price_change_24h_pct": 2.41,"market_cap_usd": 1408000000000,"market_cap_rank": 1,"coingecko_url": "https://www.coingecko.com/en/coins/bitcoin"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.005 | One-off warm-up charge per run |
result | $0.002 | Per dataset item |
Example: 1 000 results at the rates above ≈ $2.00. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
Demo tier is rate-limited (~10 req/min). For thousands of coins, attach a CoinGecko Pro key. Some fields are null for low-coverage coins.
❓ FAQ
Is this real-time?
CoinGecko's free API updates every ~60 seconds. For sub-second feeds, use an exchange WebSocket.
What about historical OHLC?
Out of scope here — see the sibling coingecko-ohlc-scraper (planned).
Why am I getting 429s?
The free tier caps you at ~10 req/min from a single IP. Slow concurrency or attach a Pro key.
Can I filter by category?
Pass the full ID list. Category enumeration is on the roadmap.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.