Skip to main content
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

Node 22.12 or later. No native modules. 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

Illustrative terminal layout; query the API for current figures and retain the returned filing reference and period.
And the filing behind one cell:

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 NVDA streams the latest call; astreus transcript NVDA 31919 looks the date up from the index.
  • Paging in one flag. Long text (filing, section, event) prints one window and names the next --offset on stderr; --all reads every window. Lists print the next --offset (or --before for news).

Machine use: --json, exit codes, streams

  • --json prints the API response verbatim as a single JSON document on stdout — nothing else is written to stdout, so astreus --json financials NVDA | jq always parses.
  • stdout is data; stderr is everything else (progress, warnings, errors). Text endpoints (transcript, section, event, filing) stream plain text so they pipe into less, grep or a file.
  • Exit codes are stable (astreus help exit-codes):
  • On a 429 with Retry-After of ten seconds or less, astreus waits and retries once (--no-retry disables 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 me shows the plan, limits and live usage for the calling key; astreus llms prints llms.txt so an agent can read its own manual.
Agents: run astreus llms --skill once, then work in --json mode and branch on exit codes. Every figure you relay should carry the accession from astreus fact-source.

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:
stdout carries the protocol, so run it from an MCP client, not by hand. See the MCP page for the tool list and other clients.

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.
Copy an operation ID from 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.