The Historical Market Capitalization API returns a time series of market capitalization for US-listed equities and for cryptocurrencies. Every value is expressed in US dollars. For stocks the coverage is limited to companies traded on NYSE and NASDAQ; no other stock exchange is included. Equity market cap is sampled weekly and the series begins on 2021-07-09, while cryptocurrency market cap is updated daily.
Scope at a glance. Stocks: US market only, NYSE and NASDAQ — a ticker from any other exchange returns an empty result. Cryptocurrencies: available through .CC tickers such as BTC-USD.CC. Currency: every value is in US dollars, for both stocks and crypto. Earliest date: 2021-07-09 for equities and late 2022 for most cryptocurrencies. Frequency: equity values are weekly, cryptocurrency values are daily.
Quick Start
To retrieve historical market capitalization, call the endpoint with a ticker:
https://eodhd.com/api/historical-market-cap/AAPL.US?api_token=demo
curl --location "https://eodhd.com/api/historical-market-cap/AAPL.US?api_token=demo&fmt=json"
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://eodhd.com/api/historical-market-cap/AAPL.US?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/historical-market-cap/AAPL.US?api_token=demo&fmt=json'
data = requests.get(url).json()
print(data)
library(httr)
library(jsonlite)
url <- 'https://eodhd.com/api/historical-market-cap/AAPL.US?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")
}
Try it now (it's free)!
How to use it (YouTube)
The ticker is the path segment, in the form SYMBOL.EXCHANGE. For US stocks the exchange suffix is optional, so AAPL and AAPL.US are equivalent. Cryptocurrencies use the .CC suffix, for example BTC-USD.CC.
Parameters
api_token
string
required
from
date
optional
to
date
optional
For testing without your own token, the example uses the demo token (api_token=demo). It covers a small set of sample tickers, including AAPL.US, MSFT.US, TSLA.US, BTC-USD.CC, and ETH-USD.CC. When you are signed in, your own token is inserted automatically instead of demo.
https://eodhd.com/api/historical-market-cap/AAPL.US?api_token=demo
curl --location "https://eodhd.com/api/historical-market-cap/AAPL.US?api_token=demo&fmt=json"
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://eodhd.com/api/historical-market-cap/AAPL.US?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/historical-market-cap/AAPL.US?api_token=demo&fmt=json'
data = requests.get(url).json()
print(data)
library(httr)
library(jsonlite)
url <- 'https://eodhd.com/api/historical-market-cap/AAPL.US?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")
}
Try it now (it's free)!
How to use it (YouTube)
Response Example
The response is a JSON object whose keys are sequential indices. Each element holds a date and the market capitalization on that date, in US dollars. For equities the observations are weekly:
{
"0": { "date": "2026-07-07", "value": 4556663954100 },
"1": { "date": "2026-07-09", "value": 4638216299400 },
"2": { "date": "2026-07-10", "value": 4625015380200 }
}
Response Fields
| Field | Type | Description |
|---|---|---|
| date | string | Observation date in YYYY-MM-DD format |
| value | integer | Market capitalization on that date, expressed in US dollars |
The value field is always expressed in US dollars, for both US stocks and cryptocurrencies — regardless of the asset’s home country or trading currency.
Coverage and Frequency
Stocks: all companies listed on NYSE and NASDAQ. No other stock exchange is covered, so a non-US ticker returns an empty result. Values are sampled weekly and the series begins on 2021-07-09.
Cryptocurrencies: available through .CC tickers such as BTC-USD.CC, ETH-USD.CC, and SOL-USD.CC. Values are updated daily. History begins in late 2022 for most assets, though some start later.
All market capitalization values, for both stocks and cryptocurrencies, are expressed in US dollars.