Available with: All-In-One, Fundamentals Data Feed and Calendar Data Feed packages.
Consumption: Each request consumes 10 API calls.

With our Financial Calendar data feed, we provide data about upcoming earnings, IPOs, and splits. If you are looking for an economic calendar, which includes an earnings calendar and IPOs calendar, this API is for you.

For IPOs, we have data from January 2015 and up to 2-3 weeks into the future. For splits, we have data from January 2015 up to several months into the future, and full historical data is also provided under our Splits and Dividends API. And for earnings, we have data from the beginning and up to several months into the future.

Register & Get Data

Upcoming Earnings API

Basic URL to access

https://eodhd.com/api/calendar/earnings

Parameters

  • api_token: REQUIRED. Your api_token to access the API. You will get it after registration.
  • from: OPTIONAL. Format: YYYY-MM-DD. The start date for earnings data, if not provided, today will be used.
  • to: OPTIONAL. Format: YYYY-MM-DD. The end date for earnings data, if not provided, today + 7 days will be used.
  • symbols: OPTIONAL. You can request specific symbols to get historical and upcoming data. If ‘symbols’ used, then ‘from’ and ‘to’ parameters will be ignored. You can use one symbol: ‘AAPL.US’ or several symbols separated by a comma: ‘AAPL.US, MS’
  • fmt: OPTIONAL. Output format, possible values: ‘csv’ – for CSV output and ‘json’ – for JSON output. Default value is ‘csv’.

Examples

An example to get all earnings from December 2, 2018, to December 6, 2018, in JSON format:

URL
cURL
PHP
Python
R
https://eodhd.com/api/calendar/earnings?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/calendar/earnings?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/calendar/earnings?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&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/calendar/earnings?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

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

url <- 'https://eodhd.com/api/calendar/earnings?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&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")
}

An example to get all earnings, including historical and upcoming, for AAPL.US, MSFT.US, and AI.PA from January 2018:

URL
cURL
PHP
Python
R
https://eodhd.com/api/calendar/earnings?symbols=AAPL.US,MSFT.US,AI.PA&from=2018-01-01&api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/calendar/earnings?symbols=AAPL.US,MSFT.US,AI.PA&from=2018-01-01&api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/calendar/earnings?symbols=AAPL.US,MSFT.US,AI.PA&from=2018-01-01&api_token={YOUR_API_TOKEN}&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/calendar/earnings?symbols=AAPL.US,MSFT.US,AI.PA&from=2018-01-01&api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

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

url <- 'https://eodhd.com/api/calendar/earnings?symbols=AAPL.US,MSFT.US,AI.PA&from=2018-01-01&api_token={YOUR_API_TOKEN}&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")
}

Output

An example output in CSV format you can download here:

  • All earnings from December 2, 2018, to December 6, 2018
  • All earnings, including historical and upcoming, for AAPL.US, MSFT.US, and AI.PA

Earnings Trends API

Basic URL to access 

https://eodhd.com/api/calendar/trends

Parameters

  • api_token: REQUIRED. Your api_token to access the API. You will get it after registration.
  • symbols: REQUIRED. You can request specific symbols to get historical and upcoming data. If ‘symbols’ used, then ‘from’ and ‘to’ parameters will be ignored. You can use one symbol: ‘AAPL.US’ or several symbols separated by a comma: ‘AAPL.US, MS’
  • fmt: The data for trends is available only in JSON format due to a complex data structure.

Examples

An example to get all earning trends, including historical and upcoming, for AAPL.US, MSFT.US, and AI.PA:

URL
cURL
PHP
Python
R
https://eodhd.com/api/calendar/trends?symbols=AAPL.US,MSFT.US,AI.PA&api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/calendar/trends?symbols=AAPL.US,MSFT.US,AI.PA&api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/calendar/trends?symbols=AAPL.US,MSFT.US,AI.PA&api_token={YOUR_API_TOKEN}&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/calendar/trends?symbols=AAPL.US,MSFT.US,AI.PA&api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

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

url <- 'https://eodhd.com/api/calendar/trends?symbols=AAPL.US,MSFT.US,AI.PA&api_token={YOUR_API_TOKEN}&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")
}

Upcoming IPOs API

Basic URL to access

https://eodhd.com/api/calendar/ipos

Parameters

  • api_token: REQUIRED. Your api_token to access the API. You will get it after registration.
  • from: OPTIONAL. Format: YYYY-MM-DD. The start date for ipos data, if not provided, today will be used.
  • to: OPTIONAL. Format: YYYY-MM-DD. The end date for ipos data, if not provided, today + 7 days will be used.
  • fmt: OPTIONAL. Output format, possible values: ‘csv’ – for CSV output and ‘json’ – for JSON output. Default value is ‘csv’.

Examples

An example to get all IPOs from December 2, 2018 to December 6, 2018 in JSON format:

URL
cURL
PHP
Python
R
https://eodhd.com/api/calendar/ipos?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/calendar/ipos?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/calendar/ipos?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&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/calendar/ipos?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

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

url <- 'https://eodhd.com/api/calendar/ipos?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&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")
}

Output

An example output in CSV format you can download here:

  • All ipos from December 2, 2018, to December 6, 2018

JSON example

Upcoming Splits API

Basic URL to access

https://eodhd.com/api/calendar/splits

Parameters

  • api_token: REQUIRED. Your api_token to access the API. You will get it after registration.
  • from: OPTIONAL. Format: YYYY-MM-DD. The start date for splits data, if not provided, today will be used.
  • to: OPTIONAL. Format: YYYY-MM-DD. The end date for splits data, if not provided, today + 7 days will be used.
  • fmt: OPTIONAL. Output format, possible values: ‘csv’ – for CSV output and ‘json’ – for JSON output. Default value is ‘csv’.

Examples

An example to get all splits from December 2, 2018, to December 6, 2018, in JSON format:

URL
cURL
PHP
Python
R
https://eodhd.com/api/calendar/splits?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/calendar/splits?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/calendar/splits?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&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/calendar/splits?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

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

url <- 'https://eodhd.com/api/calendar/splits?from=2018-12-02&to=2018-12-06&api_token={YOUR_API_TOKEN}&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")
}

Output

An example output in CSV format you can download here:

  • All splits from December 2, 2018 to December 6, 2018

Register & Get Data