Earnings date detail
curl --request GET \
--url https://astreus.ai/api/v1/earnings/calendar/{id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/earnings/calendar/{id}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://astreus.ai/api/v1/earnings/calendar/{id}', 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://astreus.ai/api/v1/earnings/calendar/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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://astreus.ai/api/v1/earnings/calendar/{id}"
req, _ := http.NewRequest("GET", url, nil)
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://astreus.ai/api/v1/earnings/calendar/{id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/earnings/calendar/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"event": {
"id": "43656",
"cik": "XSAU000040",
"company": "Al Majed Oud Co.",
"ticker": "4165",
"country": "SA",
"periodEnd": "2026-09-30",
"kind": "results",
"date": "2026-11-01",
"status": "estimated",
"session": null,
"timeText": null,
"windowStart": "2026-10-24",
"windowEnd": "2026-11-10",
"sampleSize": 9,
"explanation": "Based on 9 prior releases, including 2 for fiscal Q3. Recent reporting dates carry more weight. This range is an estimate, not an issuer schedule.",
"docRef": null,
"sourceUrl": null,
"quote": null,
"sourcePublishedAt": null,
"updatedAt": "2026-11-01T00:16:05.759Z",
"revision": "376933",
"reason": "model_refresh",
"marketCap": 778792932,
"exchange": "TADAWUL",
"website": "http://www.almajed4oud.com",
"brandMark": "https://cdn.brandfetch.io/almajed4oud.com/icon?c=1idQJ_8ukVnXwK_PLYs&fallback=404",
"brandMarkChecked": true,
"broadcast": null
},
"revisions": [
{
"id": "376933",
"status": "estimated",
"date": "2026-11-01",
"reason": "model_refresh",
"createdAt": "2026-11-01T00:16:05.759Z",
"docRef": null,
"sourceUrl": null,
"quote": null
},
{
"id": "370833",
"status": "estimated",
"date": "2026-11-01",
"reason": "model_refresh",
"createdAt": "2026-10-31T00:16:01.562Z",
"docRef": null,
"sourceUrl": null,
"quote": null
}
],
"history": [
{
"id": "13211",
"cik": "XSAU000040",
"company": "Al Majed Oud Co.",
"ticker": "4165",
"country": "SA",
"periodEnd": "2026-06-30",
"kind": "results",
"date": "2026-08-05",
"status": "reported",
"session": null,
"timeText": null,
"windowStart": null,
"windowEnd": null,
"sampleSize": null,
"explanation": null,
"docRef": "SAU-4165-20260805-PR",
"sourceUrl": "https://www.saudiexchange.sa/wps/portal/saudiexchange/newsandreports/issuer-news/issuer-announcements/issuer-announcements-details/?anId=97261&anCat=1&cs=4165&locale=en",
"quote": "Al Majed Oud Co. announces its Interim Financial results for the Period Ending on 2026-06-30 ( Six Months )",
"sourcePublishedAt": null,
"updatedAt": "2026-09-15T14:03:26.799Z",
"revision": "12533",
"reason": "issuer_evidence"
},
{
"id": "13208",
"cik": "XSAU000040",
"company": "Al Majed Oud Co.",
"ticker": "4165",
"country": "SA",
"periodEnd": "2026-03-31",
"kind": "results",
"date": "2026-04-30",
"status": "reported",
"session": null,
"timeText": null,
"windowStart": null,
"windowEnd": null,
"sampleSize": null,
"explanation": null,
"docRef": "SAU-4165-20260430-PR",
"sourceUrl": "https://www.saudiexchange.sa/wps/portal/saudiexchange/newsandreports/issuer-news/issuer-announcements/issuer-announcements-details/?anId=94809&anCat=1&cs=4165&locale=en",
"quote": "Al Majed Oud Co. announces its Interim Financial results for the Period Ending on 2026-03-31 ( Three Months )",
"sourcePublishedAt": null,
"updatedAt": "2026-09-15T14:03:23.116Z",
"revision": "12530",
"reason": "issuer_evidence"
}
],
"results": null
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}Company Data
Earnings date detail
One results date: the event, the revisions of its date with the evidence for each (newest first, at most 100), the company’s past results dates, and the headline results once reported. The estimator re-saves an unchanged estimate on every run: revisions=changes keeps only the revisions that changed the date, status or evidence, each with repeated (identical re-saves that followed it) and lastConfirmedAt (the last one’s time), and adds revisionsTotal and revisionsCollapsed.
GET
/
api
/
v1
/
earnings
/
calendar
/
{id}
Earnings date detail
curl --request GET \
--url https://astreus.ai/api/v1/earnings/calendar/{id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/earnings/calendar/{id}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://astreus.ai/api/v1/earnings/calendar/{id}', 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://astreus.ai/api/v1/earnings/calendar/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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://astreus.ai/api/v1/earnings/calendar/{id}"
req, _ := http.NewRequest("GET", url, nil)
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://astreus.ai/api/v1/earnings/calendar/{id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/earnings/calendar/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"event": {
"id": "43656",
"cik": "XSAU000040",
"company": "Al Majed Oud Co.",
"ticker": "4165",
"country": "SA",
"periodEnd": "2026-09-30",
"kind": "results",
"date": "2026-11-01",
"status": "estimated",
"session": null,
"timeText": null,
"windowStart": "2026-10-24",
"windowEnd": "2026-11-10",
"sampleSize": 9,
"explanation": "Based on 9 prior releases, including 2 for fiscal Q3. Recent reporting dates carry more weight. This range is an estimate, not an issuer schedule.",
"docRef": null,
"sourceUrl": null,
"quote": null,
"sourcePublishedAt": null,
"updatedAt": "2026-11-01T00:16:05.759Z",
"revision": "376933",
"reason": "model_refresh",
"marketCap": 778792932,
"exchange": "TADAWUL",
"website": "http://www.almajed4oud.com",
"brandMark": "https://cdn.brandfetch.io/almajed4oud.com/icon?c=1idQJ_8ukVnXwK_PLYs&fallback=404",
"brandMarkChecked": true,
"broadcast": null
},
"revisions": [
{
"id": "376933",
"status": "estimated",
"date": "2026-11-01",
"reason": "model_refresh",
"createdAt": "2026-11-01T00:16:05.759Z",
"docRef": null,
"sourceUrl": null,
"quote": null
},
{
"id": "370833",
"status": "estimated",
"date": "2026-11-01",
"reason": "model_refresh",
"createdAt": "2026-10-31T00:16:01.562Z",
"docRef": null,
"sourceUrl": null,
"quote": null
}
],
"history": [
{
"id": "13211",
"cik": "XSAU000040",
"company": "Al Majed Oud Co.",
"ticker": "4165",
"country": "SA",
"periodEnd": "2026-06-30",
"kind": "results",
"date": "2026-08-05",
"status": "reported",
"session": null,
"timeText": null,
"windowStart": null,
"windowEnd": null,
"sampleSize": null,
"explanation": null,
"docRef": "SAU-4165-20260805-PR",
"sourceUrl": "https://www.saudiexchange.sa/wps/portal/saudiexchange/newsandreports/issuer-news/issuer-announcements/issuer-announcements-details/?anId=97261&anCat=1&cs=4165&locale=en",
"quote": "Al Majed Oud Co. announces its Interim Financial results for the Period Ending on 2026-06-30 ( Six Months )",
"sourcePublishedAt": null,
"updatedAt": "2026-09-15T14:03:26.799Z",
"revision": "12533",
"reason": "issuer_evidence"
},
{
"id": "13208",
"cik": "XSAU000040",
"company": "Al Majed Oud Co.",
"ticker": "4165",
"country": "SA",
"periodEnd": "2026-03-31",
"kind": "results",
"date": "2026-04-30",
"status": "reported",
"session": null,
"timeText": null,
"windowStart": null,
"windowEnd": null,
"sampleSize": null,
"explanation": null,
"docRef": "SAU-4165-20260430-PR",
"sourceUrl": "https://www.saudiexchange.sa/wps/portal/saudiexchange/newsandreports/issuer-news/issuer-announcements/issuer-announcements-details/?anId=94809&anCat=1&cs=4165&locale=en",
"quote": "Al Majed Oud Co. announces its Interim Financial results for the Period Ending on 2026-03-31 ( Three Months )",
"sourcePublishedAt": null,
"updatedAt": "2026-09-15T14:03:23.116Z",
"revision": "12530",
"reason": "issuer_evidence"
}
],
"results": null
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}{
"error": "<string>",
"code": "unknown_parameter",
"param": "<string>",
"allowed": [
"<string>"
]
}Authorizations
apiKeycognitoIdToken
Astreus API key (pk_live_...), created on the Developers page in the terminal. Also accepted as Authorization: Bearer pk_live_....
Path Parameters
The event id as the calendar returned it.
Query Parameters
all (default): every revision. changes: only those that changed the date, status or evidence.
Available options:
all, changes