CoinGecko API Alternative — Crypto Scraper avatar

CoinGecko API Alternative — Crypto Scraper

Pricing

from $2.00 / 1,000 result emitteds

Go to Apify Store
CoinGecko API Alternative — Crypto Scraper

CoinGecko API Alternative — Crypto Scraper

Pull crypto market data from CoinGecko — price, 24h change, market cap, volume, supply, ATH/ATL, exchanges — one clean typed row per coin, exported to JSON or CSV on a schedule. We handle the rate limits, retries, and proxy routing so the data lands. Built on the CoinGecko v3 API.

Pricing

from $2.00 / 1,000 result emitteds

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a month 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, solana), absorbs upstream rate limits and transient errors with backoff, and writes one row per coin — current price in USD plus your chosen secondary currency, 24h/7d/30d price change percentages, market cap, 24h trading volume, circulating supply, ATH/ATL with ISO-8601 timestamps, community 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-cffi impersonates 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-After honoured.
  • 🧱 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

  • Crypto portfolio tracker API — schedule a daily run with your watchlist, pipe to a spreadsheet or your own dashboard.
  • Price-change alerting — diff successive runs, fire a Discord / Slack webhook when 24h change crosses a threshold.
  • Algorithmic trading research — pull 50 coins by market cap rank, feed into a backtest pipeline without hitting the free-tier ceiling.
  • Tax reporting snapshots — daily price records stored for capital-gains math at year-end.
  • No-code automation (n8n / Make / Zapier) — connect via the Apify integration node; build a daily watchlist alert to Discord without writing a line of code.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the Apify API.

For no-code workflows: install the Apify node for n8n or the Apify module for Make, connect your Apify token, and point it at DevilScrapes/coingecko-crypto-scraper.

📥 Input

FieldTypeRequiredDefaultNotes
coinIdsarrayyes["bitcoin", "ethereum", "solana"]List of CoinGecko coin IDs (lowercase slugs). Find them at coingecko.com — the slug in the URL.
vsCurrencystringno"eur"ISO currency code (lowercase) alongside USD — e.g. eur, gbp, jpy. USD is always included.
includeDeveloperDatabooleannofalseAdd GitHub forks/stars/commits where the coin has a linked repo.
apiKeystringno—Optional — lifts the demo-tier limit from 10 req/min to your plan's quota.
concurrencyintegerno2Parallel coin lookups. Keep low on the demo tier (10 req/min ceiling).
proxyConfigurationobjectno{"useApifyProxy": false}CoinGecko rate-limits aggressive scrapers — Apify Proxy with rotating sessions helps when the ceiling is tight.

Example input

{
"coinIds": [
"bitcoin",
"ethereum",
"solana"
],
"vsCurrency": "eur",
"concurrency": 2,
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
coin_idstringCoinGecko coin slug.
symbolstringTicker symbol.
namestringCoin display name.
image_urlstring | nullCoin logo (large) URL.
current_price_usdnumber | nullCurrent price in USD.
current_price_vsnumber | nullCurrent price in the secondary vsCurrency.
vs_currencystringSecondary currency code used.
price_change_24h_pctnumber | null24h price change percent.
price_change_7d_pctnumber | null7d price change percent.
price_change_30d_pctnumber | null30d price change percent.
market_cap_usdnumber | nullMarket cap in USD.
market_cap_rankinteger | nullMarket cap rank across all coins.
total_volume_usdnumber | null24h trading volume in USD.
circulating_supplynumber | nullCirculating supply.
total_supplynumber | nullTotal supply.
max_supplynumber | nullMaximum supply (null for unlimited).
ath_usdnumber | nullAll-time high in USD.
ath_datestring | nullATH timestamp (ISO-8601).
atl_usdnumber | nullAll-time low in USD.
atl_datestring | nullATL timestamp (ISO-8601).
sentiment_up_pctnumber | nullCommunity sentiment % bullish.
exchanges_countinteger | nullNumber of exchanges listing this coin.
github_starsinteger | nullGitHub stars (when includeDeveloperData=true).
github_forksinteger | nullGitHub forks.
coingecko_urlstringCanonical CoinGecko URL.
scraped_atstringISO-8601 timestamp when this row was recorded.

Example output

{
"coin_id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
"image_url": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
"current_price_usd": 71250.32,
"current_price_vs": 65120.10,
"vs_currency": "eur",
"price_change_24h_pct": 2.41,
"price_change_7d_pct": -1.05,
"price_change_30d_pct": 14.22,
"market_cap_usd": 1408000000000,
"market_cap_rank": 1,
"total_volume_usd": 28400000000,
"circulating_supply": 19700000,
"ath_usd": 73750.07,
"ath_date": "2024-03-14T07:10:36.635Z",
"sentiment_up_pct": 84.0,
"exchanges_count": 1042,
"coingecko_url": "https://www.coingecko.com/en/coins/bitcoin",
"scraped_at": "2026-06-01T10:15:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.20One-off warm-up charge per run
result$0.002Per dataset item written

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, good for 2 500 coin lookups before you owe anything.

🚧 Limitations

  • Demo-tier rate limit: CoinGecko's free tier caps you at roughly 10 req/min from a single IP. Attach a CoinGecko Pro API key to lift it; otherwise keep concurrency at 2 or lower.
  • No historical OHLC: this Actor returns current and recent-change data only. Historical candlestick data is a separate use case.
  • Some fields null for low-coverage coins: lesser-known assets may have incomplete market data on CoinGecko's side.
  • Scheduling is your job: the Actor runs once per trigger. For continuous time-series, wire it to an Apify Schedule.

❓ FAQ

Is this a CoinGecko API alternative?

Yes — that's exactly the use case. The CoinGecko free tier is rate-limited to ~10 req/min, and a Pro subscription runs $129/mo. This Actor wraps the same public v3 endpoint, handles rate-limit back-off for you, and charges $2.00 per 1 000 results. For a hobby project scraping 100 coins a day, that's $0.07/day, with no monthly Pro subscription.

Is this real-time?

CoinGecko's free API updates every ~60 seconds. For sub-second feeds, use an exchange WebSocket directly.

What about historical OHLC data?

Out of scope for this Actor — it returns current snapshots and recent price-change percentages only. Historical candlestick data requires the CoinGecko Pro /coins/{id}/ohlc endpoint.

I'm hitting 429 errors — what should I do?

The CoinGecko rate limit is the binding constraint on the free tier. Lower concurrency to 1, or attach a Pro API key in the apiKey field. We already handle transient 429s with exponential backoff and session rotation — persistent 429s mean the upstream quota is genuinely exhausted.

Can I use this with n8n, Make, or Zapier?

Yes. Connect via the Apify integration node in your automation platform, paste your Apify API token, select DevilScrapes/coingecko-crypto-scraper, and pass the coin IDs as input. The run output lands in an Apify dataset you can map to any downstream action.

Can I filter coins by category?

Pass the full ID list directly. Category enumeration (e.g. "pull all DeFi coins") is on the roadmap.

Do I need a CoinGecko account?

No account needed for the demo tier. The apiKey field is optional and only required if you want to lift the rate limit with a Pro plan.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab in Apify Console — we ship fixes weekly and we read every report.