# Hyperliquid Funding Rates (`maximedupre/hyperliquid-funding-rates`) Actor

Scan current Hyperliquid perpetual markets for hourly funding rates, daily and annualized views, prices, premium, open interest, volume, price change, and leverage. Scan all markets for a current view or select a list to add up to 60 days of historical funding analysis.

- **URL**: https://apify.com/maximedupre/hyperliquid-funding-rates.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Developer tools, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.90 / 1,000 funding snapshots

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### 📈 Hyperliquid funding rates for current market research

Traders, researchers, and data teams can scan current Hyperliquid perpetual markets in one run. Get hourly funding rates with daily and annualized views, prices, mark/oracle premium, open interest, 24-hour volume, price change, and maximum leverage in structured dataset rows. Add historical funding for selected markets when you need eight-hour observations and summaries for a 1- to 60-day lookback.

- Pull **[Hyperliquid Funding Rate Data](https://apify.com/maximedupre/hyperliquid-funding-rates/examples/hyperliquid-funding-rate-data)** for current rates, prices, volume, and open interest.
- Check **[Hyperliquid Funding Rates Current](https://apify.com/maximedupre/hyperliquid-funding-rates/examples/hyperliquid-funding-rates-current)** for a fresh snapshot of the markets you want to scan.
- Scan **[Hyperliquid Perpetual Funding Rates](https://apify.com/maximedupre/hyperliquid-funding-rates/examples/hyperliquid-perpetual-funding-rates)** across all current markets or a selected list.
- Use **[Hyperliquid Funding Rate Arbitrage](https://apify.com/maximedupre/hyperliquid-funding-rates/examples/hyperliquid-funding-rate-arbitrage)** data to research funding-rate arbitrage without placing trades.
- Read **[Hyperliquid Funding Rate API](https://apify.com/maximedupre/hyperliquid-funding-rates/examples/hyperliquid-funding-rate-api)** data from code through the Apify API.
- Review **[Hyperliquid Funding Rate History](https://apify.com/maximedupre/hyperliquid-funding-rates/examples/hyperliquid-funding-rate-history)** for eight-hour observations and historical funding summaries on selected markets.

#### 📊 Current and historical market data

Each row is one Hyperliquid perpetual market with a timestamp for the observation. Live rows include current funding rate views, prices, mark/oracle premium, open interest in market units and USD, 24-hour volume, 24-hour price change, and maximum leverage. Historical rows add eight-hour observations plus latest, average, cumulative, trend, carry, and squeeze fields for selected markets.

#### ▶️ Run a Hyperliquid funding snapshot

Choose a target, set any filters or ranking, and press Start. For a current scan, use `All perpetual markets` and `Funding extremes`; add a market list only when you choose `Selected perpetual markets`. To add history, select one or more markets, turn on `Include historical funding`, and choose 1 to 60 days. Leave `Maximum results` empty to return all available results after your target and filters, until the source is exhausted.

#### ⚙️ Input

The required `target` field chooses the market set. The other fields let you select markets, add historical funding, filter rows, rank them, and cap the output. Inactive values are skipped.

| Field | Type | What it does |
|---|---|---|
| `target` | string | Choose `all-markets` for all current Hyperliquid perpetual markets or `selected-markets` for your list. |
| `markets` | array of strings | When `target` is `selected-markets`, enter one or more symbols such as `BTC` or `ETH`. The list is ignored for `all-markets`. |
| `historicalFunding` | object | Use only with `selected-markets` to add historical funding analysis for those markets. |
| `historicalFunding.enabled` | boolean | Add eight-hour funding observations and available historical funding summaries. |
| `historicalFunding.lookbackDays` | integer | Choose 1 to 60 days of history when historical funding is included. |
| `minAbsoluteAnnualizedFundingRate` | number | Return only markets with an absolute annualized funding rate at least this percentage. Leave empty for no funding-rate filter. |
| `minOpenInterestUsd` | number | Return only markets with at least this much open interest in USD. Leave empty for no open-interest filter. |
| `rankBy` | string | Choose `funding-extremes` for the largest absolute annualized rates first, `signed-funding` for signed rates, or `open-interest` and `volume-24h` for the largest values first. |
| `maxResults` | integer | Optionally cap returned market results. Leave empty to return all available results after your target and filters, until the source is exhausted. |

**Input example**

This example uses all current markets, ranks by funding extremes, and keeps the form's prefilled 25-result cap.

```json
{
  "target": "all-markets",
  "rankBy": "funding-extremes",
  "maxResults": 25,
  "historicalFunding": {
    "enabled": false,
    "lookbackDays": 30
  }
}
```

#### 🧾 Output

The run provides links to the dataset and the run summary. Dataset rows use one of two shapes: a live market row, or a live market row with `historicalFunding` for selected markets.

**Run links**

| Field | Type | What it does |
|---|---|---|
| `dataset` | URL string | Opens all successful market snapshots in the default dataset. |
| `summary` | URL string | Opens aggregate open interest and volume, the highest and lowest funding markets, and collection errors. |

**Live market row**

| Field | Type | What it does |
|---|---|---|
| `symbol` | string | Hyperliquid perpetual market symbol, such as `BTC`. |
| `observedAt` | date-time string | Time when the current market values were observed. |
| `hourlyFundingRatePercent` | number | Current hourly funding rate as a percent. A positive value means longs pay shorts. |
| `dailyFundingRatePercent` | number | Current hourly funding rate scaled to a 24-hour rate as a percent. |
| `annualizedFundingRatePercent` | number | Current hourly funding rate scaled to a yearly APR as a percent. |
| `midPrice` | number | Current midpoint between the best bid and ask prices. |
| `markPrice` | number | Current mark price used by Hyperliquid. |
| `oraclePrice` | number | Current oracle price used by Hyperliquid. |
| `markOraclePremiumPercent` | number | Mark price premium over the oracle price as a percent. |
| `openInterestUnits` | number | Current open interest measured in market units. |
| `openInterestUsd` | number | Current open interest valued in USD. |
| `volume24hUsd` | number | Trading volume from the last 24 hours, valued in USD. |
| `priceChange24hPercent` | number | Price change over the last 24 hours as a percent. |
| `maxLeverage` | number | Maximum leverage available for this perpetual market. |

**Live row example**

```json
{
  "symbol": "ACE",
  "observedAt": "2026-08-07T04:04:35.348Z",
  "hourlyFundingRatePercent": -0.29513328,
  "dailyFundingRatePercent": -7.08319872,
  "annualizedFundingRatePercent": -2585.3675328,
  "midPrice": 0.1278,
  "markPrice": 0.1278,
  "oraclePrice": 0.1311,
  "markOraclePremiumPercent": -2.517162471395879,
  "openInterestUnits": 14187577.120000003,
  "openInterestUsd": 1813172.3559360004,
  "volume24hUsd": 9240520.789017998,
  "priceChange24hPercent": 77.99442896935932,
  "maxLeverage": 3
}
```

**Historical market row**

Historical rows include every field in the live market row and the fields below.

| Field | Type | What it does |
|---|---|---|
| `symbol` | string | Hyperliquid perpetual market symbol, such as `BTC`. |
| `observedAt` | date-time string | Time when the current market values were observed. |
| `hourlyFundingRatePercent` | number | Current hourly funding rate as a percent. A positive value means longs pay shorts. |
| `dailyFundingRatePercent` | number | Current hourly funding rate scaled to a 24-hour rate as a percent. |
| `annualizedFundingRatePercent` | number | Current hourly funding rate scaled to a yearly APR as a percent. |
| `midPrice` | number | Current midpoint between the best bid and ask prices. |
| `markPrice` | number | Current mark price used by Hyperliquid. |
| `oraclePrice` | number | Current oracle price used by Hyperliquid. |
| `markOraclePremiumPercent` | number | Mark price premium over the oracle price as a percent. |
| `openInterestUnits` | number | Current open interest measured in market units. |
| `openInterestUsd` | number | Current open interest valued in USD. |
| `volume24hUsd` | number | Trading volume from the last 24 hours, valued in USD. |
| `priceChange24hPercent` | number | Price change over the last 24 hours as a percent. |
| `maxLeverage` | number | Maximum leverage available for this perpetual market. |
| `historicalFunding` | object | Historical funding analysis for this selected market. |
| `historicalFunding.observations` | array of objects | Historical funding observations recorded every eight hours. |
| `historicalFunding.observations[].observedAt` | date-time string | Time of the eight-hour funding observation. |
| `historicalFunding.observations[].fundingRatePercent` | number | Funding rate for this eight-hour interval as a percent. |
| `historicalFunding.observations[].annualizedFundingRatePercent` | number | This eight-hour funding rate scaled to a yearly APR as a percent. |
| `historicalFunding.latestFundingRatePercent` | number | The latest historical funding rate as a percent. |
| `historicalFunding.latestAnnualizedFundingRatePercent` | number | The latest historical funding rate scaled to a yearly APR as a percent. |
| `historicalFunding.average7dAnnualizedPercent` | number | Average funding over the last seven days, scaled to a yearly APR as a percent. |
| `historicalFunding.average30dAnnualizedPercent` | number | Average funding over the last 30 days, scaled to a yearly APR as a percent. |
| `historicalFunding.cumulativeFundingRatePercent` | number | Cumulative funding over the requested lookback as a percent. A positive value means longs paid shorts. |
| `historicalFunding.trend` | string | Direction of historical funding: `rising`, `stable`, or `falling`. |
| `historicalFunding.carryDirection` | string | Which side pays funding: `longs-pay`, `shorts-pay`, or `neutral`. |
| `historicalFunding.squeezeRisk` | string | Historical squeeze-risk signal: `long-squeeze`, `short-squeeze`, or `low`. |

**Historical row example**

```json
{
  "symbol": "BTC",
  "observedAt": "2026-08-07T04:09:07.130Z",
  "hourlyFundingRatePercent": 0.00125,
  "dailyFundingRatePercent": 0.030000000000000002,
  "annualizedFundingRatePercent": 10.950000000000001,
  "midPrice": 64292.5,
  "markPrice": 64292,
  "oraclePrice": 64319.8,
  "markOraclePremiumPercent": -0.043221527430127124,
  "openInterestUnits": 34954.12912,
  "openInterestUsd": 2247270869.38304,
  "volume24hUsd": 1135436319.1740282,
  "priceChange24hPercent": -0.41434324659231725,
  "maxLeverage": 40,
  "historicalFunding": {
    "observations": [
      {
        "observedAt": "2026-07-31T16:00:00.000Z",
        "fundingRatePercent": 0.00534821,
        "annualizedFundingRatePercent": 5.85628995
      },
      {
        "observedAt": "2026-08-01T00:00:00.000Z",
        "fundingRatePercent": 0.0058809199999999996,
        "annualizedFundingRatePercent": 6.4396074
      },
      {
        "observedAt": "2026-08-01T08:00:00.000Z",
        "fundingRatePercent": 0.004831960000000001,
        "annualizedFundingRatePercent": 5.2909962
      },
      {
        "observedAt": "2026-08-01T16:00:00.000Z",
        "fundingRatePercent": 0.0036799900000000006,
        "annualizedFundingRatePercent": 4.029589050000001
      },
      {
        "observedAt": "2026-08-02T00:00:00.000Z",
        "fundingRatePercent": 0.00507025,
        "annualizedFundingRatePercent": 5.55192375
      },
      {
        "observedAt": "2026-08-02T08:00:00.000Z",
        "fundingRatePercent": 0.0093512,
        "annualizedFundingRatePercent": 10.239564000000001
      },
      {
        "observedAt": "2026-08-02T16:00:00.000Z",
        "fundingRatePercent": 0.010000000000000002,
        "annualizedFundingRatePercent": 10.950000000000001
      },
      {
        "observedAt": "2026-08-03T00:00:00.000Z",
        "fundingRatePercent": 0.010000000000000002,
        "annualizedFundingRatePercent": 10.950000000000001
      },
      {
        "observedAt": "2026-08-03T08:00:00.000Z",
        "fundingRatePercent": 0.010000000000000002,
        "annualizedFundingRatePercent": 10.950000000000001
      },
      {
        "observedAt": "2026-08-03T16:00:00.000Z",
        "fundingRatePercent": 0.00980833,
        "annualizedFundingRatePercent": 10.740121350000003
      },
      {
        "observedAt": "2026-08-04T00:00:00.000Z",
        "fundingRatePercent": 0.00299798,
        "annualizedFundingRatePercent": 3.2827881000000003
      },
      {
        "observedAt": "2026-08-04T08:00:00.000Z",
        "fundingRatePercent": 0.006379320000000001,
        "annualizedFundingRatePercent": 6.985355400000001
      },
      {
        "observedAt": "2026-08-04T16:00:00.000Z",
        "fundingRatePercent": 0.0036041800000000002,
        "annualizedFundingRatePercent": 3.9465771000000003
      },
      {
        "observedAt": "2026-08-05T00:00:00.000Z",
        "fundingRatePercent": 0.0027214999999999995,
        "annualizedFundingRatePercent": 2.9800424999999993
      },
      {
        "observedAt": "2026-08-05T08:00:00.000Z",
        "fundingRatePercent": 0.0030480800000000003,
        "annualizedFundingRatePercent": 3.3376476000000004
      },
      {
        "observedAt": "2026-08-05T16:00:00.000Z",
        "fundingRatePercent": 0.00205262,
        "annualizedFundingRatePercent": 2.2476189
      },
      {
        "observedAt": "2026-08-06T00:00:00.000Z",
        "fundingRatePercent": 0.00051343,
        "annualizedFundingRatePercent": 0.5622058500000001
      },
      {
        "observedAt": "2026-08-06T08:00:00.000Z",
        "fundingRatePercent": 0.0065864800000000005,
        "annualizedFundingRatePercent": 7.2121956
      },
      {
        "observedAt": "2026-08-06T16:00:00.000Z",
        "fundingRatePercent": -0.0005921699999999998,
        "annualizedFundingRatePercent": -0.6484261499999998
      },
      {
        "observedAt": "2026-08-07T00:00:00.000Z",
        "fundingRatePercent": 0.00345941,
        "annualizedFundingRatePercent": 3.7880539500000006
      }
    ],
    "latestFundingRatePercent": 0.00345941,
    "latestAnnualizedFundingRatePercent": 3.7880539500000006,
    "average7dAnnualizedPercent": 5.825622650000002,
    "average30dAnnualizedPercent": 8.471270643333387,
    "cumulativeFundingRatePercent": 0.11172427000000003,
    "trend": "falling",
    "carryDirection": "longs-pay",
    "squeezeRisk": "low"
  }
}
```

#### 💳 Pricing

**Funding snapshot**

| Buyer-facing event | Price | What it covers |
|---|---:|---|
| Funding snapshot | $0.0009 | One successful perpetual-market funding snapshot returned to your dataset. |

The Actor uses pay-per-event pricing. Filters and `maxResults` change how many successful market snapshots a run returns, so the total follows the snapshots returned.

#### 🔌 Integrations

The Actor reads Hyperliquid's public, read-only market data. You do not need a wallet, account, login, or API key. Run it from Apify Console or the Apify API, schedule snapshots, or export the dataset for your workflow.

Watch the short walkthrough:

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### What does a positive funding rate mean?

A positive hourly funding rate means longs pay shorts. The dataset also gives daily and annualized views so you can compare the same rate across time scales.

##### How current is each market snapshot?

Each row has an `observedAt` timestamp showing when its current values were observed. Run the Actor again when you need a new snapshot.

##### Can I scan only selected markets?

Yes. Set `target` to `selected-markets` and enter one or more Hyperliquid perpetual market symbols in `markets`. Use `all-markets` to scan the current market set instead.

##### Can I add historical funding to an all-markets run?

No. Historical funding is available only when you select specific markets. Turn on `historicalFunding.enabled` and choose a lookback from 1 to 60 days.

##### What happens when I leave Maximum results empty?

The Actor returns all available results after the target and filters, until the source is exhausted. Set a value when you want to cap the number of returned market rows.

##### Does the Actor place trades or compare other exchanges?

No. It provides Hyperliquid market data for research and workflows. It does not place orders, give investment advice, or compare funding across other exchanges.

##### Do I need a Hyperliquid wallet or API key?

No. The Actor uses Hyperliquid's public market data and does not need a wallet, account, login, or API key.

### 📝 Changelog

**0.0: Initial release**

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~hyperliquid-funding-rates/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Bitget Tickers Scraper](https://apify.com/maximedupre/bitget-tickers-scraper) — Compare live futures funding rates, open interest, prices, and volume on Bitget.
- [Hyperliquid Funding Rate Tracker (Perp APR, OI)](https://apify.com/gochujang/hyperliquid-funding-tracker) — Review live Hyperliquid funding, APR, open interest, prices, and 24-hour volume.
- [Hyperliquid Funding Rate & Premium Scanner](https://apify.com/hyperdata-labs/hyperliquid-funding-rate-scanner) — Scan current Hyperliquid perpetuals by funding extremes with premium and market context.
- [Hyperliquid Funding Rate History — Carry Analysis](https://apify.com/gochujang/hyperliquid-funding-history) — Study historical eight-hour funding, averages, cumulative cost, and trend for selected coins.
- [Hyperliquid Perp Funding Scraper](https://apify.com/parseforge/hyperliquid-perp-funding-scraper) — Export Hyperliquid perpetual funding, open interest, premium, prices, and volume.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose whether to scan all current Hyperliquid perpetual markets or only the markets in your list.

## `markets` (type: `array`):

If Target is Selected perpetual markets, enter one or more Hyperliquid perpetual market symbols, such as BTC or ETH. This list is ignored for All perpetual markets.

## `historicalFunding` (type: `object`):

Use this only with Selected perpetual markets to add historical funding analysis for those markets. Choose a lookback of 1 to 60 days.

## `minAbsoluteAnnualizedFundingRate` (type: `number`):

Return only markets with an absolute annualized funding rate at least this percentage. Leave empty for no funding-rate filter.

## `minOpenInterestUsd` (type: `number`):

Return only markets with at least this much open interest in USD. Leave empty for no open-interest filter.

## `rankBy` (type: `string`):

Funding extremes puts the largest absolute annualized rates first. Signed funding uses signed rates. Open interest and 24-hour volume put the largest values first.

## `maxResults` (type: `integer`):

Optionally cap the number of returned market results. Leave this empty to return all available results after your target and filters, until the source is exhausted.

## Actor input object example

```json
{
  "target": "all-markets",
  "rankBy": "funding-extremes",
  "maxResults": 25
}
```

# Actor output Schema

## `dataset` (type: `string`):

URL for all successful market snapshots in the default dataset.

## `summary` (type: `string`):

URL for aggregate open interest and volume, highest and lowest funding, and collection errors.

# 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 = {
    "target": "all-markets",
    "maxResults": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/hyperliquid-funding-rates").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 = {
    "target": "all-markets",
    "maxResults": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/hyperliquid-funding-rates").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 '{
  "target": "all-markets",
  "maxResults": 25
}' |
apify call maximedupre/hyperliquid-funding-rates --silent --output-dataset

```

## MCP server setup

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

```

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/7RuoX3HaT3W5tT5xd/builds/p33X0zofSMq4mBI79/openapi.json
