DefiLlama Scraper: TVL, Yields, Stables & DEXs
Pricing
from $12.19 / 1,000 protocol records
DefiLlama Scraper: TVL, Yields, Stables & DEXs
Scrape DefiLlama DeFi data: protocol TVL, a year of daily TVL history per protocol, chain TVL, stablecoin market caps, 16,990 live yield pools with APY and DEX volumes. Filter by name, chain or min TVL. Export CSV, Excel, JSON. No login or API key needed.
Pricing
from $12.19 / 1,000 protocol records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
๐ฆ DefiLlama Scraper: TVL, Yields, Fees, Stablecoins & DEXs
DefiLlama Scraper exports DeFi data from DefiLlama's open APIs to CSV, Excel or JSON, with no login and no API key. It covers 8,480 protocols with TVL, 468 chains, 429 stablecoins, about 17,000 yield pools with APY, 1,416 DEXs with volumes, protocol fees and revenue, and funding rounds, plus a year of daily TVL history per protocol. Rows carry TVL share, TVL rank, and, with the details option, all-time peak TVL, total funding raised and GitHub organisations. Filter by category, chain, minimum APY, sort by TVL, 7-day change or APY, and receive only new rows on a schedule. You pay per delivered record, never for empty runs.
The DefiLlama Scraper from RecordsData turns eight surfaces of defillama.com into one filtered dataset. Filter by name, blockchain, category or a minimum TVL, sort before the cap is applied, and switch on only the surfaces you need. In a 2026-10-04 cloud test, ten protocol records came back in seconds, led by Binance CEX, OKX and Lido.
๐ฆ What does the DefiLlama Scraper do?
Eight switchable record types: protocols, TVL history per protocol, chains, stablecoins, yield pools, DEX volumes, fees and revenue, and funding rounds. Monitor mode (onlyNew) skips rows an earlier run already delivered.
๐ What data can you extract from DefiLlama?
| Record type | Main fields (when DefiLlama publishes them) |
|---|---|
Protocols (protocol) | name, slug, protocolId, category, chains, chainCount, tvlUsd, tvlShare, rank, tvlPeakUsd, tvlPeakDate, change1h, change1d, change7d, marketCapUsd, mcapToTvl, borrowedTvlUsd, stakingTvlUsd, tvlByChain (top 30), description, githubOrgs, totalRaisedUsd, listedAt, parentProtocol, forkedFrom, oracles, audits, defillamaUrl |
TVL history (tvl-history) | name, slug, points, firstDate, lastDate, latestTvlUsd, tvlPeakUsd, series (up to 365 daily points) |
Chains (chain) | name, tvlUsd, tvlShare, rank, tokenSymbol, gecko_id, chainId, cmcId, defillamaUrl |
Stablecoins (stablecoin) | name, symbol, pegType, pegMechanism, marketCapUsd, price, change1d, change7d, change30d, chains |
Yield pools (yield-pool) | project, symbol, chain, tvlUsd, apy, apyBase, apyReward, apyPct7D, apyMean30d, stablecoin, ilRisk, exposure, predictedClass, rewardTokens, underlyingTokens, volume24hUsd, poolId |
DEX volumes (dex-volume) | name, slug, chains, category, volume24hUsd, volume7dUsd, volume30dUsd, volumeAllTimeUsd, change1d, change7d, change30d, parentProtocol |
Fees and revenue (fees) | name, category, fees24hUsd, fees7dUsd, fees30dUsd, fees1yUsd, feesAllTimeUsd, the same revenue*Usd columns, change1d, change7d, change30d, chains |
Funding rounds (funding-round) | name, slug, round, date, amountUsd, valuationUsd (when disclosed), totalRaisedUsd, leadInvestors, otherInvestors, category, chains, source |
Every row also has recordType and scrapedAt. The dataset schema lists 101 keys (98 data columns plus error, errorType and hint). tvlShare is the percent of total DeFi TVL and rank the position by TVL, computed before any filter; centralized exchange entries have neither. tvlPeakUsd, tvlPeakDate, totalRaisedUsd and githubOrgs are always on TVL history and funding-round rows, and on protocol rows when includeProtocolDetails is on. In a run of the 100 largest protocols, totalRaisedUsd was present on 51 rows and githubOrgs on 42. Fields DefiLlama does not publish, including placeholders such as "N/A" and empty lists, are left out of that row, so you are never billed for fake values.
๐งพ DefiLlama scraper sample output
Real record from the 2026-10-04 cloud run (protocols surface). Later builds add columns such as protocolId, tvlShare, rank and defillamaUrl.
{"recordType": "protocol","name": "Lido","slug": "lido","category": "Liquid Staking","chains": ["Ethereum", "Solana", "Terra", "Moonriver", "Moonbeam"],"tvlUsd": 26560935850.8,"change1d": 0.41,"change7d": 0.13,"marketCapUsd": 379141576.97,"audits": "Yes","scrapedAt": "2026-10-04T05:03:14.110Z"}
๐ฐ How much does it cost to scrape DefiLlama?
Pay per event: only records saved to your dataset are charged. Errors, empty results, placeholders and rows skipped by onlyNew are free, and a failed run charges nothing. Free-plan prices live on this actor (read 2026-10-10); paid plans get a discount on the protocol event.
| Event | Price per record | Per 1,000 |
|---|---|---|
| Protocol record | $0.015 | $15 |
| TVL history (365 points in one row) | $0.01406 | $14.06 |
| Chain TVL | $0.01 | $10 |
| Stablecoin record | $0.01 | $10 |
| Yield pool | $0.01 | $10 |
| DEX volume | $0.01 | $10 |
| Fee and revenue row | $0.01 | $10 |
| Funding round row | $0.01 | $10 |
The protocol details option (peak TVL, total raised, GitHub) adds no charge. Ten protocol records cost $0.15. Worked example: 1,000 protocol records cost $15.00. Adding TVL history for the top 20 protocols (20 x $0.01406 = $0.28) and 1,000 yield pools ($10.00) brings it to about $25.28; fees for 200 protocols (200 x $0.01 = $2.00) bring it to about $27.28. The run honors your maximum total charge.
๐ How to scrape DefiLlama in 3 steps
- Open the actor and set filters (name terms, category, chain, minimum TVL) and the record types you want.
- Set Max Items (10 is a good first test) and click Start.
- Download the dataset as CSV, Excel, JSON or XML.
โ๏ธ DefiLlama scraper input
| Field | What it does | Default |
|---|---|---|
searchTerms | Keep records whose name, project or symbol contains a term | empty |
chainFilter | Exact chain name for protocols, pools, DEXs and fee rows | empty |
categoryFilter | List of categories (Lending, Dexs, Liquid Staking...), case-insensitive exact match; protocols, DEXs, fee rows | empty |
minTvlUsd | Skip protocols, pools and stablecoins below this USD value | 0 |
minApy | Keep yield pools at or above this APY (percent) | empty |
stablecoinPoolsOnly | Keep only stablecoin yield pools | false |
sortBy | Order before the caps: tvl, change1d, change7d, apy (pools) or volume | tvl |
maxItems | Total records for the run | 100 |
maxItemsPerSurface | Cap per record type | 100 |
includeProtocols | Protocol TVL records | true |
includeTvlHistory | Daily TVL series for the top matched protocols (up to 20) | false |
includeChains, includeStablecoins, includeYields, includeDexVolumes | Other types | false |
includeFees | One fees and revenue row per protocol | false |
includeRaises | One row per funding round, read from the first 200 matched protocols | false |
includeProtocolDetails | Adds peak TVL, total raised and GitHub organisations to the first 100 protocol rows; slower, no extra charge | false |
onlyNew | Skip, and do not charge, rows already delivered by an earlier run with the same filters and stateKey | false |
stateKey, resetSeen | Monitor name; forget what it has seen | default, false |
Example: lending protocols and yield pools above 5% APY, only rows not delivered before.
{"categoryFilter": ["Lending"],"minApy": 5,"includeProtocols": true,"includeYields": true,"onlyNew": true,"stateKey": "lending-watch","maxItems": 200}
maxItems is shared across record types, so raise it when you enable several.
๐ฆ DefiLlama scraper output
Rows land in the default dataset; use recordType to split types. An empty search ends SUCCEEDED with "no items matched", uncharged. If the DefiLlama API is unreachable and no row was delivered, the run is marked FAILED. A second onlyNew run on a bounded filter finishes with "nothing new" and charges 0.
๐ DefiLlama scraper vs alternatives
Read on 2026-10-10 from the public Apify Store pages.
| Capability | This Actor | scrapesage | logiover, hichemdev, parseforge |
|---|---|---|---|
| Daily TVL history per protocol | Yes, 365 points per row | Not shown | logiover: per-chain only; parseforge: total DeFi TVL only; hichemdev: none |
| Category and APY filters | Yes | Yes | hichemdev: yes; logiover: no; parseforge: none |
| Fees and funding rounds | Fees; one row per round | Fees; rounds in protocol row | Not mentioned |
| Only-new monitoring | onlyNew | Yes | Not mentioned |
| Price per 1,000 | $10 to $15 | from $3.00 | from $1.50, $2.00, $2.95 |
We are the most expensive: the listed rivals start at $1.50 to $3.00 per 1,000, about five times less per protocol row. Not built: openSource (DefiLlama sets it on 0.6 percent of protocols). scrapesage also sells contact enrichment; we do not. The price buys the daily TVL series and one row per round. For a flat protocol list, a cheaper actor will do.
๐งฉ Use cases
- Protocol due diligence and yield screening: TVL, momentum, audits, funding rounds, history, and stablecoin pools above your APY and TVL floors.
- Revenue comparison and market reports: fees across a category, plus weekly chain, stablecoin and DEX snapshots.
- New listing alerts: schedule
onlyNewruns.
๐ Run the DefiLlama scraper via API and integrations
curl -X POST "https://api.apify.com/v2/acts/RecordsData~defillama-tvl-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTerms":["aave"],"maxItems":10}'
Works with the Apify API, JavaScript and Python clients, schedules, webhooks, Make, Zapier, n8n and Google Sheets.
๐ค DefiLlama Scraper MCP server for AI agents
AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/defillama-tvl-scraper. The URL loads only this Actor as a tool.
Add this to your MCP client (Claude Desktop, Cursor, VS Code):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/defillama-tvl-scraper"}}}
Example agent prompt:
Use the DefiLlama Scraper to list the top 20 lending protocols on Ethereum with TVL above $100M, sorted by 7-day TVL change, include their 24h fees, and tell me which two lost the most TVL this week.
Tool description: choose this Actor when an agent needs live DeFi data from DefiLlama (protocol TVL, a year of daily TVL history, chain TVL, stablecoins, yield pool APY, DEX volume, fees and revenue, or funding rounds) filtered by name, category, chain, TVL or APY.
โ๏ธ Is it legal to scrape DefiLlama?
The actor reads the open, public DefiLlama APIs and collects aggregate market data, not personal data. Use the data in line with DefiLlama's terms and local rules. It is an independent tool, not affiliated with DefiLlama, and not financial advice.
โ Frequently asked questions
How do I export DefiLlama TVL data to CSV or Excel?
Open the DefiLlama Scraper on Apify, set filters such as name terms, a category, a chain or a minimum TVL, and keep the Protocols surface on. Click Start, then download the dataset from the Output tab as CSV, Excel, JSON or XML.
Can I get historical TVL for a DeFi protocol from DefiLlama?
Yes. Enable TVL history per protocol. Each row holds up to 365 daily TVL points in the series array, with first and last date, latest TVL in USD, and the all-time peak TVL. History is fetched for the top 20 matched protocols by TVL, and each row is billed as one TVL history event.
Why did my DefiLlama scrape return 0 results?
Your filters matched nothing, for example a misspelled protocol name, a category that does not exist or an unknown chain name. The run still finishes as succeeded and charges nothing. Try fewer filters, check the spelling of the name or category, or set minTvlUsd back to 0.
Do I pay for DefiLlama Scraper surfaces I switch off?
No. Every record type is its own pay-per-event charge, billed only per record saved to your dataset. A surface you switch off produces no rows and no charge, and errors, empty results and placeholder values are never billed. Fee rows and funding-round rows are each billed at $0.01.
Does the DefiLlama Scraper need an API key or login?
No. It reads DefiLlama's open, public endpoints, so you do not need a DefiLlama account, a login or an API key, and there is nothing to configure. You only need an Apify account to run the actor, from the Console or the API.
How fresh is the data from the DefiLlama Scraper?
It returns live data at run time, the same numbers defillama.com shows when the run starts. Every row carries a scrapedAt timestamp in UTC. To track change, schedule the actor with the Apify Scheduler and compare exports, or switch on onlyNew.
How many records can one DefiLlama Scraper run return?
Paid plans can return up to 1,000,000 records per run, limited by the maxItems and maxItemsPerSurface inputs, which both default to 100. Free Apify users get a 10-record preview. The per-surface cap stops one large surface, such as the roughly 17,000 yield pools, using the whole run.
What happens if I send an empty or invalid input to the DefiLlama Scraper?
An empty input of {} is valid: you get the top 100 protocols by TVL, or 10 on the free plan. Values outside the allowed ranges are rejected with a 400 error at run creation. If every data surface is switched off, the run ends as succeeded with one free error row and no charge.
Can I filter DefiLlama data by blockchain?
Yes. The chainFilter input applies to protocols, yield pools, DEXs and fee rows. Chain names are matched exactly, ignoring case, so enter Ethereum rather than a partial name. Combine it with search terms, a category and a minimum TVL to narrow results further.
Why are some fields missing from a DefiLlama Scraper row?
DefiLlama does not publish every field for every record, for example marketCapUsd for a protocol without a token. The actor leaves such fields out instead of filling placeholders, so you are never billed for fake values. In a verified 10-protocol test run, marketCapUsd was present on 3 of 10 rows.
How do I filter DefiLlama protocols by category?
Set categoryFilter to a list of categories such as Lending, Liquid Staking, Dexs, Bridge or Derivatives. Matching is case-insensitive and exact, and it applies to protocols, DEXs and fee rows before anything is charged. If nothing matches, the run log prints every known category so you can correct the spelling.
How do I monitor only new DefiLlama rows?
Switch on onlyNew, name the monitor with stateKey and schedule the run. A row is skipped, and not charged, when an earlier run with the same filters and monitor name already delivered it. On a bounded filter a second run delivers 0 rows and charges 0. Set resetSeen to start over.
Where do fees and funding rounds come from, and how does sorting work?
Both come from DefiLlama's public API. Fee rows give one line per protocol over 24h, 7d, 30d and one year; if the revenue list fails, rows go out with fees only. Funding rounds are read from the first 200 matched protocols. The sortBy input orders each surface before the caps.
๐ Want related data? Other RecordsData scrapers
- Prediction Markets Scraper: Kalshi and Polymarket odds
- SEC EDGAR Filings Scraper: 10-K, 10-Q and insider trades
- Bank Regulatory Intelligence Scraper: FDIC and CFPB data
๐ Support
Questions? Open an issue in the Issues tab or write to contact.punkrecordsdata@gmail.com.
Last updated: 2026-10-11