Skip to main content
GET
/
futures
/
batch-open-interest
/
{exchange}
Batch Historical
curl --request GET \
  --url https://api.amberdata.com/markets/futures/batch-open-interest/{exchange} \
  --compressed \
  --header 'Accept-Encoding: <accept-encoding>' \
  --header 'x-api-key: <api-key>'
import requests

url = "https://api.amberdata.com/markets/futures/batch-open-interest/{exchange}"

headers = {
"Accept-Encoding": "<accept-encoding>",
"x-api-key": "<api-key>"
}

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

print(response.text)
const options = {
method: 'GET',
headers: {'Accept-Encoding': '<accept-encoding>', 'x-api-key': '<api-key>'}
};

fetch('https://api.amberdata.com/markets/futures/batch-open-interest/{exchange}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.amberdata.com/markets/futures/batch-open-interest/{exchange}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept-Encoding: <accept-encoding>",
"x-api-key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

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

func main() {

url := "https://api.amberdata.com/markets/futures/batch-open-interest/{exchange}"

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

req.Header.Add("Accept-Encoding", "<accept-encoding>")
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))

}
HttpResponse<String> response = Unirest.get("https://api.amberdata.com/markets/futures/batch-open-interest/{exchange}")
.header("Accept-Encoding", "<accept-encoding>")
.header("x-api-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.amberdata.com/markets/futures/batch-open-interest/{exchange}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Accept-Encoding"] = '<accept-encoding>'
request["x-api-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "status": 200,
  "title": "OK",
  "description": "Successful request",
  "payload": {
    "metadata": {
      "next": null,
      "api-version": "2023-09-30"
    },
    "data": [
      {
        "instrument": "BTCUSDT",
        "exchangeTimestamp": 1735948800000,
        "value": 87453.638,
        "type": null
      },
      {
        "instrument": "ETHUSDT",
        "exchangeTimestamp": 1735948800000,
        "value": 1631146.816,
        "type": null
      }
    ]
  }
}
"{}"
The maximum time range (difference between startDate and endDate) is:
  • 62 days of daily, hourly or minutely data
  • This endpoint only stores the most recent 62 days of data.
  • Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found here .
If you omit startDate and endDate, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).

Authorizations

x-api-key
string
header
required

Headers

Accept-Encoding
string
default:gzip, deflate, br
required
api-version
string

Path Parameters

exchange
string
default:binance
required

The exchange for which to retrieve the most current data.

Query Parameters

instruments
string
default:BTCUSDT,ETHUSDT
required

[Required] The instrument(s) for which to retrieve the most current data (comma separated). [Maximum] 50 instruments

startDate
string<date-time>

[Optional] Payload only includes data after this date (inclusive). [Formats] seconds | milliseconds | iso8601 [Examples] 1578531600 | 1578531600000 | 2020-09-01T01:00:00

endDate
string<date-time>

[Optional] Payload only includes data before this date (exclusive). [Formats] seconds | milliseconds | iso8601 [Examples] 1578531600 | 1578531600000 | 2020-09-01T01:00:00

timeInterval
string

[Optional] Time interval. [Defaults] minutes | hours | days*

timeFormat
string

[Optional] Time format of the timestamps in the return payload. [Defaults] milliseconds | ms* | iso | iso8601 | hr | human_readable

Response

200

status
integer
title
string
description
string
payload
object