curl --request GET \
--url https://astreus.ai/api/v1/economic/calendar \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/economic/calendar"
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/economic/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://astreus.ai/api/v1/economic/calendar",
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/economic/calendar"
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/economic/calendar")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/economic/calendar")
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{
"from": "2026-11-01",
"to": "2026-11-01",
"events": [
{
"id": "89603",
"releaseId": 441,
"provider": "FRED",
"externalReleaseId": "441",
"name": "Coinbase Cryptocurrencies",
"shortName": "Coinbase Cryptocurrencies",
"source": "Coinbase",
"link": "https://www.coinbase.com/charts?locale=en-US",
"country": "US",
"date": "2026-11-01",
"time": null,
"timezone": null,
"releaseAt": null,
"importance": "low",
"status": "scheduled",
"kind": "release",
"referencePeriod": null,
"pressConference": false,
"projections": false,
"seriesCount": 1,
"headline": {
"seriesId": "6732",
"externalId": "CBBTCUSD",
"title": "Coinbase Bitcoin",
"units": "U.S. $",
"frequency": "D",
"actual": null,
"prior": {
"period": "2026-10-31",
"value": 77403.92
},
"yearAgo": null
},
"updatedAt": "2026-10-26T02:21:42.218Z"
},
{
"id": "86554",
"releaseId": 101,
"provider": "FRED",
"externalReleaseId": "101",
"name": "FOMC Press Release",
"shortName": "FOMC Press Release",
"source": "Board of Governors of the Federal Reserve System (US)",
"link": "http://www.federalreserve.gov/fomc/",
"country": "US",
"date": "2026-11-01",
"time": null,
"timezone": null,
"releaseAt": null,
"importance": "low",
"status": "scheduled",
"kind": "release",
"referencePeriod": null,
"pressConference": false,
"projections": false,
"seriesCount": 2,
"headline": {
"seriesId": "6404",
"externalId": "DFEDTARU",
"title": "Federal Funds Target Range - Upper Limit",
"units": "%",
"frequency": "D",
"actual": null,
"prior": {
"period": "2026-10-31",
"value": 4
},
"yearAgo": null
},
"updatedAt": "2026-10-26T02:20:34.556Z"
}
],
"total": 3,
"summary": {
"high": 0,
"medium": 0,
"low": 3,
"released": 0,
"awaiting": 0
},
"stale": false,
"truncated": false,
"generatedAt": "2026-11-01T12:49:07.722Z",
"offset": 0,
"limit": 2,
"nextOffset": 2
}{
"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>"
]
}Economic calendar
Scheduled statistical releases and central-bank decisions in a window (up to 400 days) from every stored release calendar (US today; each event names its country), cancelled dates excluded, each with its importance, status and, once released, the headline series’ print (actual, prior, year-ago). importance is a floor. Without limit/offset the whole window, at most 1,500 dates read before search and importance filter them; truncated says the window held more. status: scheduled, released (the headline print is held), awaiting (the date has passed, or the agency has published, and the headline print is not in our copy yet; served so for 45 days after the date), or cancelled. summary.awaiting counts those and stale is true when any is served. The reply echoes the window as from / to (default today).
curl --request GET \
--url https://astreus.ai/api/v1/economic/calendar \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/economic/calendar"
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/economic/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://astreus.ai/api/v1/economic/calendar",
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/economic/calendar"
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/economic/calendar")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/economic/calendar")
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{
"from": "2026-11-01",
"to": "2026-11-01",
"events": [
{
"id": "89603",
"releaseId": 441,
"provider": "FRED",
"externalReleaseId": "441",
"name": "Coinbase Cryptocurrencies",
"shortName": "Coinbase Cryptocurrencies",
"source": "Coinbase",
"link": "https://www.coinbase.com/charts?locale=en-US",
"country": "US",
"date": "2026-11-01",
"time": null,
"timezone": null,
"releaseAt": null,
"importance": "low",
"status": "scheduled",
"kind": "release",
"referencePeriod": null,
"pressConference": false,
"projections": false,
"seriesCount": 1,
"headline": {
"seriesId": "6732",
"externalId": "CBBTCUSD",
"title": "Coinbase Bitcoin",
"units": "U.S. $",
"frequency": "D",
"actual": null,
"prior": {
"period": "2026-10-31",
"value": 77403.92
},
"yearAgo": null
},
"updatedAt": "2026-10-26T02:21:42.218Z"
},
{
"id": "86554",
"releaseId": 101,
"provider": "FRED",
"externalReleaseId": "101",
"name": "FOMC Press Release",
"shortName": "FOMC Press Release",
"source": "Board of Governors of the Federal Reserve System (US)",
"link": "http://www.federalreserve.gov/fomc/",
"country": "US",
"date": "2026-11-01",
"time": null,
"timezone": null,
"releaseAt": null,
"importance": "low",
"status": "scheduled",
"kind": "release",
"referencePeriod": null,
"pressConference": false,
"projections": false,
"seriesCount": 2,
"headline": {
"seriesId": "6404",
"externalId": "DFEDTARU",
"title": "Federal Funds Target Range - Upper Limit",
"units": "%",
"frequency": "D",
"actual": null,
"prior": {
"period": "2026-10-31",
"value": 4
},
"yearAgo": null
},
"updatedAt": "2026-10-26T02:20:34.556Z"
}
],
"total": 3,
"summary": {
"high": 0,
"medium": 0,
"low": 3,
"released": 0,
"awaiting": 0
},
"stale": false,
"truncated": false,
"generatedAt": "2026-11-01T12:49:07.722Z",
"offset": 0,
"limit": 2,
"nextOffset": 2
}{
"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
Astreus API key (pk_live_...), created on the Developers page in the terminal. Also accepted as Authorization: Bearer pk_live_....
Query Parameters
First day, YYYY-MM-DD (default today).
Last day, YYYY-MM-DD (default from).
Minimum importance.
high, medium, low Release name, short name, source agency or headline series title/id contains (case-insensitive); max 100 characters.
One release id.
Page size, 1–500 (500 when only offset is given); with offset, pages the window (nextOffset names the next page). Without both, the whole window.
1 <= x <= 500Rows to skip, default 0.
x >= 0Response
OK
Inferred from captured responses: every field shown was returned by a real call; a field may be absent or null on other calls.