Free Hyperliquid market data: a JSON file for every asset

Updated Nov 13, 2026 · 6 min read

Senpi’s free, key-less JSON for 301 Hyperliquid perps: endpoints, every field with units, update cadence, Python examples and how to credit it.

Is there free Hyperliquid market data you can use without an API key? Yes. Senpi publishes a JSON file for every Hyperliquid perpetual it covers, 301 on Nov 13, 2026 (179 crypto perps and 122 XYZ markets: stocks, indices, commodities, currencies and pre-IPO names), plus one file that lists them all. Each file carries the market numbers, the Senpi Signals score, Senpi’s written read and what the top traders hold. The files refresh every few minutes and need no key or sign-up.

Key takeaways

  • Two endpoints: senpi.ai/assets.json for every asset at once, and senpi.ai/assets/<symbol>/data.json for one asset in depth.
  • Symbols are written as Hyperliquid prints them: BTC, kPEPE, xyz:TSLA. The same symbol opens the asset’s page at senpi.ai/assets/<symbol>.
  • Ratios are fractions (0.036 = 3.6%); money is in USD; times are UTC in ISO 8601.
  • Free to use with a link back to the asset page; it is market information, not investment advice.

The two endpoints

FileWhat it holdsSize
senpi.ai/assets.jsonEvery asset (301 today), ranked by Senpi Signals score: symbol, name, asset class, listing state, page and file links, signals and the main market numbersabout 135 KB
senpi.ai/assets/<symbol>/data.json, for example BTC or xyz:ANTOne asset: the market numbers plus oracle, premium and funding percentile, the signals, Senpi’s written read, top-trader positioning with the five largest positions, and follow-up questionsabout 5 KB
Checked on Nov 13, 2026.

In assets.json, each entry carries assetClass (crypto, stock, commodity, index, fx or pre_ipo; on Nov 13, 2026: 179 crypto, 103 stock, 9 commodity, 5 index, 3 fx, 2 pre_ipo) and listingState (listed, or pre_ipo for names such as xyz:ANT that trade before their IPO). Every page on senpi.ai/assets has the same data behind it.

Field reference

market

FieldMeaningExample (BTC)
markMark price in USD68983.9
oracleOracle price in USD (asset files only)69006.3
premium(mark − oracle) ÷ oracle, as a fraction (asset files only)-0.00032 = −0.03%
change24hChange over 24 hours, as a fraction-0.036 = −3.6%
volume24hTraded volume over 24 hours, USD5128314208
openInterestOpen interest, USD2750190582
fundingHourlyCurrent hourly funding rate, as a fraction; positive = longs pay shorts0.0000125 = 0.00125% an hour
fundingAprfundingHourly × 8,760, as a fraction0.1095 = 10.95% a year
fundingPercentile30dWhere the current funding rate sits within its last 30 days, 0 to 100 (asset files only)60.1
maxLeverageMaximum leverage Hyperliquid allows40

signals

FieldMeaningExample (BTC)
scoreSenpi Signals score, 0 to 100: how strongly the reads on the asset point one way (not a forecast)14
stanceWhich side is in controlShorts pressing
driverThe read behind the scoreTop traders short
becauseThe evidence in one lineshorts at 70% of top-trader notional ($796M)

positioning (asset files only)

FieldMeaningExample (BTC)
long, shortUSD notional held long and short by the top traders Senpi tracks242396755, 553288948
longWallets, shortWalletsHow many of those wallets are long and short48, 43
shift.h1, h4, h24Change in that positioning over 1, 4 and 24 hours, USD37232316
largest[]The five largest positions: wallet (shortened), side, notionalUsd, entryPx, leverage, liqPx, liqDistancePct, ageS (seconds open, null if unknown), roePctshort, $102M, entry 77924.2, 5x

read and questions (asset files only)

FieldMeaningExample
read.headlineSenpi’s current read in one lineShorts control BTC’s price structure …
read.body[]The full read, one paragraph per item10 paragraphs
read.watchWhat would change the readMore top wallets joining the short side.
read.asOfWhen the read was last written (it can be older than the market numbers)2026-11-13T19:19:39Z
questions[]Four follow-up questions you can ask Senpi about the assetWho holds the largest ANT shorts…

How fresh the data is

Every file has an asOf time: the snapshot it was built from. Snapshots are taken every few minutes, and a file can be served from cache for a few minutes more, so read asOf rather than assuming the numbers are live; polling more often than once a minute gains nothing. The written read changes less often and has its own read.asOf. The files hold the current snapshot only; for history, use Hyperliquid’s own info API (candles and funding history), as shown in how to read Hyperliquid market data.

Examples

From the command line, the market block for Bitcoin:

bash
curl -s https://senpi.ai/assets/BTC/data.json | jq '.market'

In Python, with the standard library only: the ten markets with the most extreme funding right now, with open interest and Senpi’s stance.

python
import json, urllib.request

def get(url):
    req = urllib.request.Request(url, headers={"User-Agent": "my-script"})
    return json.load(urllib.request.urlopen(req, timeout=10))

d = get("https://senpi.ai/assets.json")
print("as of", d["asOf"])
top = sorted(d["assets"], key=lambda a: abs(a["market"]["fundingApr"]), reverse=True)[:10]
for a in top:
    m = a["market"]
    print(f'{a["symbol"]:<14} funding {m["fundingApr"]:+8.1%} a year   OI ${m["openInterest"] / 1e6:8,.1f}M   {a["signals"]["stance"]}')

And the five largest top-trader positions in Anthropic’s pre-IPO perpetual, with how far each is from liquidation:

python
import json, urllib.request

req = urllib.request.Request("https://senpi.ai/assets/xyz:ANT/data.json", headers={"User-Agent": "my-script"})
d = json.load(urllib.request.urlopen(req, timeout=10))
p = d["positioning"]
print(d["name"], d["market"]["mark"], "| top traders long", f'${p["long"]:,.0f}', "short", f'${p["short"]:,.0f}')
for pos in p["largest"]:
    print(f'  {pos["side"]:<5} ${pos["notionalUsd"]:>12,.0f}  entry {pos["entryPx"]:<10} {pos["leverage"]}x  liquidation {pos["liqDistancePct"]}% away')

Get it as CSV

The files are JSON. This script writes every asset to a CSV with one row per market and the snapshot time in the first column, ready for a spreadsheet:

python
import csv, json, urllib.request

req = urllib.request.Request("https://senpi.ai/assets.json", headers={"User-Agent": "my-script"})
d = json.load(urllib.request.urlopen(req, timeout=10))
cols = ["symbol", "name", "assetClass", "listingState", "mark", "change24h", "volume24h",
        "openInterest", "fundingApr", "maxLeverage", "score", "stance", "url"]
with open("senpi-assets.csv", "w", newline="") as f:
    w = csv.writer(f)
    w.writerow(["asOf"] + cols)
    for a in d["assets"]:
        row = {**a, **a["market"], "score": a["signals"]["score"], "stance": a["signals"]["stance"]}
        w.writerow([d["asOf"]] + [row[c] for c in cols])
print("wrote", len(d["assets"]), "rows to senpi-assets.csv")

Using the data

Use it in your own tools, dashboards, research and articles, with the credit line below. Wallet addresses are shortened in the files. The data describes the market; it is not investment advice. The files send no CORS headers, so read them from a script or a server; a web page on another site can’t fetch them directly.

Credit line

Source: Senpi analysis of Hyperliquid market data. Link it to the page of the asset you used (for example senpi.ai/assets/BTC) or to senpi.ai/assets.

html
<p>Source: <a href="https://senpi.ai/assets/BTC">Senpi analysis of Hyperliquid market data</a></p>

Frequently asked questions

Do I need an API key for Senpi’s market data?

No. The JSON files at senpi.ai/assets.json and senpi.ai/assets/<symbol>/data.json are public and need no key or sign-up.

How often does the data update?

Snapshots are taken every few minutes, and a file can come from a cache that is a few minutes older. The asOf field in every file gives the snapshot time in UTC.

Which markets are covered?

Every Hyperliquid perpetual Senpi covers: 301 on Nov 13, 2026, 179 crypto perps on the main order book and 122 XYZ markets (stocks, indices, commodities, currencies and pre-IPO names such as Anthropic).

Can I get historical data?

The files hold the current snapshot. For history, Hyperliquid’s own info API returns candles and funding history; the market data guide shows the calls.

Can I get the data as CSV?

The files are JSON; the Python script on this page writes all markets to a CSV in one run, with the snapshot time in the first column.

Can I use the data in my own product or article?

Yes, with the credit “Source: Senpi analysis of Hyperliquid market data” and a link to the asset’s page on senpi.ai.

Ask about any market in plain English

Ask Senpi’s agent about any market and the positions behind it, in the app or from Claude and ChatGPT.

Try Senpi
Share

Related articles