Free Hyperliquid API & historical data
Hyperliquid perps, wallet by wallet: traders, positions, fills, funding and ledgers, liquidations, builders, venue stats and candles — 45 routes under /v1/hyperliquid, free with one key (20,000 requests an hour, 200 a minute). The 10 cohort routes live under /v1/hl-cohorts and have their own page.
Point-in-time cohorts, for backtests
A position in the history carries the label its wallet had in that hour (pnl_cohort_basis, pnl_cohort_as_of), and label_causal the previous hour's, which has no lookahead. On /v1/hl-cohorts/symbols/{symbol}/cohort-metrics, axis=pnl with labelBasis=point_in_time returns each hour's label as it was, from 2026-04-07: with the default grading, daily resolution before 2026-08-06 and hourly from it. Position, liquidation and cohort-metrics responses say which basis each label has. Point-in-time vs current labels →
Position snapshots about every 5 minutes
Open positions are usually snapshotted 5 to 7 minutes apart and kept for one year. History is served from 2026-05-01: the 5-minute snapshots begin 2026-05-08 and the days before are hourly. The hourly cohort series are rolled up from the snapshots and start earlier, on 2026-04-07; some of their hours were rebuilt from fills rather than measured. Parquet files come one per UTC day from 2026-05-08, the first a partial day. Positions →
Standing orders
What was resting on a market at a 5-minute snapshot, what became of one wallet's orders, and where a coin's stops and limits cluster: three routes. Snapshots begin 2026-10-23 21:45 UTC; earlier instants, back to 2026-07-29, are rebuilt from checkpoints about 12 minutes apart, and a rebuild can miss short-lived orders. On /orders and /order-clusters, source says which feed answered; on the wallet route it names the feed behind the newest snapshot, not the window. Orders →
One key, one MCP server
Hyperliquid, HL Cohorts, Polymarket and on-chain wallets and tokens share one API key and one hourly budget (20,000 requests), over REST and over MCP at https://data.vike.io/mcp. Not every route has an MCP tool; the order routes do not. Connect an MCP client →
nextCursor — pass it back verbatim as cursor, and stop when it is null (the order=asc event feeds are the exception: they keep returning a cursor, so stop on an empty page). A deep page costs the same as the first, and rows inserted while you page cannot shift across a page boundary. Page sizes are per route (most raw lists go to 5,000 rows).Hyperliquid leaderboard: who is trading, and how well
Rankings that carry drawdown, Calmar, profit factor and streaks beside PnL — and one that separates trading PnL from deposits.
/v1/hyperliquid/traders
Top perp traders by a metric over a window; size ≤ 100. Same ranking the MCP tool and AI chat quote.
/v1/hyperliquid/positions/match
Who else is in this trade: open positions matching symbol · side · leverage · entry price; limit ≤ 500.
/v1/hyperliquid/leaderboard
Leaderboard with drawdown, Calmar, recovery and profit factor, expectancy, streaks; window 1d | 7d | 30d | all; cursor.
/v1/hyperliquid/leaderboard/flow-adjusted
Ranked on fills-derived realized PnL, with deposits and withdrawals reported beside it and a flow_unbalanced flag; cursor.
Leaderboard · /leaderboard
/v1/hyperliquid/leaderboard?limit=10/v1/hyperliquid/leaderboard?window={window}&limit={limit}Hyperliquid positions and open interest
Latest positions, or history from the 5-minute snapshots when you pass start / end.
/v1/hyperliquid/positions
Latest open positions; pass start / end for history from the 5-minute snapshots — bound it by symbol or wallet. limit ≤ 5,000, cursor.
/v1/hyperliquid/positions/symbols
Open interest per coin at the latest snapshot, with the venue's own OI beside it so the two reconcile.
Open interest per coin · /positions/symbols
/v1/hyperliquid/positions/symbols/v1/hyperliquid/positions?symbol={symbol}&cohort={cohort}&limit={limit}Every position row says where its PnL label came from: pnl_cohort_basis (point_in_time | current) and pnl_cohort_as_of.
Hyperliquid order history: what was resting, and what became of it
Limit orders on the book and the stops and take-profits waiting to trigger, from the 5-minute snapshots since 2026-10-23 21:45 UTC and, back to 2026-07-29, rebuilt from checkpoints about 12 minutes apart, which can miss short-lived orders.
/v1/hyperliquid/orders
Orders resting at one instant, for a symbol, a wallet or both; at floors to 5 minutes; order_type, created_from / created_to; limit ≤ 1,000, cursor.
/v1/hyperliquid/wallets/{address}/orders
What became of one wallet's orders in a window of up to 30 days: each order seen resting or filled, with its fills and a status; limit ≤ 1,000, cursor.
/v1/hyperliquid/symbols/{symbol}/order-clusters
One coin's standing orders within range_pct of the mid, bucketed by price: bids and asks by limit price, stops and take-profits by trigger price.
Hyperliquid wallet data: fills, funding, ledger
Summary, round-trip trades, raw fills, funding, the ledger and the builders its flow goes through.
/v1/hyperliquid/wallets/{address}
Equity, cohorts, risk metrics, open positions and lifetime external flow for one wallet.
/v1/hyperliquid/wallets/{address}/trades
Closed round-trip trades; symbol, start / end; limit ≤ 5,000, cursor.
/v1/hyperliquid/wallets/{address}/trades/summary
Trade statistics overall and per coin — medians beside means.
/v1/hyperliquid/wallets/{address}/fills
Raw fills; symbol, side = buy | sell, start / end; limit ≤ 5,000, cursor.
/v1/hyperliquid/wallets/{address}/ledger
Deposits, withdrawals, transfers and vault events; event_type filter; limit ≤ 5,000, cursor.
/v1/hyperliquid/wallets/{address}/builders
Which builders this wallet's flow is routed through, as a share of its builder-routed volume; cursor.
/v1/hyperliquid/wallets/{address}/twaps
One wallet's TWAP orders, one row per status line; symbol, status, twap_id, start / end, order; limit ≤ 5,000, cursor.
/v1/hyperliquid/twaps
TWAP orders across wallets, one row per status line; wallet, twap_id, symbol, status, order; limit ≤ 5,000, cursor.
/v1/hyperliquid/ledger
Deposits, withdrawals, transfers and vault events across wallets; min_usd, event_type, wallet, order; limit ≤ 5,000, cursor.
/v1/hyperliquid/leverage-changes
Positions whose leverage or margin mode changed between two position snapshots; change, min_leverage, wallet, symbol, order; limit ≤ 5,000, cursor.
Fills tape · /wallets/{address}/fills
/v1/hyperliquid/wallets/{address}/fills?symbol={symbol}&limit={limit}The tape replays the fills captured for the most active wallet in the captured /traders reply. The builder's address chip is that same wallet.
Hyperliquid liquidations: where they happened, and where they would
Liquidation events (exact, from the node's fills since 2026-08-03; older rows inferred from position snapshots), the share of each coin's open interest close to liquidation, and one coin's open positions binned by their own liquidation price.
/v1/hyperliquid/liquidations
Liquidation events, exact from the node's fills since 2026-08-03 (older rows inferred from position snapshots), each with its point-in-time pnl cohort where the label table covers it; limit ≤ 5,000, cursor.
/v1/hyperliquid/liquidations/risk
Share of each coin's open interest sitting close to liquidation; axis + cohort filter; limit ≤ 500.
/v1/hyperliquid/symbols/{symbol}/liquidation-heatmap
One coin's open positions binned by their own liquidation price and weighted by notional; a position reporting none is counted apart; bins 5–500.
OI near liquidation · /liquidations/risk
/v1/hyperliquid/liquidations/riskRecent liquidations · /liquidations
/v1/hyperliquid/liquidations?limit=20/v1/hyperliquid/liquidations?symbol={symbol}&direction={direction}&limit={limit}Hyperliquid builder codes: revenue, volume, users
A builder is a front-end or bot that attaches its address to an order and earns a slice of the fee. fee_usd is the builder's own revenue, not what the trader paid.
/v1/hyperliquid/builders
Builder leaderboard: fee revenue, routed volume, unique traders, fills, market share; sort = fee | volume | users | fills; cursor.
/v1/hyperliquid/builders/stats
Builder-code economics for the whole venue, day by day, plus lifetime totals.
/v1/hyperliquid/builders/{builder}
One builder: window totals, per-asset and per-dex breakdowns, user volume deciles.
/v1/hyperliquid/builders/{builder}/users
Wallets routing through one builder, ranked by volume, fees or their own PnL; cursor.
/v1/hyperliquid/builders/{builder}/fills
Raw builder-routed fills, newest first, each fee beside its fee_token; cursor.
/v1/hyperliquid/builders/{builder}/series
Fee, volume, users and fills per 1h or 1d bucket; cursor.
Builder leaderboard · /builders
/v1/hyperliquid/builders?limit=10/v1/hyperliquid/builders?window={window}&sort={sort}&limit={limit}Hyperliquid stats over time
Perp equity, open interest and position counts; hourly volume; HYPE holders with staked balances.
/v1/hyperliquid/stats
Ecosystem time series: perp equity, open interest, position counts; start / end; cursor.
Venue stats · /stats
/v1/hyperliquid/stats/v1/hyperliquid/hype/holders?limit={limit}Hyperliquid historical candles (OHLCV) from executed fills
Time bars and tick bars, perp and spot, the core venue and the HIP-3 DEXs — over REST, as an NDJSON export, and live over a WebSocket.
/v1/hyperliquid/ohlcv
Bars from executed fills: 1m 5m 15m 30m 1h 4h 1d, or Nt tick bars; market = perp | spot; dex; start / end; limit ≤ 5,000.
/v1/hyperliquid/ohlcv/export
The same bars as an NDJSON stream — one header line, then one bar per line; up to 5,000 bars per call.
/v1/hyperliquid/symbols/hourly
Close · open interest · funding · premium per coin per hour, many coins at once; days ≤ 400.
Candles · /ohlcv
/v1/hyperliquid/ohlcv?symbol=BTC&interval=1h&market=perp&limit=48Captured for BTC, ETH, SOL and HYPE at 1m, 15m, 1h, 4h and 1d, plus 15t tick bars (one bar per 15 trades) for BTC — 48 bars each.
Intervals
Time bars come from minute and hourly rollups kept from the end of 2025-12-31. Tick bars (15t = one bar per 15 trades) are built from raw fills, kept without expiry, back to 2025-12-31 — the response's source says which table answered.
Markets and DEXs
dex=HL is the core venue (perp and spot). HIP-3 builder-deployed perp DEXs — XYZ, CASH, HYNA, KM, FLX, VNTL, PARA, MKTS among them — are read live from the fills table, so a newly deployed DEX works without a release.
Three ways out
REST /ohlcv, limit ≤ 5,000 per call, start / end as ISO-8601 UTC or epoch ms. Bulk /ohlcv/export as NDJSON. Live closed bars on wss://data.vike.io/v1/stream (time intervals only).
NDJSON export
The first line names what answered — symbol, market, dex, interval, tz, source; every following line is one bar. Served as an attachment named hl_<symbol>_<interval>.ndjson.
curl -H "X-API-KEY: vk_…" -o hl_BTC_1h.ndjson \
"https://data.vike.io/v1/hyperliquid/ohlcv/export?symbol=BTC&interval=1h&start=2026-01-01T00:00:00Z"
WebSocket — closed bars
Authenticate with the same X-API-KEY header (?token= is for browsers, and puts the key in the URL), then subscribe per symbol and interval; market and dex are optional. A bar arrives about 30 to 45 seconds after its interval closes. seq rises by one per frame for a subscription, and its first value is wherever the feed has got to; across a reconnect compare ts, and backfill any step bigger than one interval over REST.
{"action": "subscribe", "symbol": "BTC", "interval": "1m"}
Build an /ohlcv request
/v1/hyperliquid/ohlcv?symbol={symbol}&interval={interval}&market={market}&limit={limit}… or many symbols per hour with /symbols/hourly
/v1/hyperliquid/symbols/hourly?symbols={symbols}&days={days}Hyperliquid Parquet archive: fills and positions, one file per UTC day
Fills from 2026-05-01, positions from 2026-05-08. A file has no URL of its own: you ask the API for a signed link, valid 7 days.
/v1/hyperliquid/archive/datasets
Which UTC days exist and what is in each file (rows, bytes, snapshots), the column schema and the current-positions file.
/v1/hyperliquid/archive/url
A signed Cloudflare R2 link to one file, valid 7 days: dataset = fills | positions, date = YYYY-MM-DD (or latest for positions); redirect=1 answers 302.
Asking for a link is one ordinary request on your hourly budget; the download itself spends none, and there is no download quota. A link works for any number of requests until it expires, so DuckDB or pyarrow can read byte ranges straight from it. Free and keyless: BTC fills of one hour and BTC positions at one snapshot, starting at /archive/hl-samples/manifest.json.
Hyperliquid cohorts →
Who is long and who is short by account size, realized-PnL percentile and position tier — every cohort of one coin, hourly, up to 8,760 hours in one request, with point-in-time labels.