Bitmex API

Cryptocurrency / API Key Intermediate HTTPS
180 per window (179 remaining at test time)
70 B
Measured Score 0 50 100 Speed 22/30 Consistency 13/20 Security 20/20 Browser access 0/15 Transparency 15/15 TESTED 2026-08-10

Overview

BitMEX is a derivatives exchange specializing in perpetual swaps and futures contracts for Bitcoin and other cryptocurrencies. Its REST API exposes real-time market data including instrument details, order book depth, and recent trade history with no authentication required for public endpoints. The authenticated trading API supports order management and position tracking for leveraged products.

Beginner Tip

Use the testnet at https://testnet.bitmex.com/api/v1/ to safely experiment with order placement before touching real funds — testnet accounts can be funded with fake Bitcoin. For read-only market data you do not need an API key at all.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://www.bitmex.com/api/v1/instrument/active
Result
HTTP 200 · application/json · 111,910 bytes · compressed
Response time
69 ms (median of 3) · fastest 59 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Google Trust Services
Browser CORS
No Access-Control-Allow-Origin header — call it from a server, not the browser
Rate limit
180 per window (179 remaining at test time)
Served by
cloudflare
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
symbol string SUIUSDT
rootSymbol string SUI
instrumentID integer 2598
state string Open
typ string FFWCSX
listing string (date) 2023-05-03T12:00:00.000Z
front string (date) 2023-05-03T12:00:00.000Z
positionCurrency string SUI
underlying string SUI
quoteCurrency string USDT
underlyingSymbol string SUIT=
reference string BMEX
referenceSymbol string .BSUIT
maxOrderQty integer 1000000000

Captured Response

Captured from a real request to https://www.bitmex.com/api/v1/instrument/active on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
[
  {
    "symbol": "SUIUSDT",
    "rootSymbol": "SUI",
    "instrumentID": 2598,
    "state": "Open",
    "typ": "FFWCSX",
    "listing": "2023-05-03T12:00:00.000Z",
    "front": "2023-05-03T12:00:00.000Z",
    "positionCurrency": "SUI",
    "underlying": "SUI",
    "quoteCurrency": "USDT",
    "underlyingSymbol": "SUIT=",
    "reference": "BMEX",
    "referenceSymbol": ".BSUIT",
    "maxOrderQty": 1000000000,
    "…": "(72 more fields)"
  }
]

Field Reference

symbol Unique identifier for the instrument, e.g., XBTUSD.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://www.bitmex.com/api/v1/instrument/active";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist application/json
{
  "error": {
    "message": "Not Found",
    "name": "HTTPError"
  }
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

400 Invalid instrument BitMEX instrument symbols have a specific format like XBTUSD or ETHUSD, not BTC.
Call /api/v1/instrument/active first to get a list of all valid live instrument symbols.
429 Rate limit exceeded The API enforces a request limit of 120 per minute for unauthenticated calls.
Track the remaining limit in the X-RateLimit-Remaining response header and throttle before it hits zero.
Response data is an array of arrays for bulk endpoints Some endpoints return columnar format by default to reduce payload size.
Ensure you are using the REST endpoint rather than the WebSocket stream if you need standard JSON objects.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 22/30
Consistency 13/20
Security 20/20
Browser access 0/15
Transparency 15/15
Endpoint Response Time 69ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Cryptocurrency
Difficulty Intermediate
Endpoint last called: 2026-08-10

Similar APIs

View All →