# Hyperliquid Market History (`realjojo/hyperliquid-market-history`) Actor

Daily Hyperliquid perp history by market: open, high, low, close, volume, open interest and funding, from the Hydromancer API. Try a free six-month sample, or add your own API key for live data.

- **URL**: https://apify.com/realjojo/hyperliquid-market-history.md
- **Developed by:** [JoJo-Hydromancer](https://apify.com/realjojo) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Hyperliquid Market History

Daily history for Hyperliquid perp markets, one row per market per day: open, high, low, close, volume, open interest and funding. The data comes from the [Hydromancer](https://hydromancer.xyz) API.

> **Disclosure:** this Actor is maintained by the Hydromancer team.

Run it with no setup to get a free six-month sample, or add your own Hydromancer API key for live data on any market.

### What you get

| Field | Meaning |
|---|---|
| `date` | UTC day |
| `coin` | Market name |
| `open`, `high`, `low`, `close` | Daily price |
| `volumeBase`, `volumeUsd` | Daily volume in the base asset and in USD |
| `trades` | Number of trades |
| `openInterest`, `openInterestUsd` | Open interest at the close of the day |
| `fundingRateSum` | Sum of that day's hourly funding rates |
| `dataSource` | `sample` or `live` |

Example row:

```json
{
  "date": "2026-04-30",
  "coin": "BTC",
  "open": 75727.0,
  "high": 76622.0,
  "low": 75286.0,
  "close": 76300.0,
  "volumeBase": 26419.36546,
  "volumeUsd": 2010792158.30243,
  "trades": 370841,
  "openInterest": 27935.11788,
  "openInterestUsd": 2131309818.6546,
  "fundingRateSum": -0.0001096026,
  "dataSource": "sample"
}
```

Export results as JSON, CSV, Excel or HTML, or read them through the Apify API.

### Two ways to run it

**Sample, no key.** Leave the API key empty. You get a fixed dataset from 2026-04-30 to 2026-10-29 for BTC, ETH, HYPE, ZEC, SOL, BNB, kPEPE, NEAR, ENA and XRP. These were the 10 largest core-dex perp markets by 24-hour volume when the sample was exported. It's real exchange data, but it does not update, and every row is marked `sample`.

**Live, with your own key.** Add a [Hydromancer API key](https://docs.hydromancer.xyz/readme/get-api-keys), choose your markets and how many days to fetch. Every row is marked `live`. HIP-3 markets work too: use the dex prefix, for example `xyz:TSLA`. Live runs cover complete UTC days and use your key's rate limit.

### Input

| Field | Default | Notes |
|---|---|---|
| Hydromancer API key | empty | Optional. Empty means sample data. |
| Markets | BTC, ETH, HYPE | Market names |
| Days of history | 180 | Live data only, up to 450 |

### Your API key

The key field is a secret input: Apify stores it encrypted. The Actor sends the key only to `api.hydromancer.xyz` and never logs it or writes it to the output.

### Cost

The Actor itself is free. Runs use a small amount of your Apify platform usage, and live runs need a Hydromancer API key.

### More from Hydromancer

- [Hydromancer](https://hydromancer.xyz): Hyperliquid data for teams building trading apps, dashboards and research tools
- [API docs](https://docs.hydromancer.xyz): REST API, WebSocket streams and Reservoir
- [Hyperliquid API guide](https://hydromancer.xyz/blog/hyperliquid-api): endpoints, keys and limits, with code
- [hydromancer-mcp](https://pypi.org/project/hydromancer-mcp/): ask your AI app about the same data

Questions or a market that doesn't work? Open an issue on this Actor's Issues tab, or email data@hydromancer.xyz.

This Actor provides market data only and is not financial advice.

# Actor input Schema

## `apiKey` (type: `string`):

Leave empty to get the bundled six-month sample. Add your own key for live data. It is stored encrypted and sent only to api.hydromancer.xyz.

## `coins` (type: `array`):

Perp markets to return, for example BTC, ETH or HYPE. Use the dex prefix for HIP-3 markets (live data only), for example xyz:TSLA.

## `days` (type: `integer`):

How many days back to fetch with your API key. The sample always covers its fixed window.

## Actor input object example

```json
{
  "coins": [
    "BTC",
    "ETH",
    "HYPE"
  ],
  "days": 180
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "coins": [
        "BTC",
        "ETH",
        "HYPE"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("realjojo/hyperliquid-market-history").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 = { "coins": [
        "BTC",
        "ETH",
        "HYPE",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("realjojo/hyperliquid-market-history").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "coins": [
    "BTC",
    "ETH",
    "HYPE"
  ]
}' |
apify call realjojo/hyperliquid-market-history --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,realjojo/hyperliquid-market-history"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/webE4yeZ79H4wuUHn/builds/Sa3qGQiw9OFHgrrXK/openapi.json
