HyperStats APIhyperstats.org ↗
Track Hyperliquid wallets via the HyperStats API: open positions, resting orders, position-change events, account overviews, and a site-wide live activity feed.
What is the HyperStats API?
The HyperStats API exposes 5 endpoints covering Hyperliquid perpetual trading data sourced from hyperstats.org: position-change events, current open positions, resting orders, full account overviews, and a site-wide live activity feed. The get_wallet_activity endpoint returns every open, increase, decrease, and close event for up to 50 wallet addresses in a single call, with before/after size, entry price, margin, position value, and realized PnL on closes.
curl -X GET 'https://api.parse.bot/scraper/e18f9a3a-a3c0-457b-aa92-58573cfc9983/get_wallet_activity?addresses=0xcf3f419d08a5bdc2c6e5fbd9ad70904c5420f95f' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns position-change events (opened, increased, decreased, closed) for one or more tracked wallet addresses, newest first, one record per detected change with before/after size, entry price, margin and position value plus realized PnL on closes/decreases. This is the trade feed a copy-trading bot polls. Paginated by offset over the wallets' full event history; pagination.total and pagination.has_more come from the site. available_coins lists the coins the given wallets have traded. One round trip per call.
| Param | Type | Description |
|---|---|---|
| coin | string | Restrict events to one coin ticker (e.g. HYPE); values come from available_coins. Omitted = all coins. |
| limit | integer | Events per page, 1-500. |
| offset | integer | Number of events to skip (offset pagination). |
| addressesrequired | string | Comma-separated list of 1-50 Hyperliquid wallet addresses (0x-prefixed, 40 hex chars), e.g. 0xabc...,0xdef.... Do NOT pass an array. |
{
"type": "object",
"fields": {
"changes": "array of position-change events; each has id, wallet_address, coin, change_type (opened|increased|decreased|closed), side (long|short), size_before/size_after/size_change, value_change, entry_price_before/after, mark_price, realized_pnl (null unless position reduced/closed), leverage, margin_used_before/after/delta, position_value_before/after, detected_at (ISO 8601), trader_rank, trader_grade. Numeric amounts are decimal strings.",
"pagination": "object with total, limit, offset, has_more from the site",
"available_coins": "array of coin tickers traded by the requested wallets"
},
"sample": {
"data": {
"changes": [
{
"id": "2199-0xREDACTED_SECRET-HYPE-increased-long-1788878182696",
"coin": "HYPE",
"side": "long",
"leverage": 5,
"mark_price": "83.568",
"size_after": "50000",
"change_type": "increased",
"detected_at": "2026-09-08T14:36:22.696Z",
"size_before": "45000",
"size_change": "5000",
"trader_rank": 849,
"realized_pnl": null,
"trader_grade": "A+",
"value_change": "417840",
"wallet_address": "0xREDACTED_SECRET",
"entry_price_after": "83.4778",
"margin_used_after": "839966.202292",
"margin_used_delta": "83565.66136099992",
"entry_price_before": "83.4625",
"margin_used_before": "756400.540931",
"position_value_after": "4178400",
"position_value_before": "3760470"
}
],
"pagination": {
"limit": 3,
"total": 12547,
"offset": 0,
"has_more": true
},
"available_coins": [
"BTC",
"DOGE",
"ETH",
"HYPE",
"PAXG",
"PUMP",
"SOL",
"SUI",
"TAO",
"XRP"
]
},
"status": "success"
}
}About the HyperStats API
Position-Change Events and Live Feed
get_wallet_activity accepts a comma-separated addresses param (1–50 0x-prefixed wallet addresses) and returns a changes array ordered newest-first. Each record carries change_type (opened|increased|decreased|closed), side (long|short), before/after size fields, entry_price, margin, position_value, and realized_pnl on decrease and close events. The optional coin param restricts results to one ticker drawn from the available_coins array returned alongside the results. Offset pagination via limit (1–500) and offset is available. get_live_activity serves the same record shape for all tracked wallets site-wide, adds each trader's leaderboard rank and grade, and accepts an additional min_margin_used filter to surface only trades above a USD threshold — useful for filtering noise from small positions.
Open Positions and Orders
get_wallet_positions queries up to 50 addresses in one call and returns a flat positions array — one record per wallet+coin — with side, size, position_value, entry_price, mark_price, leverage, margin, unrealized_pnl, return_on_equity, and position open timestamp. Wallets with no open position contribute no records, and wallets_requested tells you how many addresses were in the query. get_wallet_orders targets a single address and returns resting orders with order_id, coin, side (buy|sell), order_type, limit_price, size, filled_size, status, is_spot, reduce-only and TP/SL flags, leverage, and placement timestamp in epoch milliseconds. It paginates via limit (1–100) and offset.
Account Overview and Leaderboard Data
get_wallet_overview accepts a single address and returns the most complete per-wallet snapshot: account_value, total_margin, withdrawable balance, open position and order counts, a full positions snapshot, and a ranking object (or null for unranked wallets) containing rank, grade, score, total_pnl, win_rate, recent_pnl_7d, pnl_24h, total_volume, total_trades, main_token, and average trade metrics. A classification object surfaces the site's bot-detection heuristic with is_algorithmic, label, confidence, score, and reason fields. first_seen_at and last_synced_at ISO 8601 timestamps indicate data freshness for the wallet.
Polling and Rate Considerations
The site enforces a short-window request cap; when it is reached the endpoint returns a blocked result that clears after a few seconds. For the live activity feed specifically, polling intervals shorter than a few seconds risk hitting this limit consistently. Offset pagination is consistent across all endpoints — use pagination.has_more to detect additional pages.
The HyperStats API is a managed, monitored endpoint for hyperstats.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hyperstats.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hyperstats.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Copy-trading signal feed: monitor
change_typeevents from a curated wallet list viaget_wallet_activityto trigger entry/exit alerts. - Large-trade scanner: use
get_live_activitywithmin_margin_usedto surface high-conviction position changes across all tracked wallets. - Portfolio dashboard: aggregate
unrealized_pnl,leverage, andposition_valuefromget_wallet_positionsacross a watchlist. - Leaderboard analytics: compare
win_rate,total_pnl, andtotal_tradesfromget_wallet_overviewacross multiple wallets to rank traders. - Bot vs. human labeling: filter wallets by
classification.is_algorithmicandclassification.labelfromget_wallet_overviewbefore following them. - Order book context: cross-reference resting
limit_priceorders fromget_wallet_orderswith open position entry prices to infer trader intent. - Wallet discovery: page through
get_live_activitywith acoinfilter to find active traders in a specific market.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does HyperStats have an official developer API?+
What does `get_wallet_overview` return that `get_wallet_positions` does not?+
get_wallet_overview adds account-level financials (account_value, total_margin, withdrawable), the site's leaderboard ranking object (rank, grade, win_rate, PnL statistics), a classification object for bot-detection signals, and first_seen_at/last_synced_at timestamps. get_wallet_positions is optimized for querying up to 50 addresses in one call but returns only position-level fields with no account or leaderboard context.Can I query historical closed trades or full trade history for a wallet?+
get_wallet_activity, current open positions via get_wallet_positions, and resting orders via get_wallet_orders, but does not expose a full historical trade log or closed-position history. You can fork the API on Parse and revise it to add the missing endpoint.How does offset pagination work, and is cursor-based pagination available?+
limit and offset parameters. The pagination response object includes total, limit, offset, and has_more. Cursor-based pagination is not currently available. The API covers offset-style paging across all five endpoints. You can fork it on Parse and revise to add cursor support if your use case requires stable pagination over a fast-moving feed.Is funding rate or liquidation data included in position records?+
liquidation_price field in get_wallet_overview position snapshots, but funding rate data and liquidation event history are not currently exposed. The API covers open position state, order state, and change events. You can fork the API on Parse and revise it to add the missing endpoint.