Crypto Data API β CoinGecko, DexScreener, DefiLlama | $0.99/1k
Pricing
from $0.99 / 1,000 results
Crypto Data API β CoinGecko, DexScreener, DefiLlama | $0.99/1k
Crypto market data without an API key: coin prices, market caps, volume, 1h/24h/7d change, ATH/ATL and supply from CoinGecko; DEX pairs with liquidity, FDV, volume and transactions from DexScreener; DeFi protocol and chain TVL from DefiLlama. One row per coin, pair or protocol. JSON, CSV, Excel.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Raffy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
What does Crypto Data API do?
Crypto Data API returns live crypto market data as clean rows from three public, keyless sources in one Actor:
- Coins from CoinGecko: price, market cap and rank, 24h volume, 1h/24h/7d change, all-time high and low, circulating/total/max supply, for the top N coins by market cap or for the exact coins you name.
- DEX pairs from DexScreener: every trading pair of a token across Ethereum, Solana, Base, BSC, Arbitrum and 100+ chains, with price, liquidity, FDV, market cap, 24h volume and transaction counts, price change and pair age.
- DeFi TVL from DefiLlama: protocols and chains with their total value locked, TVL change and category.
It works as a CoinGecko API, DexScreener API and DefiLlama API alternative: no API key, no account, no browser, no proxy. One request answers up to 250 coins, so a run over the top 1,000 coins is four requests and finishes in seconds. Export as JSON, CSV or Excel, or read the dataset from your own code or an AI agent.
It reads market data only. There are no wallets, no personal data, no login and no trading. The data is informational, not financial advice.
Use cases for this crypto prices API
- Dashboards and spreadsheets - schedule a run every hour and push the top 100 coins to Google Sheets, Airtable or a database through Apify integrations, webhooks, n8n, Make or Zapier.
- Token due diligence - look up a contract address and see every pool it trades in, how much liquidity each has, how many buys and sells happened in the last 24 hours, and when the pair was created.
- DeFi research - rank lending protocols or DEXes by TVL, watch a category's 7-day change, or list every protocol deployed on one chain.
- AI agents and MCP - the Actor runs with no input at all (top 20 coins in USD), every row is self-describing, and a coin or token that does not exist comes back as one free
not_foundrow instead of an empty dataset or an error. - Alerts - diff two runs on
idand fire a notification when a price, a liquidity figure or a TVL crosses a threshold.
What data can Crypto Data API extract?
Every row has the same shared columns; the dataset-specific columns are present only on rows of that dataset. A value the source does not publish is left out; nothing is guessed.
| Field | Type | Description |
|---|---|---|
status | string | ok, not_found or error (see below) |
source | string | Which public API answered: coingecko, dexscreener or defillama |
dataset | string | coins, dexPairs, defiProtocols or defiChains |
id | string | CoinGecko coin id, DefiLlama slug or chain name |
name | string | Coin name, pair name (PEPE/WETH), protocol or chain name |
symbol | string | Ticker symbol, upper case |
image | string | Logo URL when published |
currency | string | Currency of the money columns: vsCurrency for coins (USD by default), USD for pairs and TVL |
price | number | Current price in currency |
marketCap | number | Market capitalisation |
volume24h | number | 24-hour trading volume |
priceChangePct24h | number | Price change over 24 hours, percent |
url | string | Public page of the row on coingecko.com, dexscreener.com or defillama.com |
error | string | Reason, on not_found and error rows only |
scrapedAt | string | ISO 8601 time of extraction |
Coins (CoinGecko) also carry marketCapRank, fullyDilutedValuation, high24h, low24h, priceChange24h, priceChangePct1h, priceChangePct7d, marketCapChange24h, marketCapChangePct24h, circulatingSupply, totalSupply, maxSupply, ath, athChangePct, athDate, atl, atlChangePct, atlDate and lastUpdated.
DEX pairs (DexScreener) also carry searchTerm (your query), chain, dex, pairAddress, labels, baseTokenSymbol, baseTokenName, baseTokenAddress, quoteTokenSymbol, quoteTokenName, quoteTokenAddress, priceNative, liquidityUsd, fdv, volume6h, volume1h, volume5m, txns24hBuys, txns24hSells, txns24h, priceChangePct5m, priceChangePct1h, priceChangePct6h, pairCreatedAt, website.
DeFi protocols (DefiLlama) also carry slug, category, chains, tvl, tvlChangePct1h, tvlChangePct1d, tvlChangePct7d, website, description, listedAt, parentProtocol and geckoId (the CoinGecko id of the protocol's token, so you can join with the coins dataset). DeFi chains carry tvl, chainId, geckoId and cmcId.
Result status (tri-state output)
status | Meaning | Billed? |
|---|---|---|
ok | One coin, pair, protocol or chain with its data. | Yes |
not_found | The source answered but has no such coin, token, protocol or chain, or nothing matched your filters. One row per entry, with the reason in error. | No |
error | The source could not be read after retries (network error, rate limit, or a changed response format). error says why. | No |
A run whose only rows are not_found finishes successfully: "no results" is an answer, not a failure.
How to get crypto market data with Crypto Data API
- Open the Actor in Apify Console and click Try for free. The prefilled input already returns the top 20 coins by market cap in USD.
- Pick a Dataset: coins, DEX pairs, DeFi protocols or DeFi chains.
- Narrow it if you like: Coin ids or Coin symbols and a Quote currency for coins; Tokens to look up, a Chain filter and a Minimum liquidity for DEX pairs; a Category, Chain or Name contains filter for DeFi TVL. Filters run before rows are written, so you only pay for matches.
- Set Maximum results. For the top-coins list this is how many coins you get; CoinGecko answers 250 per request, so 1,000 coins is four requests.
- Click Start. Rows appear in the dataset within seconds; open the Output tab or Export them as JSON, CSV, Excel, XML or HTML.
To automate it, use the API tab (Node.js, Python, curl examples) or add a Schedule.
How much does it cost to get crypto prices?
This Actor uses pay-per-event pricing, and the price includes the platform compute for the run:
| Event | Price |
|---|---|
| Actor start | $0.005 per run |
Result (status: ok row) | $0.00099 per row |
Example: the top 1,000 coins cost about $1.00 ($0.005 + 1,000 x $0.00099); the default run of 20 coins costs about $0.025. Rows with status not_found or error are never billed. The free Apify plan includes enough credit to try the Actor on a few thousand rows. You can cap spending per run with Maximum results and in the run's Max total charge option.
Input
See the Input tab for the full schema. The main options:
| Field | Type | Default | Description |
|---|---|---|---|
dataset | string | coins | coins, dexPairs, defiProtocols or defiChains |
coinIds | array of strings | - | CoinGecko ids (bitcoin, ethereum, usd-coin); empty = top coins by market cap |
coinSymbols | array of strings | - | Ticker symbols (btc, eth), an alternative to ids |
vsCurrency | string | usd | Quote currency for the coins dataset (eur, gbp, btc, ...) |
coinOrder | string | market_cap_desc | Sort order of the top-coins list |
dexQueries | array of strings | - | Token names, symbols or contract addresses to look up on DexScreener |
dexChain | string | - | Keep only pairs on this chain (ethereum, solana, base, ...) |
dexMinLiquidityUsd | integer | - | Drop pairs with less pooled liquidity than this |
dexPairsPerQuery | integer | 10 | Pairs kept per query, largest liquidity first (max 30) |
defiCategory | string | - | Keep only protocols of this DefiLlama category (Dexes, Lending, ...) |
defiChain | string | - | Keep only protocols on this chain, or return just this chain |
defiSearch | string | - | Keep only protocols or chains whose name contains this text |
maxItems | integer | 20 | Stop after this many rows |
startUrls | array of strings | one CoinGecko API URL | Advanced: API URLs or coingecko.com / dexscreener.com / defillama.com pages, fetched instead of the dataset inputs |
proxyConfiguration | object | Apify Proxy off | Not needed; enable the datacenter group only if CoinGecko rate-limits the shared IP |
Top 100 coins in EUR:
{"dataset": "coins","vsCurrency": "eur","maxItems": 100}
Exactly these coins:
{"dataset": "coins","coinIds": ["bitcoin", "ethereum", "solana", "usd-coin"]}
The ten most liquid pools of a token, on any chain, from its symbol or its contract address:
{"dataset": "dexPairs","dexQueries": ["PEPE", "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"],"dexMinLiquidityUsd": 10000,"dexPairsPerQuery": 10}
Lending protocols on Ethereum by TVL:
{"dataset": "defiProtocols","defiCategory": "Lending","defiChain": "Ethereum","maxItems": 50}
Every chain by TVL:
{"dataset": "defiChains","maxItems": 100}
Output
You can download the dataset in various formats such as JSON, HTML, CSV or Excel. Real rows from runs on the Apify platform on 2026-09-27 (runs 2OAqSxivqfl5lzBJG and tzzNN948oFQl9gNUy): a coin from the coins dataset, the most liquid DEX pair for the query PEPE, and the free not_found row the same run gave for a coin id CoinGecko does not know.
[{"url": "https://www.coingecko.com/en/coins/bitcoin","status": "ok","source": "coingecko","dataset": "coins","id": "bitcoin","symbol": "BTC","name": "Bitcoin","image": "https://coin-images.coingecko.com/coins/images/1/large/bitcoin.png?1696501400","currency": "USD","price": 84266,"marketCap": 1693049889652,"marketCapRank": 1,"fullyDilutedValuation": 1693049889652,"volume24h": 17804623793,"high24h": 84296,"low24h": 83790,"priceChange24h": 204.67,"priceChangePct1h": 0.1528,"priceChangePct24h": 0.21668,"priceChangePct7d": 3.7366,"marketCapChange24h": 4322958696,"marketCapChangePct24h": 0.25599,"circulatingSupply": 20089821,"totalSupply": 20089821,"maxSupply": 21000000,"ath": 126080,"athChangePct": -33.1648,"athDate": "2025-10-06T10:57:42.000Z","atl": 67.81,"atlChangePct": 124169.25789,"atlDate": "2013-07-05T16:00:00.000Z","lastUpdated": "2026-09-26T22:57:20.000Z","scrapedAt": "2026-09-26T22:59:52.547Z"},{"url": "https://dexscreener.com/ethereum/0xa43fe16908251ee70ef74718545e4fe6c5ccec9f","status": "ok","source": "dexscreener","dataset": "dexPairs","searchTerm": "PEPE","chain": "ethereum","dex": "uniswap","pairAddress": "0xA43fe16908251ee70EF74718545e4FE6C5cCEc9f","labels": ["v2"],"name": "PEPE/WETH","symbol": "PEPE","baseTokenSymbol": "PEPE","baseTokenName": "Pepe","baseTokenAddress": "0x6982508145454Ce325dDbE47a25d4ec3d2311933","quoteTokenSymbol": "WETH","quoteTokenName": "Wrapped Ether","quoteTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","currency": "USD","price": 4.352e-06,"priceNative": 1.619e-09,"liquidityUsd": 31737345.38,"fdv": 1801092319,"marketCap": 1801092319,"volume24h": 1146952.93,"volume6h": 398851.27,"volume1h": 15508.02,"volume5m": 0,"txns24hBuys": 490,"txns24hSells": 449,"txns24h": 939,"priceChangePct1h": 0.17,"priceChangePct6h": -2.1,"priceChangePct24h": -3.49,"pairCreatedAt": "2023-04-14T17:21:11.000Z","website": "https://www.pepe.vip/","image": "https://cdn.dexscreener.com/cms/images/ae001139fa1fcd24f8421d82caf72d8e06fabafab33b089c5d2e6d18039354e7?width=800&height=800&quality=95&format=auto","scrapedAt": "2026-09-26T22:59:55.705Z"},{"url": "https://www.coingecko.com/en/coins/not-a-real-coin","status": "not_found","error": "CoinGecko has no coin with the id \"not-a-real-coin\". Ids are lowercase slugs such as bitcoin, ethereum or usd-coin; use coinSymbols for tickers like btc.","source": "coingecko","dataset": "coins","id": "not-a-real-coin","scrapedAt": "2026-09-26T22:59:52.548Z"}]
Tips
- Keep
maxItemssmall while testing, then raise it. The top-coins list costs one request per 250 coins, so a big run is still fast. - Use
coinIdswhen you need exact coins; a symbol such asethcan belong to several tokens and CoinGecko returns the best-known one. - For DEX pairs, a contract address is exact; a name search can match look-alike tokens. Set
dexMinLiquidityUsdto skip dust pools. - Join datasets on
geckoId(protocols and chains) =id(coins) to combine TVL with prices. - If
errorrows mention HTTP 429, CoinGecko's free tier is throttling the shared IP; wait a minute, or enable the Apify datacenter proxy group so the run gets its own address.
Limitations
- CoinGecko's keyless API is rate-limited per IP (roughly 5-30 requests per minute), and the Actor shares Apify's datacenter addresses with other users. It asks for 250 coins per request and fetches pages one after another; when CoinGecko answers HTTP 429 the Actor waits 5, 15, 35 and then 65 seconds and tries again, and only after that does the page become an
errorrow, never silent missing data. Measured on the platform on 2026-09-27: the top 20 or 250 coins take about 3 seconds; the top 1,000 (four requests) took 125 seconds because the fourth request was throttled and waited out. For large or frequent coin runs, enable the Apify datacenter proxy group so the run gets its own address. - Prices are snapshots at run time, not a stream; schedule the Actor for regular updates. Historical prices, order books and trades are not included.
- DexScreener answers at most 30 pairs per query, and a name search returns what DexScreener matches, including look-alike tokens; use the contract address for an exact answer.
- DefiLlama's protocol list is one large response (about 9 MB); a
defiProtocolsrun takes a few seconds longer than the others. - The data is informational and comes from third-party public sources as they publish it. It is not financial advice, and figures can be stale or wrong at the source.
- Results reflect the public APIs at the time of the run; if a source changes its format, rows come back as
errorand the Actor is updated quickly (report it in the Issues tab).
FAQ
Do I need a CoinGecko, DexScreener or DefiLlama API key?
No. The Actor reads the public endpoints the three sites expose for their own front ends. There is nothing to sign up for and nothing to paste in.
Which currencies can I price coins in?
Any quote currency CoinGecko supports: usd, eur, gbp, jpy, inr, brl, btc, eth and about 60 more. DEX pairs and TVL are always in USD.
Can I use this Actor from an AI agent or MCP client?
Yes. It runs with no arguments (top 20 coins in USD), every row is self-describing (status + error), inputs are plain strings, and results can be fetched via the dataset API or the Apify MCP server.
Why did I get fewer rows than maxItems?
Your ids or queries matched fewer items, a filter removed the rest, or the run hit your Max total charge limit. Check the run log for "Stopping gracefully" and the not_found rows for what was not matched.
Is it legal to use this data?
The Actor reads public market data that the three services publish without login, and it contains no personal data. You are responsible for how you use the output; read the legal notice below and the sources' terms of use.
Related Actors
- Yahoo Finance Scraper - use it for stock and traditional-market prices alongside crypto data.
- Domain Intelligence: SPF, DMARC, SSL, WHOIS - use it to check a token project's own website before trusting it.
- Google News Scraper & News API - use it to pull headlines that may explain a price move.
Legal and data-protection notice
This Actor extracts only data that CoinGecko, DexScreener and DefiLlama publish publicly through their open endpoints; it does not extract private user data such as e-mail addresses, phone numbers, wallets or precise location, and it does not log in or bypass access controls. Market data is not personal data, but you should still make sure your use of the output complies with the sources' terms of service and with applicable law, including the GDPR where it applies. The data is provided as published by third parties, for information only, and is not investment, financial, legal or tax advice.
This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by CoinGecko, DexScreener, DefiLlama or their owners. All trademarks belong to their respective owners.