{"name":"defillama-scraper","id":"sfoln/defillama-scraper","title":"DefiLlama Scraper – DeFi TVL, Fees & Yields","description":"DefiLlama data as clean JSON rows: protocol TVL with 1d/7d/30d change, chain breakdown and market cap, chain TVL, daily TVL history, fees and revenue, yield pools (APY, TVL, stablecoin flag) and stablecoin supply by chain. Filters and caps; $1 per 1,000 rows.","version":"0.1","status":"ready","family":{"id":"data-utilities","name":"Data utilities","description":"Exchange rates, geocoding, weather forecasts and history, VIN decoding, US address enrichment, GitHub repository stats and DeFi protocol data.","actors":8},"categories":["DEVELOPER_TOOLS","AI","AUTOMATION"],"availability":"on_request","seoTitle":"DefiLlama Scraper – DeFi TVL, Fees & Yields API","seoDescription":"Export DefiLlama data as JSON: protocol and chain TVL with 1d/7d/30d change, daily TVL history, fees and revenue, yield pool APYs and stablecoins.","summary":"DefiLlama Scraper exports DefiLlama DeFi data as clean, flat JSON rows: every protocol's TVL with its 1-day, 7-day and 30-day change, chain breakdown and market cap; TVL per chain; a protocol's daily TVL history; fees and revenue; yield pools with APY and TVL; and stablecoin supply by chain. Pick a dataset, filter it (chain, category, minimum size, project, peg…), cap the rows, and pay $0.001 per row – for analysts, crypto researchers, dashboards and AI agents that need DeFi numbers without writing an API client.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"record","title":"DeFi record","description":"Charged once per delivered row: a protocol, chain, daily TVL snapshot, fees row, yield pool or stablecoin.","priceUsd":0.001}]},"input":{"description":"Pick a DefiLlama dataset, narrow it with filters and cap the rows. Each delivered row is one dataset record with recordType set to the dataset's row type; every query also writes one free summary record.","required":["mode"],"fields":[{"name":"mode","title":"Dataset","type":"string","required":true,"description":"protocols: every DeFi protocol with TVL, 1d/7d/30d change, chain breakdown and market cap. chains: TVL per chain. protocolTvlHistory: daily TVL snapshots of the protocols listed below. fees: fees and revenue of every protocol (or of the protocols listed below, with 30 days of history). yields: yield pools with APY and TVL. stablecoins: circulating supply in total and per chain.","default":"protocols","prefill":"protocols","enum":["protocols","chains","protocolTvlHistory","fees","yields","stablecoins"],"editor":"select"},{"name":"protocols","title":"Protocols","type":"array","required":false,"description":"DefiLlama protocol slugs, names or defillama.com URLs (e.g. aave-v3, Uniswap V3, https://defillama.com/protocol/lido). Required for protocolTvlHistory (one query per protocol); with fees, one fees summary per protocol; with protocols and yields, a filter. Accounts on the Apify free plan can process up to 10 queries per run.","editor":"stringList"},{"name":"chain","title":"Chain","type":"string","required":false,"description":"Only rows on this chain (e.g. Ethereum, Arbitrum, Solana): protocols deployed there (sorted by their TVL on it), pools on it, fees of protocols on it, stablecoins circulating on it.","editor":"textfield"},{"name":"category","title":"Category","type":"string","required":false,"description":"Protocols and fees: only this DefiLlama category, e.g. Lending, Dexs, Liquid Staking, Bridge, CDP, Yield, Derivatives, RWA, CEX.","editor":"textfield"},{"name":"search","title":"Name contains","type":"string","required":false,"description":"Only rows whose name, slug or symbol contains this text (case-insensitive).","editor":"textfield"},{"name":"minUsd","title":"Minimum size (USD)","type":"integer","required":false,"description":"Leave out smaller rows: TVL for protocols, chains and pools; circulating supply for stablecoins; 24-hour fees for fees.","default":0,"minimum":0},{"name":"includeCex","title":"Include centralized exchanges","type":"boolean","required":false,"description":"Protocols: also list CEX reserves (DefiLlama's rankings leave them out by default).","default":false},{"name":"project","title":"Pool project","type":"string","required":false,"description":"Yields: only pools of this project slug (e.g. aave-v3, lido, uniswap-v3).","editor":"textfield"},{"name":"symbol","title":"Pool symbol contains","type":"string","required":false,"description":"Yields: only pools whose symbol contains this text (e.g. USDC, ETH).","editor":"textfield"},{"name":"stablecoinPoolsOnly","title":"Stablecoin pools only","type":"boolean","required":false,"description":"Yields: only pools DefiLlama flags as stablecoin pools.","default":false},{"name":"minApyPct","title":"Minimum APY (%)","type":"integer","required":false,"description":"Yields: only pools with at least this total APY, in percent.","minimum":0},{"name":"sortPoolsBy","title":"Sort pools by","type":"string","required":false,"description":"Yields: largest TVL first, or highest APY first.","default":"tvl","enum":["tvl","apy"],"editor":"select"},{"name":"pegType","title":"Peg type","type":"string","required":false,"description":"Stablecoins: only this peg, e.g. peggedUSD, peggedEUR, peggedVAR.","editor":"textfield"},{"name":"since","title":"History since","type":"string","required":false,"description":"protocolTvlHistory: only snapshots on or after this date (YYYY-MM-DD). History is returned newest first, so Max results alone keeps the latest days.","editor":"datepicker"},{"name":"until","title":"History until","type":"string","required":false,"description":"protocolTvlHistory: only snapshots on or before this date (YYYY-MM-DD).","editor":"datepicker"},{"name":"includeChainBreakdown","title":"Include TVL per chain","type":"boolean","required":false,"description":"Protocols and TVL history: add chainTvls, the TVL on each chain (staking, pool2 and borrowed amounts left out).","default":true},{"name":"maxResults","title":"Max results per query","type":"integer","required":false,"description":"Rows delivered (and charged) per query or per protocol, after filters and sorting. Accounts on the Apify free plan get up to 20 rows per query.","default":100,"prefill":10,"minimum":1,"maximum":20000},{"name":"maxProtocols","title":"Max protocols","type":"integer","required":false,"description":"Safety cap on the protocols processed one by one (TVL history, fees by protocol); further ones are ignored and counted in the OUTPUT record. As a filter of the protocols and yields datasets, up to 1,000 slugs are used.","default":50,"minimum":1,"maximum":1000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"Protocols processed in parallel (TVL history, fees by protocol). TVL history runs at most 2 at a time: the largest histories are parsed in memory.","default":2,"minimum":1,"maximum":5},{"name":"itemTimeoutSecs","title":"Timeout per query (seconds)","type":"integer","required":false,"description":"A query that has not finished after this long is stopped and not charged.","default":300,"minimum":60,"maximum":1800},{"name":"includeRaw","title":"Include raw upstream data","type":"boolean","required":false,"description":"Attach DefiLlama's own object to protocol, stablecoin and fees-by-protocol rows (larger output).","default":false}]},"exampleInput":{"mode":"protocols","maxResults":10},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The input item this record corresponds to."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan | skipped_unmetered (rows are always ok; the per-query summary carries the query outcome).","example":"ok"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether this record incurred a pay-per-event charge."},{"name":"chargedEvent","type":"string","title":"Charged event","description":"Pay-per-event event charged for this record (present only when charged)."},{"name":"chargedCount","type":"integer","title":"Events charged","description":"Events actually charged when the charge came back short of the requested count (present only then; a warning explains it)."},{"name":"source","type":"string","title":"Source","description":"Upstream data source (defillama)."},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."},{"name":"error","type":"object","title":"Error","description":"{ code, message, provider?, status? } on a summary whose query failed (not_found: unknown protocol slug). Runtime codes: budget_exhausted, free_plan_limit, unmetered, aborted, charge_failed, record_too_large, invalid_record, dataset_push_failed; upstream codes: rate_limit, timeout, network, server, client, invalid_response, not_found, http_error."},{"name":"warnings","type":"array","title":"Warnings","description":"Notes about this record, e.g. a charge that came back short."},{"name":"recordType","type":"string","title":"Row type","description":"protocol | chain | tvl-snapshot | protocol-fees | yield-pool | stablecoin (charged rows) | summary (one free record per query)"},{"name":"position","type":"integer","title":"Position","description":"Row number within its query (1 = first after sorting)."},{"name":"mode","type":"string","title":"Dataset","description":"Summary records: the dataset queried."},{"name":"query","type":"string","title":"Query","description":"Summary records: the dataset name, or the protocol of a per-protocol query."},{"name":"resultsDelivered","type":"integer","title":"Rows delivered","description":"Summary records: rows delivered (and charged) for this query."},{"name":"matchingResults","type":"integer | null","title":"Rows matching","description":"Summary records: rows matching the filters before maxResults and the budget."},{"name":"stopReason","type":"string","title":"Stop reason","description":"Summary records: limit | free_plan | end | budget | aborted | deadline."},{"name":"name","type":"string | null","title":"Name","description":"Protocol, chain, fees row or stablecoin name."},{"name":"displayName","type":"string | null","title":"Display name","description":"Fees rows: DefiLlama display name."},{"name":"slug","type":"string | null","title":"Slug","description":"DefiLlama protocol slug."},{"name":"protocol","type":"string | null","title":"Protocol","description":"TVL snapshots and summaries: protocol name."},{"name":"protocolId","type":"string | null","title":"DefiLlama id","description":"Protocol id on DefiLlama."},{"name":"category","type":"string | null","title":"Category","description":"DefiLlama category (Lending, Dexs, Liquid Staking…)."},{"name":"chains","type":"array","title":"Chains","description":"Chains the protocol is deployed on."},{"name":"chain","type":"string | null","title":"Chain","description":"Protocols: DefiLlama's main chain (Multi-Chain when several); pools: the pool's chain."},{"name":"symbol","type":"string | null","title":"Symbol","description":"Token symbol (protocols, stablecoins) or pool symbol (yields)."},{"name":"tvlUsd","type":"number | null","title":"TVL (USD)","description":"Total value locked in USD (protocols: DefiLlama default TVL without staking, pool2 and borrowed amounts)."},{"name":"tvlOnChainUsd","type":"number | null","title":"TVL on chain (USD)","description":"Protocols with a chain filter: the TVL on that chain."},{"name":"change1hPct","type":"number | null","title":"TVL change 1 h (%)","description":"Protocols."},{"name":"change1dPct","type":"number | null","title":"Change 1 d (%)","description":"Protocols: TVL; stablecoins: circulating supply."},{"name":"change7dPct","type":"number | null","title":"Change 7 d (%)","description":"Protocols: TVL; stablecoins: circulating supply."},{"name":"change30dPct","type":"number | null","title":"Change 30 d (%)","description":"Protocols: TVL (from the site list); stablecoins: circulating supply."},{"name":"mcapUsd","type":"number | null","title":"Market cap (USD)","description":"Protocol token market cap."},{"name":"mcapToTvl","type":"number | null","title":"Mcap / TVL","description":"Market cap divided by TVL."},{"name":"chainTvls","type":"object | null","title":"TVL per chain","description":"Chain → TVL in USD, largest first (staking, pool2 and borrowed left out)."},{"name":"parentProtocol","type":"string | null","title":"Parent protocol","description":"Slug of the parent protocol (e.g. aave for Aave V3)."},{"name":"url","type":"string | null","title":"Website","description":"Protocol website."},{"name":"twitter","type":"string | null","title":"X handle","description":"Protocol X/Twitter handle."},{"name":"geckoId","type":"string | null","title":"CoinGecko id","description":"CoinGecko id of the token."},{"name":"listedAt","type":"string | null","title":"Listed at","description":"When DefiLlama listed the protocol (ISO)."},{"name":"defillamaUrl","type":"string | null","title":"DefiLlama page","description":"Link to the row on defillama.com."},{"name":"rank","type":"integer","title":"Rank","description":"Chains: rank by TVL."},{"name":"tvlSharePct","type":"number | null","title":"TVL share (%)","description":"Chains: share of the TVL of all chains."},{"name":"tokenSymbol","type":"string | null","title":"Gas token","description":"Chains: native token symbol."},{"name":"chainId","type":"integer | null","title":"Chain id","description":"Chains: EVM chain id."},{"name":"cmcId","type":"string | null","title":"CoinMarketCap id","description":"Chains."},{"name":"date","type":"string","title":"Date","description":"TVL snapshots: YYYY-MM-DD (UTC)."},{"name":"timestamp","type":"string","title":"Timestamp","description":"TVL snapshots: snapshot time (ISO; the newest is the current value)."},{"name":"fees24hUsd","type":"number | null","title":"Fees 24 h (USD)","description":"Fees rows."},{"name":"fees7dUsd","type":"number | null","title":"Fees 7 d (USD)","description":"Fees rows."},{"name":"fees30dUsd","type":"number | null","title":"Fees 30 d (USD)","description":"Fees rows."},{"name":"fees1yUsd","type":"number | null","title":"Fees 1 y (USD)","description":"Fees rows."},{"name":"feesAllTimeUsd","type":"number | null","title":"Fees all time (USD)","description":"Fees rows."},{"name":"feesChange1dPct","type":"number | null","title":"Fees change 1 d (%)","description":"Fees rows."},{"name":"feesChange7dPct","type":"number | null","title":"Fees change 7 d (%)","description":"Fees rows."},{"name":"feesChange30dPct","type":"number | null","title":"Fees change 30 d (%)","description":"Fees rows."},{"name":"revenue24hUsd","type":"number | null","title":"Revenue 24 h (USD)","description":"Fees rows: protocol revenue."},{"name":"revenue7dUsd","type":"number | null","title":"Revenue 7 d (USD)","description":"Fees rows."},{"name":"revenue30dUsd","type":"number | null","title":"Revenue 30 d (USD)","description":"Fees rows."},{"name":"revenue1yUsd","type":"number | null","title":"Revenue 1 y (USD)","description":"Fees rows."},{"name":"revenueAllTimeUsd","type":"number | null","title":"Revenue all time (USD)","description":"Fees rows."},{"name":"methodologyUrl","type":"string | null","title":"Methodology","description":"Fees rows: DefiLlama adapter source."},{"name":"fees24hByChain","type":"object","title":"Fees 24 h by chain","description":"Fees by protocol: chain → 24 h fees in USD."},{"name":"dailyLast30d","type":"array","title":"Last 30 days","description":"Fees by protocol: [{ date, feesUsd, revenueUsd }], newest first."},{"name":"poolId","type":"string | null","title":"Pool id","description":"Yields: DefiLlama pool id."},{"name":"project","type":"string | null","title":"Project","description":"Yields: project slug."},{"name":"poolMeta","type":"string | null","title":"Pool details","description":"Yields: extra pool label (lock period, vault…)."},{"name":"apy","type":"number | null","title":"APY (%)","description":"Yields: total APY."},{"name":"apyBase","type":"number | null","title":"Base APY (%)","description":"Yields."},{"name":"apyReward","type":"number | null","title":"Reward APY (%)","description":"Yields."},{"name":"apyMean30d","type":"number | null","title":"30-day mean APY (%)","description":"Yields."},{"name":"apyBase7d","type":"number | null","title":"7-day base APY (%)","description":"Yields."},{"name":"apyChange1d","type":"number | null","title":"APY change 1 d (points)","description":"Yields."},{"name":"apyChange7d","type":"number | null","title":"APY change 7 d (points)","description":"Yields."},{"name":"apyChange30d","type":"number | null","title":"APY change 30 d (points)","description":"Yields."},{"name":"isStablecoin","type":"boolean | null","title":"Stablecoin pool","description":"Yields."},{"name":"ilRisk","type":"string | null","title":"IL risk","description":"Yields: impermanent-loss risk (yes/no)."},{"name":"exposure","type":"string | null","title":"Exposure","description":"Yields: single or multi asset."},{"name":"rewardTokens","type":"array","title":"Reward tokens","description":"Yields: reward token addresses."},{"name":"underlyingTokens","type":"array","title":"Underlying tokens","description":"Yields: underlying token addresses."},{"name":"volumeUsd1d","type":"number | null","title":"Volume 1 d (USD)","description":"Yields."},{"name":"volumeUsd7d","type":"number | null","title":"Volume 7 d (USD)","description":"Yields."},{"name":"predictedClass","type":"string | null","title":"APY outlook","description":"Yields: DefiLlama's prediction (e.g. Stable/Up)."},{"name":"predictedProbability","type":"number | null","title":"Outlook probability","description":"Yields."},{"name":"isOutlier","type":"boolean | null","title":"Outlier","description":"Yields: DefiLlama flags the APY as an outlier."},{"name":"stablecoinId","type":"string | null","title":"Stablecoin id","description":"Stablecoins: DefiLlama id."},{"name":"pegType","type":"string | null","title":"Peg","description":"Stablecoins: peggedUSD, peggedEUR…"},{"name":"pegMechanism","type":"string | null","title":"Peg mechanism","description":"Stablecoins: fiat-backed, crypto-backed, algorithmic."},{"name":"priceUsd","type":"number | null","title":"Price (USD)","description":"Stablecoins."},{"name":"circulating","type":"number | null","title":"Circulating","description":"Stablecoins: supply in units of the peg."},{"name":"circulatingUsd","type":"number | null","title":"Circulating (USD)","description":"Stablecoins: supply × price."},{"name":"chainCount","type":"integer","title":"Chains","description":"Stablecoins: chains it is issued on."},{"name":"circulatingByChain","type":"object","title":"Supply by chain","description":"Stablecoins: chain → circulating supply (peg units), largest first."},{"name":"circulatingOnChain","type":"number | null","title":"Supply on chain","description":"Stablecoins with a chain filter: supply on that chain."},{"name":"raw","type":"object | null","title":"Raw","description":"DefiLlama's own object (includeRaw)."}],"outputExample":[{"input":"protocols","recordType":"protocol","position":1,"name":"Aave V3","slug":"aave-v3","protocolId":"1599","category":"Lending","chains":["Ethereum","Base","Arbitrum"],"chain":"Multi-Chain","symbol":"AAVE","tvlUsd":17035004699.47,"tvlOnChainUsd":14136942874.42,"change1hPct":-0.2934,"change1dPct":-2.856,"change7dPct":-3.6093,"change30dPct":-6.1217,"mcapUsd":null,"mcapToTvl":null,"chainTvls":{"Ethereum":14136942874.42,"Base":538320544.06,"Arbitrum":518414684.45},"parentProtocol":"aave","url":"https://aave.com","twitter":"aave","geckoId":null,"listedAt":"2022-04-01T01:34:37.000Z","defillamaUrl":"https://defillama.com/protocol/aave-v3","status":"ok","charged":true,"chargedEvent":"record","source":"defillama","fetchedAt":"2026-10-14T22:00:00.000Z"},{"input":"protocols","recordType":"summary","mode":"protocols","query":"protocols","matchingResults":41,"resultsDelivered":10,"stopReason":"limit","status":"ok","charged":false,"source":"defillama","fetchedAt":"2026-10-14T22:00:00.000Z"}],"faq":[{"question":"Where does the data come from, and how fresh is it?","answer":"From DefiLlama's open API (api.llama.fi, yields.llama.fi, stablecoins.llama.fi), fetched live on every run. DefiLlama refreshes TVL roughly hourly and caches its answers for about 30 minutes; the TVL history has one snapshot per day plus the latest value."},{"question":"Why is a protocol missing from the protocols dataset?","answer":"Centralized exchanges are left out unless includeCex is on (as in DefiLlama's own rankings), and filters such as chain, category or minUsd also remove rows. List the protocol under Protocols to get it whatever its size."},{"question":"What does a row cost?","answer":"Every delivered row is one record event ($0.001). The summary record of each query and queries that fail or name an unknown protocol are free. Use maxResults and the filters to control the number of rows."}],"mcpExamplePrompt":"List the 10 largest DeFi lending protocols on Ethereum by TVL with their 1-day, 7-day and 30-day TVL change.","related":["fx-rates","github-repo-stats","google-news-search"],"urls":{"site":"https://www.sfoln.com/actors/defillama-scraper/","siteJson":"https://www.sfoln.com/actors/defillama-scraper.json","siteMarkdown":"https://www.sfoln.com/actors/defillama-scraper.md","runSync":"https://api.apify.com/v2/actors/sfoln~defillama-scraper/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~defillama-scraper/runs","mcp":"https://mcp.apify.com?tools=sfoln/defillama-scraper","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20DefiLlama%20Scraper%20%E2%80%93%20DeFi%20TVL%2C%20Fees%20%26%20Yields%20(sfoln%2Fdefillama-scraper)&body=Please%20publish%20defillama-scraper.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}