# DefiLlama Protocols Scraper (`logiover/defillama-protocols-scraper`) Actor

Scrape all 7,000+ DeFi protocols from DefiLlama in one run — TVL, 1h/1d/7d TVL change, market cap, category, chains and links. Filter by chain, category and TVL. Schedule it daily to track the entire DeFi landscape.

- **URL**: https://apify.com/logiover/defillama-protocols-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🦙 DefiLlama Protocols Scraper — Scrape All DeFi Protocols & TVL Data

![DefiLlama Protocols Scraper](https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/GjS6nQ8qauOdq9KGy-actor-lCH1chq05WggGA4Ad-gzAuA1Mr7K-62d5602205c8b6d07c03fed6_LQwS_x0l_400x400.jpeg)

**Bulk export of all 7,000+ DeFi protocols from [DefiLlama](https://defillama.com) — the canonical source of truth for DeFi TVL — in one run, with one flat dataset.** Total Value Locked (TVL), 1-hour / 1-day / 7-day TVL change %, market cap, category, primary chain, all chains the protocol is deployed on, website URL, Twitter handle, description, listing date and DefiLlama page URL — for every protocol in the entire DeFi landscape.

Built for **DeFi analysts, on-chain investors, DeFi protocol founders running competitive intelligence, DeFi index and ETF teams, crypto VCs, DeFi-focused funds, treasury managers, on-chain research desks, newsletter and dashboard operators, and DeFi data products** that need the full DefiLlama protocol table on a recurring schedule — without writing pagination, retry, filter and sort logic by hand.

🟢 No login. No API key required. No headless browser. Pure official DefiLlama public API.

---

### What this scraper does

DefiLlama is the canonical source of DeFi TVL. Their protocols database covers:

- Money markets and lending (Aave, Compound, MakerDAO, Spark, Morpho, Sky, Radiant, Benqi, Venus)
- Liquid staking (Lido, Rocket Pool, Frax Ether, Jito, Marinade, Coinbase cbETH, Binance WBETH)
- Liquid restaking (EigenLayer, ether.fi, Renzo, Kelp, Puffer, Swell, Symbiotic, Karak)
- DEXes (Uniswap, PancakeSwap, Curve, Balancer, SushiSwap, Aerodrome, Velodrome, Raydium, Orca, Meteora, Cetus, Bluefin)
- Yield aggregators (Yearn, Beefy, Convex, Pendle, Spectra)
- Perpetuals DEXes (GMX, Hyperliquid, dYdX, Drift, Vertex, Aevo)
- Bridges (Stargate, Across, Hop, Synapse, deBridge, Mayan, LayerZero v2 bridges)
- CDPs and stablecoins (MakerDAO, Sky USDS, Liquity, Frax, Ethena, Crvusd)
- Real-world-assets (Ondo, Maple, Goldfinch, Centrifuge, Backed)
- Insurance, prediction markets, NFT lending, options, structured products and dozens of other categories

The raw DefiLlama protocols endpoint returns 7,000+ protocol entries in nested JSON. This **DefiLlama protocols scraper** filters them by chain, category and minimum TVL, sorts by your preferred metric, flattens to clean rows, and exports to JSON / CSV / Excel — ready for your competitive intelligence dashboard, your fund's research database, or your DeFi newsletter.

---

### ✨ Key features

| Feature | What it gives you |
|---|---|
| 🦙 **Official DefiLlama API** | Reliable, fully structured DeFi data — the same source the entire industry already trusts |
| 🌐 **Full coverage** | All 7,000+ DeFi protocols in one run — or a smaller subset with filters |
| 📊 **Rich per-protocol metrics** | TVL, 1h / 1d / 7d TVL change %, market cap, category, primary chain, all chains |
| 🔎 **Chain filter** | Restrict results to protocols active on specific chains (Ethereum, Arbitrum, Solana, Base, etc.) |
| 🏷️ **Category filter** | Focus on Dexes, Lending, Liquid Staking, Yield, CDP, Bridge, Derivatives, RWA, Restaking and many more |
| 💵 **TVL floor** | Drop dust protocols by setting a minimum TVL threshold in USD |
| 🔃 **Sortable** | Rank by `tvl`, `change_1d`, `change_7d` or `mcap` |
| 🔗 **Links & metadata** | Website URL, Twitter handle, description, DefiLlama URL, listing date |
| 📤 **Flat structured rows** | 18 columns, no nested JSON wrangling |
| 💾 **JSON, CSV, Excel exports** | Direct Apify Dataset → any format |
| 🔓 **Public API only** | No login, no API key, no Cloudflare bypass |
| ⏰ **Schedule-ready** | Designed for daily TVL archive runs |

---

### 🎯 Built for these use cases

#### 1. TVL trend analytics and DeFi market intelligence
Daily snapshots of every protocol's TVL build a longitudinal record of where capital is flowing in DeFi. Track multi-week trends in lending vs. liquid staking vs. restaking vs. perps — the cleanest cross-sectional DeFi dataset you can build.

#### 2. Competitive intelligence for protocol founders
If you're building in DeFi, this scraper gives you a continuously fresh view of your competitive set. Filter to your category (Lending, DEX, Restaking, Perps) and watch TVL share, 1d / 7d momentum and chain-by-chain footprint.

#### 3. DeFi VC and fund research
Fund teams use TVL-by-category and TVL-by-chain breakdowns to size opportunities, screen for emerging protocols, and benchmark portfolio companies. Daily snapshots → portfolio company dashboards → LP reports.

#### 4. DeFi index and ETF construction
Building a DeFi-blue-chip index, a restaking index, a chain-specific basket, or a category-weighted ETF? This scraper gives you the inputs — TVL, market cap, category, chain.

#### 5. Treasury and risk monitoring
Watch for sharp 1d / 7d TVL drops across protocols your DAO or treasury is exposed to. Early warning for hacks, depegs, regulatory events and bank runs.

#### 6. DeFi dashboards and newsletter operators
Power an always-current "top DeFi protocols" leaderboard filtered by chain or category. Weekly "biggest TVL gainers / losers" newsletters. Daily content sources for DeFi-focused publications.

#### 7. Cross-chain TVL studies
The `chains` array tells you every chain a protocol is deployed on. Aggregate by chain to track chain-level TVL competition (Ethereum vs. Solana vs. Base vs. Arbitrum vs. BSC).

#### 8. On-chain data products and APIs
Resell or expose DefiLlama TVL data through your own product. This scraper is the cheapest reliable upstream — refresh daily, store in your own database, expose your own API.

---

### 📥 Inputs

| Field | Type | Required | Description |
|---|---|---|---|
| `chains` | string[] | No | Filter to protocols active on these chains. Examples: `Ethereum`, `Arbitrum`, `Solana`, `Base`, `BSC`, `Polygon`, `Avalanche`, `Optimism`, `Tron`, `Sui`, `TON`, `Aptos`, `Hyperliquid`, `Berachain`, `Sonic`. Leave empty for all chains. |
| `categories` | string[] | No | Filter by category. Examples: `Dexes`, `Lending`, `Liquid Staking`, `Liquid Restaking`, `Yield`, `Yield Aggregator`, `CDP`, `Bridge`, `Derivatives`, `RWA`, `Insurance`, `Prediction Market`, `Options`, `Reserve Currency`, `NFT Lending`, `Stablecoin Issuer`. Leave empty for all categories. |
| `minTvlUsd` | int | No | Only include protocols with TVL at or above this USD value. `0` = no filter. Default `0`. |
| `sortBy` | string (enum) | No | Rank protocols by this metric. One of `tvl`, `change_1d`, `change_7d`, `mcap`. Default `tvl`. |
| `maxProtocols` | int | No | Maximum number of protocols to save. `0` = all (7,000+). |

#### Example inputs

**Top 100 protocols by TVL across all chains and categories:**
```json
{
  "chains": [],
  "categories": [],
  "minTvlUsd": 0,
  "sortBy": "tvl",
  "maxProtocols": 100
}
````

**All Ethereum & Arbitrum DEXes and lending markets above $1M TVL:**

```json
{
  "chains": ["Ethereum", "Arbitrum"],
  "categories": ["Dexes", "Lending"],
  "minTvlUsd": 1000000,
  "sortBy": "tvl",
  "maxProtocols": 0
}
```

**7-day TVL movers — top 50 fastest-growing protocols (any chain):**

```json
{
  "minTvlUsd": 5000000,
  "sortBy": "change_7d",
  "maxProtocols": 50
}
```

**Liquid restaking landscape — all chains, all sizes:**

```json
{
  "categories": ["Liquid Restaking"],
  "sortBy": "tvl"
}
```

***

### 📤 Output

Each DeFi protocol is saved as one structured row in the Apify Dataset. Export to JSON, CSV, Excel (XLSX), HTML or JSONL.

#### Sample row

```json
{
  "id": "111",
  "name": "Lido",
  "symbol": "LDO",
  "slug": "lido",
  "category": "Liquid Staking",
  "chain": "Ethereum",
  "chains": ["Ethereum", "Polygon", "Moonriver", "Moonbeam", "Solana", "Terra Classic"],
  "tvl": 38291847122,
  "change1h": 0.04,
  "change1d": 1.18,
  "change7d": 3.42,
  "mcap": 1284217312,
  "url": "https://lido.fi",
  "twitter": "LidoFinance",
  "description": "Lido is the largest liquid staking protocol on Ethereum, allowing users to stake ETH without locking it up and receive stETH in return.",
  "listedAt": "2020-12-19T00:00:00.000Z",
  "defillamaUrl": "https://defillama.com/protocol/lido",
  "scrapedAt": "2026-05-16T13:01:42.000Z"
}
```

#### Full field reference (18 fields)

| Field | Type | Meaning |
|---|---|---|
| `id` | string | DefiLlama internal protocol ID |
| `name` | string | Display name of the protocol |
| `symbol` | string | Governance / native token symbol, or `-` if none |
| `slug` | string | DefiLlama protocol slug (e.g. `lido`, `aave-v3`, `uniswap-v3`) — used in URLs |
| `category` | string | Protocol category (Dexes, Lending, Liquid Staking, Liquid Restaking, Yield, CDP, Bridge, Derivatives, RWA, etc.) |
| `chain` | string | Primary chain (where most of the TVL lives) |
| `chains` | string\[] | Array of every chain the protocol is deployed on |
| `tvl` | number | Total Value Locked in USD |
| `change1h` | number | TVL change over the last 1 hour, % |
| `change1d` | number | TVL change over the last 1 day, % |
| `change7d` | number | TVL change over the last 7 days, % |
| `mcap` | number | Governance token market capitalization in USD |
| `url` | string | Protocol official website URL |
| `twitter` | string | Protocol Twitter / X handle |
| `description` | string | Short DefiLlama-provided protocol description |
| `listedAt` | string | ISO 8601 date the protocol was first listed on DefiLlama |
| `defillamaUrl` | string | DefiLlama protocol page URL |
| `scrapedAt` | string | ISO 8601 timestamp when this row was saved |

***

### ⚙️ How it works

1. **Reads input** — chain / category filters, TVL floor, sort key, protocol cap.
2. **Pulls the DefiLlama `protocols` endpoint** — returns the full 7,000+ protocol snapshot in one response.
3. **Filters in-stream** — drops protocols that fail your chain / category / TVL filters.
4. **Sorts** the filtered list by your chosen metric (`tvl`, `change_1d`, `change_7d`, `mcap`).
5. **Trims** to `maxProtocols` if a cap was set.
6. **Flattens** every protocol into an 18-field row.
7. **Streams** rows into the Apify Dataset.

The scraper uses ONLY DefiLlama's officially-supported public API (`api.llama.fi/protocols`). No HTML scraping, no headless browser, no proxy, no anti-bot bypass. Endpoint is documented at [api-docs.defillama.com](https://api-docs.defillama.com).

***

### ⚡ Performance

| Workload | Time | API calls |
|---|---|---|
| All 7,000+ protocols (no filter) | ~5–8 seconds | 1 |
| All Ethereum protocols | ~5–8 seconds | 1 |
| All Lending category protocols | ~5–8 seconds | 1 |
| Top 100 by TVL | ~5–8 seconds | 1 |

DefiLlama's protocols endpoint returns the full snapshot in one large response, so every run is essentially the same speed regardless of filters.

***

### 💰 Cost model

This actor uses **Pay-Per-Result** pricing — you pay only for the protocol rows actually saved (after filters). Protocols dropped by your filters are not billed.

Typical run sizes:

- Top 100 protocols → 100 rows
- All Dexes above $1M TVL → ~150–250 rows
- All Lending category protocols → ~200–300 rows
- All protocols above $1M TVL → ~1,500–2,500 rows
- All protocols, no filter → ~7,000 rows

***

### 🔄 Schedule for continuous monitoring

This scraper plays nicely with Apify's scheduler. Common patterns:

- **Every hour** — DeFi TVL dashboards for active users
- **Every 6 hours** — competitive intelligence for protocol founders
- **Daily at midnight UTC** — DeFi TVL archive for research and quant teams (the most common cadence)
- **Weekly** — newsletter "DeFi state of the union" reports
- **On-demand** — pre / post-event snapshots around upgrades, hacks, depegs, regulatory news

Use Apify Webhooks to push the dataset into TimescaleDB, BigQuery, Snowflake, Postgres, Google Sheets, Slack, Discord, Make.com, n8n, or your own DeFi analytics pipeline.

***

### 🛠️ FAQ

**Do I need a DefiLlama API key?**
No. DefiLlama's protocols endpoint is public, free, and requires no authentication.

**How many protocols does DefiLlama track?**
7,000+ at the time of writing, growing as new protocols are listed. The free public endpoint returns all of them in one response.

**Which categories are available?**
The most common categories include: Dexes, Lending, Liquid Staking, Liquid Restaking, Yield, Yield Aggregator, CDP, Bridge, Derivatives, RWA, Insurance, Prediction Market, Options, Options Vault, Reserve Currency, NFT Lending, Stablecoin Issuer, Cross Chain Bridge, Synthetics, Algo-Stables, Index, Launchpad, Indexer, Privacy and several dozen more — see [defillama.com/categories](https://defillama.com/categories) for the live list.

**Which chains does DefiLlama cover?**
Every chain with meaningful DeFi activity — Ethereum, Arbitrum, Optimism, Base, BSC, Polygon, Avalanche, Solana, Tron, Sui, TON, Aptos, Hyperliquid, Berachain, Sonic, Monad, Linea, Mantle, Scroll, zkSync Era, Blast, Mode, Manta, PulseChain, Cronos, Fantom, Sei, Celo, Gnosis, Moonbeam, Cosmos, Osmosis, Injective, Cardano, Stellar, NEAR and many more.

**How fresh is the data?**
DefiLlama refreshes its protocol TVL snapshot every ~1 hour. So scheduling more frequently than hourly gives you the same data multiple times — schedule hourly or longer for fresh updates.

**Can I build a historical TVL archive?**
Yes — schedule daily snapshots and aggregate over time. After a few weeks you have a longitudinal dataset of per-protocol TVL, momentum and market-cap drift that's perfect for DeFi research.

**Can I get per-chain TVL breakdown for a protocol?**
Not from this scraper — this returns each protocol's `chain` (primary) and `chains` (list) but not the per-chain TVL split. DefiLlama's separate per-protocol endpoint (`/protocol/{slug}`) returns that detail.

**Can I sort by 1-hour or 1-day TVL change?**
Yes — set `sortBy=change_1d` to surface the day's biggest movers, or `sortBy=change_7d` for the week's. (1-hour change is in the output but not a sort key — sort downstream if needed.)

**Does the actor respect DefiLlama's rate limits?**
Yes — one request per run, built-in backoff on HTTP 429. You can run unattended without getting throttled.

**Can I filter to only protocols with a tradable token (non-null `mcap`)?**
Not from the input schema — filter downstream by `mcap != null` or `mcap > 0`. Many DeFi protocols have governance tokens; some (like Maker before MKR was renamed, or single-product apps) don't.

**Can I export to CSV or Excel?**
Yes. Apify Dataset exports support JSON, CSV, Excel (XLSX), HTML and JSONL.

**Can I integrate via webhook / API?**
Yes. Apify provides REST API access to runs and datasets. Trigger from Zapier, Make.com, n8n, custom code, or any HTTP client.

***

### 📚 Related scrapers

Combine this protocols scraper with other crypto data scrapers in the suite to build a complete DeFi + spot + derivatives + on-chain stack:

| Scraper | Purpose |
|---|---|
| **`defillama-protocols-scraper`** | **You are here.** All 7,000+ DeFi protocols with TVL, 1h/1d/7d TVL change, category, chains. |
| `defillama-yields-scraper` | 20,000+ DeFi yield pools with APY breakdown, TVL, IL risk, 1d/7d/30d APY trend. |
| `coingecko-coins-market-scraper` | Full crypto market table — 17,000+ coins with price, market cap, volume, supply, ATH/ATL. |
| `coingecko-derivatives-scraper` | All 22,000+ derivative tickers (perpetuals + futures) with funding, OI, basis, volume. |
| `geckoterminal-dex-pools-scraper` | On-chain DEX liquidity pools across 100+ networks (price, FDV, reserve, volume, txns). |
| `dexscreener-token-pairs-scraper` | Token contract → every live DEX pair across every chain. |
| `dexscreener-search-pairs-scraper` | Free-text symbol/name search → matching DEX pairs. |
| `crypto-exchange-tickers-scraper` | CEX spot ticker tables across exchanges. |

***

### 🔑 Keyword cloud

**Core:** defillama api, defillama scraper, defillama protocols scraper, defi tvl scraper, defi tvl data, defi protocols api, defi protocol list, defi market data, defi analytics, defi protocol export, total value locked api, defi landscape data.

**Per niche / protocol:** aave tvl, compound tvl, makerdao tvl, sky usds tvl, lido tvl, rocket pool tvl, eigenlayer tvl, ether.fi tvl, renzo tvl, kelp dao tvl, pendle tvl, uniswap v3 tvl, curve tvl, balancer tvl, sushiswap tvl, aerodrome tvl, velodrome tvl, raydium tvl, gmx tvl, hyperliquid tvl, dydx tvl, ondo tvl, maple tvl, frax tvl, ethena tvl, morpho tvl.

**Per category:** dex tvl scraper, lending tvl data, liquid staking tvl tracker, liquid restaking tvl tracker, yield aggregator tvl, cdp tvl tracker, bridge tvl tracker, perpetuals dex tvl, real world assets tvl, rwa scraper, options tvl tracker, stablecoin issuer tvl.

**Per use case:** defi competitive intelligence, defi vc research data, defi index construction, defi etf data, defi treasury monitoring, defi risk monitoring, defi tvl archive, defi newsletter data, defi market share tracker, cross-chain tvl study, defi protocol research, defi opportunity screener.

**Per audience:** defi data for analysts, defi data for vcs, defi data for protocol founders, defi data for treasury teams, defi data for index products, defi data for newsletter operators, defi data for risk desks, defi data for data products.

# Actor input Schema

## `chains` (type: `array`):

Filter to protocols active on these chains, e.g. 'Ethereum', 'Arbitrum', 'Solana'. Leave empty for all.

## `categories` (type: `array`):

Filter by category, e.g. 'Dexes', 'Lending', 'Liquid Staking', 'Yield'. Leave empty for all.

## `minTvlUsd` (type: `integer`):

Only protocols with TVL at or above this. 0 = no filter.

## `sortBy` (type: `string`):

Rank protocols by this metric.

## `maxProtocols` (type: `integer`):

Maximum protocols to save. 0 = all (7,000+).

## Actor input object example

```json
{
  "chains": [],
  "categories": [],
  "minTvlUsd": 0,
  "sortBy": "tvl"
}
```

# Actor output Schema

## `name` (type: `string`):

name

## `category` (type: `string`):

category

## `chain` (type: `string`):

chain

## `tvl` (type: `string`):

tvl

## `change1d` (type: `string`):

change1d

## `change7d` (type: `string`):

change7d

## `mcap` (type: `string`):

mcap

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "chains": [],
    "categories": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/defillama-protocols-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "chains": [],
    "categories": [],
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/defillama-protocols-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "chains": [],
  "categories": []
}' |
apify call logiover/defillama-protocols-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/defillama-protocols-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "DefiLlama Protocols Scraper",
        "description": "Scrape all 7,000+ DeFi protocols from DefiLlama in one run — TVL, 1h/1d/7d TVL change, market cap, category, chains and links. Filter by chain, category and TVL. Schedule it daily to track the entire DeFi landscape.",
        "version": "0.1",
        "x-build-id": "xTrpLjzt85gPCpXDw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~defillama-protocols-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-defillama-protocols-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/logiover~defillama-protocols-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-defillama-protocols-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/logiover~defillama-protocols-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-defillama-protocols-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "chains": {
                        "title": "Chains",
                        "type": "array",
                        "description": "Filter to protocols active on these chains, e.g. 'Ethereum', 'Arbitrum', 'Solana'. Leave empty for all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categories": {
                        "title": "Categories",
                        "type": "array",
                        "description": "Filter by category, e.g. 'Dexes', 'Lending', 'Liquid Staking', 'Yield'. Leave empty for all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minTvlUsd": {
                        "title": "Minimum TVL (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only protocols with TVL at or above this. 0 = no filter.",
                        "default": 0
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "tvl",
                            "change_1d",
                            "change_7d",
                            "mcap"
                        ],
                        "type": "string",
                        "description": "Rank protocols by this metric.",
                        "default": "tvl"
                    },
                    "maxProtocols": {
                        "title": "Max Protocols",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum protocols to save. 0 = all (7,000+)."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
