CoinPaprika Scraper
Pricing
from $3.00 / 1,000 results
CoinPaprika Scraper
Scrape live crypto market data from CoinPaprika with top coins by market cap, specific coin lookups with rich detail (description, social links, tags), search, exchanges, and global market stats. Public API, no key required, no per-minute rate limit.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(19)
Developer
Crawler Bros
Actor stats
20
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape live crypto market data from CoinPaprika — covering 12K+ coins, 350+ exchanges, and live market stats. Pulls prices, market caps, volumes, all-time highs, supply data, social links, descriptions, tags, and global market stats.
Public API, no API key required, no per-minute rate limit (free tier ≈ 25K req/month).
What you get
Coin records (recordType=coin)
Markets / coins mode:
| Field | Description |
|---|---|
id | CoinPaprika coin ID (btc-bitcoin, eth-ethereum, …) |
symbol | Ticker (btc) |
name | Display name |
marketCapRank | Rank by market cap |
currentPrice | Current price in quoteCurrency |
marketCap | Market cap in quoteCurrency |
totalVolume24h | 24h trading volume |
priceChangePercentage15m, priceChangePercentage30m, priceChangePercentage1h, priceChangePercentage6h, priceChangePercentage12h | Short-window price moves |
priceChangePercentage24h, priceChangePercentage7d, priceChangePercentage30d, priceChangePercentage1y | Long-window price moves |
marketCapChangePercentage24h, volumeChangePercentage24h | 24h aggregate moves |
circulatingSupply, totalSupply, maxSupply | Supply data |
allTimeHigh, allTimeHighDate, allTimeHighChangePercentage | ATH info |
betaValue | Beta vs BTC |
firstDataAt, lastUpdated | Timestamps |
quoteCurrency | Quote currency for prices (e.g. USD) |
url | Public CoinPaprika URL |
Coins mode (with includeDetails=true) also adds:
| Field | Description |
|---|---|
description | Coin description (HTML stripped) |
tags | Array of tag names |
type | coin / token |
openSource, developmentStatus, hardwareWallet | Booleans |
proofType, hashAlgorithm, orgStructure | Metadata |
startedAt | Genesis date |
teamSize | Number of team members |
social | {homepage, twitter, reddit, github, youtube, telegram} |
Exchange records (recordType=exchange)
| Field | Description |
|---|---|
id, name | Exchange metadata |
type | Array (e.g. ["cex", "spot"]) |
active, websiteStatus | Booleans |
marketCapRank | Adjusted rank |
currenciesCount, marketsCount | Inventory |
reportedVolume24hUsd, adjustedVolume24hUsd | 24h volume in USD |
social | {website, twitter} |
description | Exchange description |
Global record (recordType=global)
| Field | Description |
|---|---|
totalMarketCapUsd, totalVolume24hUsd | Aggregate market cap + volume in USD |
bitcoinDominancePercentage | BTC dominance |
cryptocurrenciesNumber | Total tracked coins |
marketCapAthValue, marketCapAthDate | Market-cap ATH |
volume24hAthValue, volume24hAthDate | Volume ATH |
marketCapChangePercentage24h, volumeChangePercentage24h | 24h aggregate moves |
updatedAt | Unix timestamp |
Empty fields are dropped at every depth.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | Enum | markets | markets / coins / search / exchanges / global / coinEvents / coinMarkets / coinExchanges / tags / ohlcv / priceConverter |
quoteCurrency | Enum | USD | USD, BTC, ETH, EUR, GBP, JPY, PLN, KRW, CNY, INR |
coinIds | Array | — | CoinPaprika coin IDs (mode=coins, coinEvents, coinMarkets, coinExchanges, ohlcv) |
tagIds | Array | — | Tag IDs (mode=tags) — leave empty to list ALL tags |
baseCurrencyId | String | — | FROM coin ID (mode=priceConverter) |
quoteCurrencyId | String | — | TO coin ID (mode=priceConverter) |
amount | Integer | 1 | Amount to convert (mode=priceConverter) |
includeDetails | Boolean | true | Fetch rich detail per coin (mode=coins) |
searchQuery | String | bitcoin | Search query (mode=search) |
order | Enum | market_cap_desc | Client-side sort for mode=markets |
minMarketCap | Integer | — | Drop coins below this market cap |
min24hVolume | Integer | — | Drop coins below this 24h volume |
maxItems | Integer | 50 | Hard cap (1-5000) |
useProxy | Boolean | false | Route through Apify proxy with auto IP rotation (bypasses per-IP rate limits) |
proxyGroups | Array | [] | Apify proxy groups (e.g. ["RESIDENTIAL"]); empty = auto |
rotateEveryNRequests | Integer | 25 | When using proxy, swap IP every N requests (also rotates on 429) |
Example input — top 100 coins by market cap
{"mode": "markets","quoteCurrency": "USD","order": "market_cap_desc","maxItems": 100}
Example input — biggest 24h gainers
{"mode": "markets","order": "change_24h_desc","minMarketCap": 100000000,"maxItems": 50}
Example input — specific coins (rich detail)
{"mode": "coins","coinIds": ["btc-bitcoin", "eth-ethereum", "sol-solana", "ada-cardano"],"quoteCurrency": "USD","includeDetails": true}
Example input — search
{"mode": "search","searchQuery": "doge"}
Example input — top exchanges
{"mode": "exchanges","maxItems": 20}
Example input — global market overview
{"mode": "global"}
Example input — coin events (hard-fork dates, listings, milestones)
{"mode": "coinEvents","coinIds": ["btc-bitcoin", "eth-ethereum"],"maxItems": 100}
Example input — per-coin pair markets (where each coin trades)
{"mode": "coinMarkets","coinIds": ["btc-bitcoin"],"quoteCurrency": "USD","maxItems": 200}
Example input — exchanges that list a coin
{"mode": "coinExchanges","coinIds": ["btc-bitcoin", "eth-ethereum"]}
Example input — tag taxonomy
{"mode": "tags","maxItems": 100}
Example input — specific tags with member coins
{"mode": "tags","tagIds": ["defi", "stablecoin", "dao"]}
Example input — latest OHLCV (open/high/low/close/volume) for a coin
{"mode": "ohlcv","coinIds": ["btc-bitcoin", "eth-ethereum"],"quoteCurrency": "USD"}
Example input — price converter (BTC → ETH)
{"mode": "priceConverter","baseCurrencyId": "btc-bitcoin","quoteCurrencyId": "eth-ethereum","amount": 1}
Example output
{"recordType": "coin","id": "btc-bitcoin","symbol": "btc","name": "Bitcoin","url": "https://coinpaprika.com/coin/btc-bitcoin/","quoteCurrency": "USD","marketCapRank": 1,"currentPrice": 82397.0894,"marketCap": 1650043655158.0,"totalVolume24h": 35994071984.028,"priceChangePercentage1h": -0.13,"priceChangePercentage24h": 1.12,"priceChangePercentage7d": 7.29,"circulatingSupply": 20025512.0,"maxSupply": 21000000.0,"allTimeHigh": 126173.1778,"allTimeHighDate": "2025-10-06T19:00:40Z","allTimeHighChangePercentage": -34.72,"betaValue": 0.9336,"lastUpdated": "2026-05-06T12:35:16Z","scrapedAt": "2026-05-06T12:36:00Z"}
Use cases
- Crypto trading bots — Live price + multi-window % moves (15m to 1y).
- Portfolio trackers — Snapshot pricing across hundreds of coins.
- Market dashboards —
mode=globalfor daily summaries. - Token research —
mode=coinswithincludeDetailsfor description, tags, social links. - Exchange-comparison analytics —
mode=exchangeswith adjusted volumes. - Tax / accounting — Historical price snapshots when scheduled.
FAQ
Do I need an API key?
No. CoinPaprika's public endpoints (/tickers, /coins, /search, /exchanges, /global) work without a key. Their paid Pro tier offers higher historical depth and additional endpoints; this actor doesn't require it.
What's the rate limit?
Free tier ≈ 25,000 calls / month with no per-minute cap (much more generous than CoinGecko). The actor only makes one /tickers call for markets mode and at most 2 calls per coin in coins mode.
Can I bypass the rate limit entirely?
Yes — set useProxy=true and the actor rotates Apify proxy IPs every 25 requests (configurable) plus on every HTTP 429. Each IP gets its own quota, so the effective rate limit becomes (your IP pool size × upstream limit). Pair with proxyGroups=["RESIDENTIAL"] for the largest pool. Adds proxy cost.
What if I get blocked mid-run?
By default the actor auto-engages Apify proxy when it hits a block (HTTP 403/429 from the raw datacenter IP) and retries the request. Set autoEscalateOnBlock=false to disable (the run fails fast instead of paying proxy cost).
How do I find a CoinPaprika coin ID?
Run mode=search with the coin name, then read the id field from the results. CoinPaprika IDs use the {symbol}-{slug} format (btc-bitcoin, eth-ethereum, bnb-binance-coin).
What's the difference between mode=markets and mode=coins?
marketsreturns the full ticker list (12K+ coins) sorted client-side — fast, one API call, no description/tags.coinsreturns rich per-coin detail (description, social links, tags, team size) — 1-2 requests per coin, but much richer.
How current is the data? Live — every run hits CoinPaprika at request time. Their data is typically updated every 1-3 minutes.
Do I need a proxy? No. CoinPaprika serves datacenter IPs directly without challenges.
Limitations
- Free tier has no documented per-minute cap, but burst limits exist; the actor backs off and retries on 429.
- Historical OHLCV (
/coins/{id}/ohlcv/historical) requires a paid CoinPaprika plan and is therefore not exposed; onlymode=ohlcv(latest day) is supported. - Per-person profiles (
/people/{id}) and ICO listings (/ico) endpoints have been removed from CoinPaprika's public API and are not exposed. - Trending / categories endpoints aren't part of CoinPaprika's public API; use
order=change_24h_desconmode=marketsfor a "trending" proxy andmode=tagsfor category browsing. - Some lightly traded coins may have stale
lastUpdatedtimestamps.