Skip to content

Instruments#

GET https://api.pro.anboto.xyz/api/v2/data/instruments

Return all instruments based on filter parameters ApiKeyAuth required.

Query params#

exchange string
Return all instruments on this exchange for each asset
symbol string
Return instrument with this symbol

Headers#

Header
X-API-KEY string required
X-TIMESTAMP int64 ms required
X-SIGN string required
X-RECV-WINDOW int, default 5000

Responses#

200 The instruments
401 Unauthorized, Invalid Signature
429 Rate limit exceeded, retry later

Response fields — Instrument#

exchange enum required
BINANCE, HUOBI, COINBASE_ADV, GATEIO, KRAKEN, KUCOIN, OKX, BYBIT, … (18 values)
symbol string required
baseAsset string required
quoteAsset string required
exchangeSymbol string required
exchangeAssetClass string required
assetClass enum required
UNDEFINED, SPOT, FUTURE, OPTION, CFD
quantityPrecision integer
pricePrecision integer
maxQuantityLimit number
minQuantityLimit number
minCostLimit number
maxCostLimit number
contractSize number
minMarketLimit number
maxMarketLimit number
minPriceLimit number
maxPriceLimit number
enabled boolean required
timestamp date-time required
priceSignificantFigure integer
quantitySignificantFigure integer
assetId string
curl -X GET "$BASE/api/v2/data/instruments?exchange=string" \
  -H "X-API-KEY: $API_KEY" -H "X-TIMESTAMP: $ts" \
  -H "X-SIGN: $sign"
params = {"exchange": ..., "symbol": ...}
r = requests.get(f"{BASE}/api/v2/data/instruments",
    params=params
    headers=signed_headers_query(params))
print(r.json())
let resp = client
    .get(format!("{BASE}/api/v2/data/instruments?exchange=string"))
    .headers(signed_headers_query(&params))
    .send()?;
println!("{}", resp.text()?);
req, _ := http.NewRequest("GET", BASE+"/api/v2/data/instruments?exchange=string", nil)
for k, v := range signedHeadersQuery(req.URL.Query()) {
    req.Header.Set(k, v)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()
io.Copy(os.Stdout, resp.Body)
HttpResponse<String> resp = client.send(
    signedGet("/api/v2/data/instruments?exchange=string"),
    HttpResponse.BodyHandlers.ofString());
const res = await fetch(`${BASE}/api/v2/data/instruments?exchange=string`, {
  method: "GET",
  headers: signedHeadersQuery(params),
});
const data: Instrument = await res.json();
val request = signedGet("/api/v2/data/instruments?exchange=string")
val response = client.send(request, HttpResponse.BodyHandlers.ofString())
println(response.body())
cpr::Response r = cpr::Get(
    cpr::Url{BASE + "/api/v2/data/instruments?exchange=string"},
    signedHeadersQuery(params));
std::cout << r.text << std::endl;
const res = await fetch(`${BASE}/api/v2/data/instruments?exchange=string`, {
  method: "GET",
  headers: signedHeadersQuery(params),
});
console.log(await res.json());

Response 200

{
  "exchange": "BINANCE",
  "symbol": "string",
  "baseAsset": "string",
  "quoteAsset": "string",
  "exchangeSymbol": "string",
  "exchangeAssetClass": "string",
  "assetClass": "UNDEFINED",
  "quantityPrecision": 0,
  "pricePrecision": 0,
  "maxQuantityLimit": 0.0,
  "minQuantityLimit": 0.0,
  "minCostLimit": 0.0,
  "maxCostLimit": 0.0,
  "contractSize": 0.0,
  "minMarketLimit": 0.0,
  "maxMarketLimit": 0.0,
  "minPriceLimit": 0.0,
  "maxPriceLimit": 0.0,
  "enabled": true,
  "timestamp": "string",
  "priceSignificantFigure": 0,
  "quantitySignificantFigure": 0,
  "assetId": "string"
}