CoinPaprika Scraper avatar

CoinPaprika Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
CoinPaprika Scraper

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

Crawler Bros

Maintained by Community

Actor stats

20

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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:

FieldDescription
idCoinPaprika coin ID (btc-bitcoin, eth-ethereum, …)
symbolTicker (btc)
nameDisplay name
marketCapRankRank by market cap
currentPriceCurrent price in quoteCurrency
marketCapMarket cap in quoteCurrency
totalVolume24h24h trading volume
priceChangePercentage15m, priceChangePercentage30m, priceChangePercentage1h, priceChangePercentage6h, priceChangePercentage12hShort-window price moves
priceChangePercentage24h, priceChangePercentage7d, priceChangePercentage30d, priceChangePercentage1yLong-window price moves
marketCapChangePercentage24h, volumeChangePercentage24h24h aggregate moves
circulatingSupply, totalSupply, maxSupplySupply data
allTimeHigh, allTimeHighDate, allTimeHighChangePercentageATH info
betaValueBeta vs BTC
firstDataAt, lastUpdatedTimestamps
quoteCurrencyQuote currency for prices (e.g. USD)
urlPublic CoinPaprika URL

Coins mode (with includeDetails=true) also adds:

FieldDescription
descriptionCoin description (HTML stripped)
tagsArray of tag names
typecoin / token
openSource, developmentStatus, hardwareWalletBooleans
proofType, hashAlgorithm, orgStructureMetadata
startedAtGenesis date
teamSizeNumber of team members
social{homepage, twitter, reddit, github, youtube, telegram}

Exchange records (recordType=exchange)

FieldDescription
id, nameExchange metadata
typeArray (e.g. ["cex", "spot"])
active, websiteStatusBooleans
marketCapRankAdjusted rank
currenciesCount, marketsCountInventory
reportedVolume24hUsd, adjustedVolume24hUsd24h volume in USD
social{website, twitter}
descriptionExchange description

Global record (recordType=global)

FieldDescription
totalMarketCapUsd, totalVolume24hUsdAggregate market cap + volume in USD
bitcoinDominancePercentageBTC dominance
cryptocurrenciesNumberTotal tracked coins
marketCapAthValue, marketCapAthDateMarket-cap ATH
volume24hAthValue, volume24hAthDateVolume ATH
marketCapChangePercentage24h, volumeChangePercentage24h24h aggregate moves
updatedAtUnix timestamp

Empty fields are dropped at every depth.

Input

ParameterTypeDefaultDescription
modeEnummarketsmarkets / coins / search / exchanges / global / coinEvents / coinMarkets / coinExchanges / tags / ohlcv / priceConverter
quoteCurrencyEnumUSDUSD, BTC, ETH, EUR, GBP, JPY, PLN, KRW, CNY, INR
coinIdsArrayCoinPaprika coin IDs (mode=coins, coinEvents, coinMarkets, coinExchanges, ohlcv)
tagIdsArrayTag IDs (mode=tags) — leave empty to list ALL tags
baseCurrencyIdStringFROM coin ID (mode=priceConverter)
quoteCurrencyIdStringTO coin ID (mode=priceConverter)
amountInteger1Amount to convert (mode=priceConverter)
includeDetailsBooleantrueFetch rich detail per coin (mode=coins)
searchQueryStringbitcoinSearch query (mode=search)
orderEnummarket_cap_descClient-side sort for mode=markets
minMarketCapIntegerDrop coins below this market cap
min24hVolumeIntegerDrop coins below this 24h volume
maxItemsInteger50Hard cap (1-5000)
useProxyBooleanfalseRoute through Apify proxy with auto IP rotation (bypasses per-IP rate limits)
proxyGroupsArray[]Apify proxy groups (e.g. ["RESIDENTIAL"]); empty = auto
rotateEveryNRequestsInteger25When 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
}
{
"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 dashboardsmode=global for daily summaries.
  • Token researchmode=coins with includeDetails for description, tags, social links.
  • Exchange-comparison analyticsmode=exchanges with 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?

  • markets returns the full ticker list (12K+ coins) sorted client-side — fast, one API call, no description/tags.
  • coins returns 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; only mode=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_desc on mode=markets for a "trending" proxy and mode=tags for category browsing.
  • Some lightly traded coins may have stale lastUpdated timestamps.