Get Order Book
Get the current order book (bids + asks) for a futures symbol. Two modes via the same endpoint:
- Top of book — best few levels. Default.
- L2 mode — deeper view. Add
l2Orderbook=true.
HTTP
| Method | GET |
| Endpoint | /trade/api/v2/futures/order_book |
| Rate limit | 100 requests per 60 seconds (combined limit for both modes) |
Request Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
exchange | string | Yes | EXCHANGE_2. |
symbol | string | Yes | Symbol, e.g. BTCUSDT. |
l2Orderbook | string | No | Send "true" to fetch the L2 (deeper) view. |
Example
- Python
- Java
- Go
- Node.js
import requests
# Top of book
headers, path = sign_request("GET", "/trade/api/v2/futures/order_book",
params={"symbol": "btcusdt", "exchange": "EXCHANGE_2"})
print(requests.get(BASE_URL + path, headers=headers).json())
# L2 (deeper) view
headers, path = sign_request("GET", "/trade/api/v2/futures/order_book",
params={"symbol": "btcusdt",
"exchange": "EXCHANGE_2",
"l2Orderbook": "true"})
print(requests.get(BASE_URL + path, headers=headers).json())
HttpResponse<String> top = client.send(
"GET", "/trade/api/v2/futures/order_book",
Map.of("symbol", "btcusdt", "exchange", "EXCHANGE_2"), null);
HttpResponse<String> l2 = client.send(
"GET", "/trade/api/v2/futures/order_book",
Map.of("symbol", "btcusdt",
"exchange", "EXCHANGE_2",
"l2Orderbook", "true"), null);
headers, p, err := SignRequest("GET", "/trade/api/v2/futures/order_book", map[string]string{"symbol": "btcusdt", "exchange": "EXCHANGE_2"})
if err != nil { panic(err) }
req, _ := http.NewRequest("GET", BaseURL+p, nil)
for k, v := range headers { req.Header.Set(k, v) }
resp, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(string(out))
const {signRequest, BASE_URL} = require('./reference-client');
const {headers, path} = signRequest('GET', '/trade/api/v2/futures/order_book', {"symbol": "btcusdt", "exchange": "EXCHANGE_2"});
const r = await fetch(BASE_URL + path, {
method: 'GET',
headers,
});
console.log(await r.json());
Response
{
"data": {
"timestamp": 1732685131699,
"asks": [
["3388.92", "0.10"],
["3388.94", "0.01"]
],
"bids": [
["3425.71", "2.16"],
["3425.69", "0.01"]
],
"symbol": "ETHUSDT"
}
}
Response Parameters
| Field | Type | Description |
|---|---|---|
symbol | string | Symbol echoed back. |
timestamp | integer | Snapshot time (Unix milliseconds). |
bids | array | Sorted descending. Each entry [price (string), quantity (string)]. |
asks | array | Sorted ascending. Each entry [price (string), quantity (string)]. |
For real-time depth updates, use the Order Book WebSocket.