> ## Documentation Index
> Fetch the complete documentation index at: https://artemis.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sector leaderboards

> Rank every protocol in a sector by a metric with a single API call

`summarize=true` collapses a date range into one row per asset, which is exactly the shape a leaderboard needs.

* **One value per asset:** the `endDate` day's value, for every metric, whether it's `SUM`, `LAST` or `AVERAGE`
* **Plus movement:** a `<METRIC>_PCT_CHG` series showing how far that value moved since `startDate`
* **A comparison window, not a period total:** Hyperliquid's `PERP_VOLUME` over 2026-07-25 to 2026-08-01 summarizes to \$2.02B, the 2026-08-01 value; the eight daily values sum to \$59.64B

See [Core concepts](/docs/artemis-api/core-concepts) for the full behaviour.

## Lending, ranked by deposits

```bash theme={null}
curl -s "https://data-svc.artemisxyz.com/v2/data/LENDING_DEPOSITS,LENDING_LOANS?symbols=aave,comp,eul,fluid,hyperlend,jup,kmno,lista,lqty,morpho,qi,sky,spk,syrup,tydro,well,xvs&startDate=2026-07-25&endDate=2026-08-01&summarize=true&APIKey=$ARTEMIS_API_KEY"
```

| Protocol | Deposits | Borrows | Utilisation |
| - | - | - | - |
| Aave | \$24.52B | \$10.60B | 43% |
| Morpho | \$10.35B | \$4.02B | 39% |
| Maker | \$6.15B | \$4.80B | 78% |
| Spark | \$5.46B | \$1.80B | 33% |
| Maple | \$4.04B | \$1.82B | 45% |
| Kamino | \$2.25B | \$0.92B | 41% |
| Jupiter | \$2.03B | \$0.75B | 37% |
| Compound | \$1.75B | \$0.57B | 32% |
| Venus | \$1.41B | \$0.38B | 27% |
| Fluid | \$1.40B | \$0.75B | 53% |
| Euler | \$0.66B | \$0.51B | 77% |
| HyperLend | \$0.66B | \$0.24B | 37% |
| Liquity | \$0.14B | \$0.03B | 20% |
| Benqi Finance | \$0.12B | \$0.03B | 28% |
| Tydro | \$0.11B | \$0.05B | 45% |
| Moonwell | \$0.07B | \$0.03B | 41% |
| Lista | \$0.06B | \$0.04B | 69% |

## The Python version

```python theme={null}
import os
import requests

BASE = "https://data-svc.artemisxyz.com/v2/data"
KEY = os.environ["ARTEMIS_API_KEY"]


def leaderboard(metrics, symbols, start="2026-07-25", end="2026-08-01"):
    resp = requests.get(
        f"{BASE}/{','.join(metrics)}",
        params={
            "symbols": ",".join(symbols),
            "startDate": start,
            "endDate": end,
            "summarize": "true",
            "APIKey": KEY,
        },
        timeout=120,
    )
    resp.raise_for_status()

    rows = {}
    for s in resp.json()["series"]:
        if s["metric"].endswith("_PCT_CHG"):  # summarize adds one per metric
            continue
        if not isinstance(s["data"], list) or not s["data"]:
            continue
        # series_columns is ["label", "value"] here, so index 1 is the value
        rows.setdefault(s["display_name"], {})[s["metric"]] = s["data"][0][1]

    return sorted(
        rows.items(),
        key=lambda kv: kv[1].get(metrics[0]) or 0,
        reverse=True,
    )


LENDING = "aave comp eul fluid hyperlend jup kmno lista lqty morpho qi sky spk syrup tydro well xvs".split()

for name, vals in leaderboard(["LENDING_DEPOSITS", "LENDING_LOANS"], LENDING):
    dep = vals.get("LENDING_DEPOSITS") or 0
    bor = vals.get("LENDING_LOANS") or 0
    util = f"{100 * bor / dep:.0f}%" if dep else "n/a"
    print(f"{name:16} {dep/1e9:8,.2f}B {bor/1e9:8,.2f}B {util:>5}")
```

Want biggest movers rather than biggest absolute values? Sort by the `<METRIC>_PCT_CHG` series instead of skipping it. It's `(endDate / startDate − 1) × 100`, measured across the whole window.

## Perps, ranked by open interest

```bash theme={null}
curl -s "https://data-svc.artemisxyz.com/v2/data/OPEN_INTEREST,PERP_VOLUME?symbols=hype,aster,lit,apex,edgex,extended,ostium,paradex,gns,gmtrade,hyena,paragon,tradexyz,jup&startDate=2026-07-25&endDate=2026-08-01&summarize=true&APIKey=$ARTEMIS_API_KEY"
```

| Venue | Open interest | Volume |
| - | - | - |
| Hyperliquid | \$10,170.4M | \$2,016.5M |
| trade.xyz | \$3,534.0M | \$524.2M |
| Aster | \$1,902.3M | \$834.7M |
| Lighter | \$869.7M | \$509.2M |
| edgeX | \$274.8M | \$74.0M |
| Jupiter | \$191.9M | \$81.6M |
| ApeX | \$111.4M | \$792.6M |
| GMTrade | \$69.1M | \$56.3M |
| Paradex | \$36.9M | \$3.4M |
| HyENA | \$4.9M | \$0.9M |
| Ostium | \$4.6M | \$0.6M |
| Paragon | \$2.5M | \$1.5M |

Twelve of the fourteen symbols rank on `OPEN_INTEREST`. Extended and Gains Network report `PERP_VOLUME` (\$176.9M and \$16.3M) with no open interest over this window, arriving as a well-formed `["Extended", null]` tuple, which is why `leaderboard()` guards against `None` as well as checking the type.

ApeX stands out: \$792.6M of volume against \$111.4M of open interest, turning its book over roughly seven times in a day. `OI_BY_VOLUME_RATIO` measures that directly. In this basket, Hyperliquid (5.04), Paradex (11.00), edgeX (3.71) and Lighter (1.71) return a value.

<Warning>
  Under `summarize=true` **every** figure here is the `endDate` day's value, open interest and volume alike. `summarize` ignores the declared `aggregation_type`, so the volume column is a single day's volume, not an eight-day total. If you want a period total, sum the daily series or use `granularity`.
</Warning>

## Build the symbol list automatically

Rather than hardcoding symbols, pull them from `/asset/`:

```python theme={null}
import requests

assets = requests.get("https://data-svc.artemisxyz.com/asset/", timeout=180).json()["assets"]

def sector_symbols(tag):
    return [
        a["symbol"]
        for a in assets
        if a.get("symbol")
        and any(g.get("value") == tag for g in (a.get("tags") or {}).get("groups") or [])
    ]

print(leaderboard(["LENDING_DEPOSITS"], sector_symbols("lending"))[:5])
```

This prints the same top five (Aave, Morpho, Maker, Spark, Maple).

* **19 symbols, not 17:** the sector query also returns `seam` (Seamless Protocol) and `sonne` (Sonne Finance)
* **Keep the `or 0` guard:** neither reports `LENDING_DEPOSITS` for this window, so a built list still needs the same handling as a hand-picked one

See [Finding assets and metrics](/docs/artemis-api/discovery) for more on sector queries.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.