Earnings and Economic Calendar
curl --request GET \
--url https://api.qfex.com/calendarimport requests
url = "https://api.qfex.com/calendar"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.qfex.com/calendar', 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.qfex.com/calendar",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.qfex.com/calendar"
req, _ := http.NewRequest("GET", url, nil)
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.qfex.com/calendar")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qfex.com/calendar")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"earnings": [
{
"body": "<string>",
"eps_actual": 123,
"eps_estimate": 123,
"id": "<string>",
"metadata": {},
"report_date": "2023-12-25",
"revenue_actual": 123,
"revenue_estimate": 123,
"symbol": "<string>",
"title": "<string>"
}
],
"economic": {
"events": [
{
"actual": "<unknown>",
"consensus": "<unknown>",
"country": "<string>",
"data_stale": true,
"date": "2023-12-25",
"id": "<string>",
"impact": "<string>",
"last_verified_at": "<string>",
"name": "<string>",
"period": "<string>",
"prior": "<unknown>",
"release_at_utc": "2023-11-07T05:31:56Z",
"release_stage": "<string>",
"series_code": "<string>",
"source_name": "<string>",
"source_url": "<string>",
"status": "<string>",
"unit": "<string>",
"url": "<string>"
}
],
"fetchedAt": "2023-11-07T05:31:56Z",
"stale": true
},
"$schema": "https://api.qfex.com/contracts/2026-10-29/schemas/CalendarData.json"
}{
"$schema": "https://api.qfex.com/contracts/2026-10-29/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}market-data
Earnings and Economic Calendar
Return company earnings and economic events for an inclusive date range of up to 93 days. No authentication is required. Earnings use report dates; economic events use their stored calendar dates. For timezone-aware weekly displays, include one extra date on either side and group exact release timestamps in the desired timezone. Unknown release times remain null. Economic sync freshness is returned separately from earnings.
GET
/
calendar
Earnings and Economic Calendar
curl --request GET \
--url https://api.qfex.com/calendarimport requests
url = "https://api.qfex.com/calendar"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.qfex.com/calendar', 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.qfex.com/calendar",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.qfex.com/calendar"
req, _ := http.NewRequest("GET", url, nil)
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.qfex.com/calendar")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qfex.com/calendar")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"earnings": [
{
"body": "<string>",
"eps_actual": 123,
"eps_estimate": 123,
"id": "<string>",
"metadata": {},
"report_date": "2023-12-25",
"revenue_actual": 123,
"revenue_estimate": 123,
"symbol": "<string>",
"title": "<string>"
}
],
"economic": {
"events": [
{
"actual": "<unknown>",
"consensus": "<unknown>",
"country": "<string>",
"data_stale": true,
"date": "2023-12-25",
"id": "<string>",
"impact": "<string>",
"last_verified_at": "<string>",
"name": "<string>",
"period": "<string>",
"prior": "<unknown>",
"release_at_utc": "2023-11-07T05:31:56Z",
"release_stage": "<string>",
"series_code": "<string>",
"source_name": "<string>",
"source_url": "<string>",
"status": "<string>",
"unit": "<string>",
"url": "<string>"
}
],
"fetchedAt": "2023-11-07T05:31:56Z",
"stale": true
},
"$schema": "https://api.qfex.com/contracts/2026-10-29/schemas/CalendarData.json"
}{
"$schema": "https://api.qfex.com/contracts/2026-10-29/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}Query Parameters
First report/event date, inclusive (YYYY-MM-DD).
Last report/event date, inclusive. Maximum 93 days per request.
Published API contract date. Omit or use latest for the latest contract; explicit dates stay pinned. Applies to request validation and response format.
Example:
"2026-10-29"