Skip to main content
GET
https://api.0xarchive.io
/
v1
/
hyperliquid
/
spot
/
orderbook
/
{symbol}
/
l4
Get Hyperliquid Spot L4 order book
curl --request GET \
  --url https://api.0xarchive.io/v1/hyperliquid/spot/orderbook/{symbol}/l4 \
  --header 'X-API-Key: <api-key>'
import requests

url = "https://api.0xarchive.io/v1/hyperliquid/spot/orderbook/{symbol}/l4"

headers = {"X-API-Key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};

fetch('https://api.0xarchive.io/v1/hyperliquid/spot/orderbook/{symbol}/l4', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.0xarchive.io/v1/hyperliquid/spot/orderbook/{symbol}/l4"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-API-Key", "<api-key>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
{
  "success": true,
  "data": [
    {}
  ],
  "meta": {
    "count": 123,
    "next_cursor": "<string>",
    "request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  }
}
{
  "code": 400,
  "error": "Invalid request parameters"
}
{
  "code": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}
{
  "code": 429,
  "error": "Rate limit exceeded"
}

Authorizations

X-API-Key
string
header
required

API key for authentication. Get yours at https://0xarchive.io/dashboard

Path Parameters

symbol
string
required

Hyperliquid Spot pair symbol, for example HYPE-USDC

Example:

"HYPE-USDC"

Query Parameters

timestamp

Timestamp for historical lookup. Supports the timestamp format used by the route family.

Example:

1704067200000

Response

L4 orderbook snapshot

success
boolean
Example:

true

data
object[]
meta
object
Last modified on July 7, 2026