DeFi Yield Pools Scraper (APY, TVL, IL Risk) avatar

DeFi Yield Pools Scraper (APY, TVL, IL Risk)

Pricing

from $11.34 / 1,000 yield pool records

Go to Apify Store
DeFi Yield Pools Scraper (APY, TVL, IL Risk)

DeFi Yield Pools Scraper (APY, TVL, IL Risk)

Scrape thousands of DeFi liquidity pools with live APY, base vs reward yield, TVL, 1D/7D/30D APY deltas, impermanent-loss risk and ML trend prediction. Filter by chain, protocol, token or stablecoin. Export to JSON, CSV or Excel.

Pricing

from $11.34 / 1,000 yield pool records

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

DeFi Yield Pools Scraper (APY, TVL, IL Risk)

DeFi Yield Pools Scraper (APY, TVL, IL Risk)

Here is one real result, with every field the actor returns (the pool_history and AI add-ons enabled):

{
"chain": "Ethereum",
"project": "lido",
"symbol": "STETH",
"poolId": "747c1d2a-c668-4682-b9f9-296708a3dd90",
"poolMeta": null,
"tvlUsd": 22760693591,
"apy": 2.382,
"apyBase": 2.382,
"apyReward": null,
"apyMean30d": 2.1932,
"apyPct1D": 0.197,
"apyPct7D": 0.182,
"apyPct30D": 0.185,
"rewardTokens": null,
"stablecoin": false,
"ilRisk": "no",
"exposure": "single",
"predictedClass": "Stable/Up",
"predictedProbability": 74,
"underlyingTokens": ["0x0000000000000000000000000000000000000000"],
"volumeUsd1d": null,
"volumeUsd7d": null,
"poolUrl": "https://defillama.com/yields/pool/747c1d2a-c668-4682-b9f9-296708a3dd90",
"historyPoints": 1542,
"historyStart": "2022-05-03T00:00:00.000Z",
"historyEnd": "2026-08-21T08:01:46.144Z",
"apyAvgHist": 3.4477,
"apyVolatility": 1.0517,
"apyMinHist": 2.045,
"apyMaxHist": 11.773,
"tvlMinHist": 3874088251,
"tvlMaxHist": 42441513059,
"riskLevel": "Low",
"sustainability": "The APY appears sustainable as it is entirely base yield with a stable trend.",
"redFlags": null,
"opportunityNote": "This pool suits conservative investors looking for stable returns.",
"source": "defillama.com",
"observedAt": "2026-08-21T08:26:26.566Z",
"error": null
}

The most complete DeFi yield scraper available. It returns every field the yields dataset exposes for each liquidity pool (chain, protocol, token symbol, TVL, total APY split into base and reward), plus the derived fields most scrapers skip: 1D/7D/30D APY deltas, impermanent-loss risk, asset exposure, an ML trend prediction, and optional per-pool history with computed APY volatility and an AI risk read. It scans thousands of pools across every chain and gives you eight filters to target exactly the yield you want.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor scans the full DeFi yields universe (thousands of liquidity pools across every chain and protocol) and returns one clean record per pool that matches your filters. Each record carries the pool identity (chain, protocol, token symbol, pool id and link), the money numbers (TVL in USD, total APY, and the split into base APY from fees or lending and reward APY from token emissions), and the risk and trend signals that tell you whether a yield is real: the 1-day, 7-day and 30-day change in APY, the 30-day mean APY, an impermanent-loss risk flag, single or multi asset exposure, and a machine-learning prediction of where the APY is heading with a confidence score.

You filter the set with eight controls: chain, protocol name, token symbol, minimum TVL, minimum and maximum APY, a stablecoin-only switch, and a sort by APY or TVL. Numbers are returned as plain numbers (for example 2.382 for 2.382%, and 22760693591 for TVL), so nothing needs post-processing.

Two optional add-ons deepen each record: a pool-history add-on that pulls the full APY and TVL time series and computes the average APY, APY volatility (standard deviation), and min and max APY and TVL over the pool's life, and an AI yield-risk add-on that reads the APY composition, IL risk and recent deltas to return a risk level, a sustainability verdict, concrete red flags and a one-line opportunity note.

Use cases

  • DeFi yield farming. Rank the highest-APY pools on a chain or protocol, then use the base vs reward split and the APY deltas to tell durable yield from emissions that are already fading.
  • APY monitoring. Track how a pool's APY has moved over 1, 7 and 30 days, and with the history add-on measure its APY volatility so you can size positions to how stable the yield really is.
  • Risk screening. Filter out impermanent-loss pools, cap the maximum APY to skip unrealistic emission traps, require a minimum TVL to avoid illiquid pools, and add the AI risk read to surface red flags before you deposit.
  • Stablecoin yield. Flip the stablecoin-only switch to list lower-risk stablecoin pools and compare their yields across chains and protocols.
  • Portfolio and treasury allocation. Pull the top pools by TVL for the assets you hold and export the full set to a spreadsheet to plan allocations across chains.
  • Analytics and dashboards. Feed clean per-pool APY, TVL and trend data into your own dashboards, alerts or models on a schedule.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the highest-APY Ethereum pools above one million dollars of TVL.

{
"chain": "Ethereum",
"minTvl": 1000000,
"sort": "apy",
"maxResults": 25
}

To list stablecoin USDC pools instead:

{
"symbol": "USDC",
"stablecoinOnly": true,
"sort": "tvl",
"maxResults": 25
}

Input reference

FieldTypeRequiredDefaultDescription
chainstringno(all)Filter to a single chain, matched exactly and case-insensitively, for example Ethereum, Arbitrum, Solana, Base, Polygon.
projectstringno(all)Filter to protocols whose name contains this text, for example aave, lido, uniswap, curve, pendle.
symbolstringno(all)Filter to pools whose symbol contains this token, for example USDC, ETH, WBTC. Matches either side of a pair.
minTvlintegerno(none)Only return pools with at least this much TVL in USD, for example 1000000.
minApynumberno(none)Only return pools with APY at or above this percent, for example 5.
maxApynumberno(none)Only return pools with APY at or below this percent, for example 100. Use to skip unrealistic emission APYs.
stablecoinOnlybooleannofalseReturn only pools flagged as stablecoin pools.
sortenumnoapySort matching pools before the cap. apy = highest APY first, tvl = largest TVL first.
includeHistorybooleannofalsePaid add-on. Attach the APY and TVL time series plus derived average, volatility and min/max. Charged only when a series is returned. Disabled on free plans.
aiYieldRiskbooleannofalsePaid add-on. Add an AI risk level, sustainability read, red flags and an opportunity note. Charged only when a usable analysis is returned. Disabled on free plans.
maxResultsintegerno10Maximum pools to return across the run, after filtering and sorting. Free Apify plans are capped at 10 per run.

All filters are optional. With no filters the actor returns the top pools by APY. Filters combine, so setting several narrows the set.

Output reference

One dataset item per pool. Numeric fields are returned as numbers, or null when the source has no value. Percentages are plain numbers without the % sign.

FieldTypeDescription
chainstringBlockchain the pool is on.
projectstringProtocol the pool belongs to.
symbolstringToken or pair symbol of the pool.
poolIdstringDefiLlama pool identifier.
poolMetastringExtra pool label or variant, for example a fee tier or lock period.
tvlUsdnumberTotal value locked in the pool, in USD.
apynumberTotal net APY percent (base plus reward).
apyBasenumberBase APY percent from trading fees or lending interest.
apyRewardnumberReward APY percent from token emissions or incentives.
apyMean30dnumberMean APY percent over the last 30 days.
apyPct1DnumberChange in APY over the last 1 day, in percentage points.
apyPct7DnumberChange in APY over the last 7 days, in percentage points.
apyPct30DnumberChange in APY over the last 30 days, in percentage points.
rewardTokensstring[]Contract addresses of the reward tokens, or null.
stablecoinbooleanTrue if the pool is a stablecoin pool.
ilRiskstringImpermanent-loss risk flag, yes or no.
exposurestringAsset exposure, single or multi.
predictedClassstringML prediction of the APY direction, for example Stable/Up or Down.
predictedProbabilitynumberConfidence percent of the ML prediction.
underlyingTokensstring[]Contract addresses of the underlying tokens, or null.
volumeUsd1dnumberTrading volume over the last 1 day in USD, where available.
volumeUsd7dnumberTrading volume over the last 7 days in USD, where available.
poolUrlstringLink to the pool page on DefiLlama.
historyPointsnumberNumber of history data points returned (history add-on).
historyStartstringFirst timestamp of the history series (history add-on).
historyEndstringLast timestamp of the history series (history add-on).
apyAvgHistnumberAverage APY over the full history (history add-on).
apyVolatilitynumberStandard deviation of APY over the history (history add-on).
apyMinHistnumberMinimum APY over the history (history add-on).
apyMaxHistnumberMaximum APY over the history (history add-on).
tvlMinHistnumberMinimum TVL over the history in USD (history add-on).
tvlMaxHistnumberMaximum TVL over the history in USD (history add-on).
riskLevelstringAI risk level, Low to Very High (AI add-on).
sustainabilitystringAI read on whether the APY looks sustainable (AI add-on).
redFlagsstring[]AI-identified risk red flags (AI add-on), or null.
opportunityNotestringAI one-line opportunity note (AI add-on).
sourcestringData source.
observedAtstringISO 8601 timestamp when the record was collected.
errorstringnull on success. When no pool matches the filters, a single item with a populated error field is written and not charged.

Example output record

Real stablecoin pool from a live run (input {"symbol":"USDC","stablecoinOnly":true,"maxResults":3}), add-ons off:

{
"chain": "Avalanche",
"project": "blackhole-clmm",
"symbol": "REUSD-USDC",
"poolId": "8f169a34-dabc-46a3-b0fe-58e75a337611",
"poolMeta": "CL - 1",
"tvlUsd": 11067,
"apy": 1563.4824,
"apyBase": 0,
"apyReward": 1563.4824,
"apyMean30d": 80.0565,
"apyPct7D": 1558.2495,
"apyPct30D": 1558.6127,
"rewardTokens": ["0xcd94a87696FAC69Edae3a70fE5725307Ae1c43f6"],
"stablecoin": true,
"ilRisk": "no",
"exposure": "multi",
"predictedClass": "Down",
"predictedProbability": 93,
"poolUrl": "https://defillama.com/yields/pool/8f169a34-dabc-46a3-b0fe-58e75a337611",
"source": "defillama.com",
"observedAt": "2026-08-21T08:25:40.641Z",
"error": null
}

Note how apyBase is 0 and all of the APY is apyReward, with a Down ML prediction: a reward-driven yield the deltas already flag as fading.

Run via API and CLI

Start a run and read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~defi-yield-pools-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"chain":"Ethereum","minTvl":1000000,"sort":"apy","maxResults":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~defi-yield-pools-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"symbol":"USDC","stablecoinOnly":true,"sort":"tvl","maxResults":50}'

Apify CLI:

apify call scrapers_lat/defi-yield-pools-scraper \
--input '{"project":"lido","includeHistory":true,"aiYieldRisk":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per pool returned (result event), plus a small one-time apify-actor-start event per run. See the pricing tab for current prices.
  • Pool history add-on. includeHistory is off by default. It fetches the pool's APY and TVL time series and computes volatility and averages. Charged (pool_history event) only when a real series is returned.
  • AI yield-risk add-on. aiYieldRisk is off by default. Charged (ai_yield_risk event) only when the AI returns a usable risk analysis.
  • No charge on failure. When no pool matches your filters, a single item with a populated error field is written and nothing is charged. Empty runs cost nothing.
  • Add-ons disabled on free plans. Both add-ons run only for paying users, since they add extra fetch and AI cost.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxResults.

FAQ and troubleshooting

A run returned a single item with an error field. Why? No pool matched your filters. Loosen the chain, protocol, symbol, or the TVL and APY bounds. That row is not charged.

Are percentages returned with a % sign? No. APY and delta metrics are plain numbers, so 2.382% becomes 2.382. TVL is returned as a full USD number.

What is the difference between apyBase and apyReward? apyBase is the organic yield from trading fees or lending interest. apyReward is yield paid in incentive tokens, which can stop at any time. A high apyReward with a falling apyPct7D is a classic sign of a fading emission.

What is predictedClass? A machine-learning prediction of where the pool's APY is heading (for example Stable/Up or Down), with predictedProbability as the confidence percent.

What does the history add-on add? The full APY and TVL time series for the pool, plus the number of points, the start and end timestamps, the average APY, the APY volatility (standard deviation), and the minimum and maximum APY and TVL over the pool's life.

Does this need a login or an API key? No. You never provide any credentials. Proxy and retries are handled internally.

Is this an official DefiLlama tool? No. This actor is independent and has no affiliation with DefiLlama. It reads only data that is publicly available.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for public platforms: company registries, government data, finance, web3, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with DefiLlama. Accesses only publicly available data.