curl --request GET \
--url https://api.0xarchive.io/v1/lighter/orderbook/{symbol} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/lighter/orderbook/{symbol}"
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/lighter/orderbook/{symbol}', 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/lighter/orderbook/{symbol}"
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": {
"symbol": "BTC",
"coin": "BTC",
"timestamp": "2025-01-21T10:30:45.123Z",
"bids": [
{
"px": "42150.00",
"sz": "1.5",
"n": 15
}
],
"asks": [
{
"px": "42150.00",
"sz": "1.5",
"n": 15
}
],
"mid_price": "42150.50",
"spread": "1.00",
"spread_bps": "2.37"
},
"meta": {
"count": 123,
"next_cursor": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"coverage_from": "2023-11-07T05:31:56Z",
"notice": "<string>"
}
}{
"code": 400,
"error": "Failed to deserialize query string: limit: invalid digit found in string",
"error_code": "invalid_query_params",
"request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 404,
"error": "Resource not found"
}{
"code": 429,
"error": "Rate limit exceeded"
}Get Lighter order book
0xArchive API reference for Get Lighter order book. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/lighter/orderbook/{symbol} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/lighter/orderbook/{symbol}"
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/lighter/orderbook/{symbol}', 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/lighter/orderbook/{symbol}"
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": {
"symbol": "BTC",
"coin": "BTC",
"timestamp": "2025-01-21T10:30:45.123Z",
"bids": [
{
"px": "42150.00",
"sz": "1.5",
"n": 15
}
],
"asks": [
{
"px": "42150.00",
"sz": "1.5",
"n": 15
}
],
"mid_price": "42150.50",
"spread": "1.00",
"spread_bps": "2.37"
},
"meta": {
"count": 123,
"next_cursor": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"coverage_from": "2023-11-07T05:31:56Z",
"notice": "<string>"
}
}{
"code": 400,
"error": "Failed to deserialize query string: limit: invalid digit found in string",
"error_code": "invalid_query_params",
"request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 404,
"error": "Resource not found"
}{
"code": 429,
"error": "Rate limit exceeded"
}Authorizations
API key for authentication. Get yours at https://0xarchive.io/dashboard
Path Parameters
Trading pair symbol (e.g., BTC, ETH)
"ETH"
Query Parameters
Unix timestamp in milliseconds. If not provided, returns latest snapshot.
1704067200000
Number of price levels per side. Full depth available.
20
Response
Order book snapshot
true
L2 order book snapshot
Hide child attributes
Hide child attributes
Trading pair symbol
"BTC"
Trading pair symbol (deprecated, use symbol instead)
"BTC"
Snapshot timestamp (UTC)
"2025-01-21T10:30:45.123Z"
Mid price (best bid + best ask) / 2
"42150.50"
Spread in absolute terms (best ask - best bid)
"1.00"
Spread in basis points
"2.37"
Response metadata
Hide child attributes
Hide child attributes
Number of records returned
Cursor for pagination (timestamp). Use this value as the cursor parameter to fetch the next page of results.
Unique request ID for support
Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.
Human-readable advisory about the response. Currently used when the requested window ends before coverage begins for the symbol; may carry other advisories in future.
Was this page helpful?