The CBOE Indices Data API provides structured access to daily CBOE index data (European stocks) across multiple European and regional index families. Each index includes complete metadata such as region, index code, calculation date, closing level, divisor, and a full list of constituents with prices, weights, currency, and classification details.

This dataset enables accurate index reconstruction, point-in-time component analysis, and benchmark comparison for research and portfolio workflows. Coverage spans numerous regional index groups including Austria, Belgium, Germany, the Nordics, the UK, and other European markets.

Index Families: Austria, Belgium, Denmark, Europe, Eurozone, Finland, France, Germany, Ireland, Italy, Netherlands, Nordic region, Norway, Portugal, Spain, Sweden, Switzerland, UK, and Level-2 UK sector indices.

You will need to use two endpoints to access all CBOE index data: one to retrieve the list of available indices and another to get the full list of components for a selected index.

Sign up & Get Data

CBOE Indices List API

Endpoint

https://eodhd.com/api/cboe/indices

Description

This endpoint returns the full list of CBOE indices available via EODHD, including:

  • EODHD index identifier (id, type)
  • CBOE index code
  • Region (country / market)
  • Latest feed type and date
  • Latest close value and index divisor for that index

Use this endpoint when you need to:

  • Discover which CBOE indices are supported
  • Get their latest closing level and divisor
  • Obtain the CBOE index_code needed for the detailed feed endpoint

Pagination is handled via the “links.next” field – if it is not null, call the URL provided there to get the next page.

Request Example

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/cboe/indices?api_token=DEMO&fmt=json
curl --location "https://eodhd.com/api/cboe/indices?api_token=DEMO&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/cboe/indices?api_token=DEMO&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/cboe/indices?api_token=DEMO&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/cboe/indices?api_token=DEMO&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)
ParameterRequiredTypeDescription
api_tokenYesstringYour EODHD API key.

Note: Pagination is controlled via the “links.next” field in the response. You don’t need to construct pagination parameters manually – just follow the URL in “links.next” until it becomes null.

Output Format

...
{
"id": "BAT20P",
"type": "cboe-index",
"attributes": {
"region": "Austria",
"index_code": "BAT20P",
"feed_type": "snapshot_official_closing",
"date": "2017-04-12",
"index_close": 10549.68,
"index_divisor": 4269150.786625
}
},
{
"id": "BDE30P",
"type": "cboe-index",
"attributes": {
"region": "Germany",
"index_code": "BDE30P",
"feed_type": "snapshot_official_closing",
"date": "2017-02-01",
"index_close": 13915.57,
"index_divisor": 68033376.886244
}
},
{
"id": "BDES50N",
"type": "cboe-index",
"attributes": {
"region": "Germany",
"index_code": "BDES50N",
"feed_type": "snapshot_official_closing",
"date": "2017-02-01",
"index_close": 20143.79,
"index_divisor": 2246357.472101
}
...

Fields

FieldTypeDescription
meta.totalintegerTotal number of index records returned in this response.
dataarrayList of CBOE index entries.
data[].idstringEODHD index identifier (often same as index_code).
data[].typestringResource type, always cboe-index
data[].attributes.regionstringCountry / region of the index (e.g., Austria, UK).
data[].attributes.index_codestringCBOE code of the index (e.g., BAT20N, BUKUTLN).
data[].attributes.feed_typestringType of the latest CBOE feed (e.g., snapshot_official_closing).
data[].attributes.datestring (YYYY-MM-DD)Date of the latest feed used for this summary.
data[].attributes.index_closenumberLatest close value of the index.
data[].attributes.index_divisornumberDivisor value for the index on that date.
links.nextstring or nullURL to fetch the next page of results, or null if there is no next page.

2. CBOE Index Feed API

Endpoint

https://eodhd.com/api/cboe/index

Description

This endpoint returns detailed feed data for a single CBOE index on a specific date and feed type, including:

  • Index-level information (region, close, divisor, etc.)
  • Full component breakdown (ticker, ISIN, country, market cap, FX factors, index weights, etc.)

Use it when you need:

  • Index composition on a given date
  • Official / pro-forma closing values
  • Detailed weights and share counts for each constituent

Request Example

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/cboe/index?filter[index_code]=BDE30P&filter[feed_type]=snapshot_official_closing&filter[date]=2017-02-01&api_token=YOUR_API_KEY&fmt=json
curl --location "https://eodhd.com/api/cboe/index?filter[index_code]=BDE30P&filter[feed_type]=snapshot_official_closing&filter[date]=2017-02-01&api_token=YOUR_API_KEY&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/cboe/index?filter[index_code]=BDE30P&filter[feed_type]=snapshot_official_closing&filter[date]=2017-02-01&api_token=YOUR_API_KEY&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/cboe/index?filter[index_code]=BDE30P&filter[feed_type]=snapshot_official_closing&filter[date]=2017-02-01&api_token=YOUR_API_KEY&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/cboe/index?filter[index_code]=BDE30P&filter[feed_type]=snapshot_official_closing&filter[date]=2017-02-01&api_token=YOUR_API_KEY&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

You can change:

  • index_code â€“ to any supported CBOE index code
  • feed_type â€“ to available feed types (e.g., official closing, snapshot feeds, etc.)
  • date – to the target trading date (YYYY-MM-DD)

Parameters

All filter parameters are passed as filter[…] query parameters (deep object style).

ParameterRequiredTypeDescription
filter[index_code]YesstringCBOE index code (e.g., BAT20N).
filter[feed_type]YesstringCBOE feed type for this index (e.g., snapshot_pro_forma_closing).
filter[date]Yesstring (YYYY-MM-DD)Date of the index feed.
api_tokenYesstringYour EODHD API key.
fmtNostringResponse format: json or xml. Default is json.

Output Response Example

{
"meta": {
"total": 1
},
"data": [
{
"id": "BDE30P-2017-02-01-snapshot_official_closing",
"type": "cboe-index",
"attributes": {
"region": "Germany",
"index_code": "BDE30P",
"feed_type": "snapshot_official_closing",
"date": "2017-02-01",
"index_close": 13915.57,
"index_divisor": 68033376.886244,
"effective_date": null,
"review_date": null
},
"components": [
{
"id": "BDE30P-2017-02-01-snapshot_official_closing-HEI.DU",
"type": "cboe-index-component",
"attributes": {
"symbol": "HEI.DU",
"isin": "DE0006047004",
"name": "HEIDELBERGCEMENT AG",
"equity": "HEIG IX Equity",
"sedol": null,
"cusip": "HEId",
"country": "GERMANY",
"revenue_country": null,
"closing_price": 90.15,
"currency": "EUR",
"closing_factor": 1,
"total_shares": 198416477,
"market_cap": 17887245401.55,
"market_cap_free_float": 12878816689.116,
"free_float_factor": 0.72,
"weighting_cap_factor": 1,
"index_weighting": 1.360357,
"index_shares": 2.09985,
"index_value": 189.301447,
"sector": "Non-Energy Materials"
}
},
{
"id": "BDE30P-2017-02-01-snapshot_official_closing-SIE.DU",
"type": "cboe-index-component",
"attributes": {
"symbol": "SIE.DU",
"isin": "DE0007236101",
"name": "SIEMENS AG",
"equity": "SIED IX Equity",
"sedol": null,
"cusip": "SIEd",
"country": "GERMANY",
"revenue_country": null,
"closing_price": 122.4,
"currency": "EUR",
"closing_factor": 1,
"total_shares": 808278318,
"market_cap": 98933266123.20001,
"market_cap_free_float": 93986602817.04001,
"free_float_factor": 0.95,
"weighting_cap_factor": 1,
"index_weighting": 9.927568,
"index_shares": 11.286584,
"index_value": 1381.477844,
"sector": "Industrials"
}

Fields – index level

FieldTypeDescription
meta.totalintegerNumber of index feed items in data (usually 1).
dataarrayList of index feeds matching your filter.
data[].idstringEODHD index feed identifier (e.g., BAT20N-2023-03-16-snapshot_pro_forma_closing).
data[].typestringResource type, always cboe-index.
data[].attributes.regionstringRegion of the index (e.g., Austria).
data[].attributes.index_codestringCBOE index code.
data[].attributes.feed_typestringFeed type (snapshot_official_closing, snapshot_pro_forma_closing, etc.).
data[].attributes.datestring (YYYY-MM-DD)Date of this index feed.
data[].attributes.index_closenumberIndex close value for this feed.
data[].attributes.index_divisornumberIndex divisor for this feed.

Fields – components (index composition)

FieldTypeDescription
data[].componentsarrayList of index components (constituents).
components[].idstringEODHD identifier for the component (combination of index/date/symbol).
components[].typestringResource type, e.g., cboe-index-component.
components[].attributes.symbolstringTrading symbol (ticker), often with exchange suffix (e.g., ATS.VI).
components[].attributes.isinstringISIN identifier.
components[].attributes.namestringCompany name.
components[].attributes.equitystringEquity identifier / description.
components[].attributes.sedolstring or nullSEDOL code (if available).
components[].attributes.cusipstringCUSIP code.
components[].attributes.countrystringCountry of the issuer.
components[].attributes.revenue_countrystring or nullCountry based on revenue (if provided).
components[].attributes.closing_pricenumberClosing price used in index calculation.
components[].attributes.currencystringCurrency of the security (e.g., EUR).
components[].attributes.closing_factornumberFX factor / adjustment applied to closing price.
components[].attributes.total_sharesintegerTotal number of shares outstanding.
components[].attributes.market_capnumberFull market capitalization.
components[].attributes.market_cap_free_floatnumberFree float market capitalization.
components[].attributes.free_float_factornumberFree float factor applied to total shares.
components[].attributes.weighting_cap_factornumberWeighting cap factor for this component.
components[].attributes.index_weightingnumberWeight in the index (percentage value).
components[].attributes.index_sharesnumberNumber of index shares allocated to this component.
components[].attributes.index_valuenumberContribution of this component to index value.
components[].attributes.sectorstringSector classification.