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

url = "https://api.amberdata.com/markets/options/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/options/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/options/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/options/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/options/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/options/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": "BTC-14MAR25-100000-C",
        "exchangeTimestamp": 1740009600000,
        "value": 4.7,
        "type": null
      },
      {
        "instrument": "BTC-14MAR25-100000-C",
        "exchangeTimestamp": 1740096000000,
        "value": 7.9,
        "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:deribit
required

The exchange for which to retrieve the most current data.

Query Parameters

instruments
string
default:BTC-29DEC23-30000-C
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] ticks | 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