astreus is the official command-line client. It wraps the API — statements, segments,
filings and sections, decks, transcripts, guidance, events, news, ownership, people, macro,
markets, intelligence and analytics — formats the result for a terminal, and prints the
source filing under any financial figure. With --json it returns the API payload
verbatim, which makes it the quickest way for scripts and AI agents to use Astreus. The
data catalog lists the command for every dataset.
1
Install
npx astreus-cli … works without installing.Coming from prometheus-terminal? Uninstall it (npm uninstall -g prometheus-terminal)
and install astreus-cli; the command is now astreus instead of prom. Run astreus login
once: the old ~/.config/prometheus file and PROMETHEUS_BASE_URL are no longer read
(PROMETHEUS_API_KEY still is).2
Log in
Create a key on astreus.ai/developers, then:The prompt is hidden, the key is validated against the API before it is saved, and it is
stored in
~/.config/astreus/config.json (mode 0600). In CI or an agent, pipe it
instead: echo "$KEY" | astreus login --with-key, or just set ASTREUS_API_KEY.3
Pull real data
Things to try
astreus --help lists every command; astreus <command> --help shows its flags and examples.
Identifiers
<id> is a ticker (NVDA), a numeric SEC CIK (1045810), or a platform key for a non-SEC
issuer (XSAU000001 for Almarai on Tadawul, XDFM000002 for DEWA on DFM); tickers are
upper-cased for you. Accession numbers are accepted with or without dashes, and source
document references (DFM-EMAAR-2025FY-FS, EMAARIR-2026Q2-PRES) work wherever an accession
does (filing then needs --company <id>). People are a CIK or a registry key (XDFMP00001).
Country codes are ISO-2 (US, AE). See Coverage.
Conveniences
- Transcripts. The API requires both a transcript id and its date.
astreus transcript NVDAstreams the latest call;astreus transcript NVDA 31919looks the date up from the index. - Paging in one flag. Long text (
filing,section,event) prints one window and names the next--offseton stderr;--allreads every window. Lists print the next--offset(or--beforefor news).
Machine use: --json, exit codes, streams
--jsonprints the API response verbatim as a single JSON document on stdout — nothing else is written to stdout, soastreus --json financials NVDA | jqalways parses.- stdout is data; stderr is everything else (progress, warnings, errors). Text endpoints
(
transcript,section,event,filing) stream plain text so they pipe intoless,grepor a file. - Exit codes are stable (
astreus help exit-codes):
- On a 429 with
Retry-Afterof ten seconds or less,astreuswaits and retries once (--no-retrydisables this). Quota exhaustion is never retried; the message carries the reset date and how to get more volume. When fewer than 5% of your monthly requests remain, a single warning is printed on stderr. astreus meshows the plan, limits and live usage for the calling key;astreus llmsprints llms.txt so an agent can read its own manual.
MCP server
astreus mcp serves the shared Astreus MCP tool set over stdio. The tool
set follows the installed CLI release; hosted and npm releases are separate, so use
tools/list to discover each server’s actual capabilities. Each call
going through the CLI’s key resolution and retry behaviour:
Analytics descriptors
astreus correlate and astreus chart take series descriptors:
The valid vocabularies come from
astreus catalog (--macro, --fundamentals, --search).
Configuration
Flags win over the environment, which wins over the config file. Avoid
--api-key in shared
shells — it lands in history. The key is sent only to the configured origin: on a redirect to another
host the CLI drops it. --verbose logs each request (never the key).
Shell completion
Versioning
astreus --version prints the CLI version and the SHA-256 of the OpenAPI contract it was
built against. The build verifies that the bundled contract matches its source. A server
deployment and an npm publication are separate operations; the same API version label
does not prove that they contain the same endpoints. Compare the contract hash and use
the connected MCP server’s tools/list.
Every data operation from the contract
The operation explorer reaches every endpoint in the contract, including those without a dedicated formatting command:This page describes CLI 0.6.0. Check
astreus --version and npm view astreus-cli version;
if npm still serves an earlier release, some commands and flags here are not in it yet.api list or the tool reference.
Supply path parameters with repeated --path name=value, filters with repeated
--query name=value, and calculation bodies with --body '{...}' or
--body @request.json. Missing, unknown and invalid parameters fail before
fetching. api describe includes the body schema. Binary/media endpoints require
--output filename; text can be returned in a single JSON document with --json.
Data reads keep their normal authorization, publication gates and quotas.
For an array filter, repeat its query flag, for example
--query company=XDFM000002 --query company=0001045810 on the bond screener.
Every operation in the contract also has a formatted command or flag, except media a
browser plays (call audio and video), page-layout helpers (sparklines, tab presence) and
routes under licence review; those stay reachable here. The news
stream uses astreus news --follow; the browser-only recording-state POST is excluded
from data calls.