Skip to main content
prom 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 Prometheus. The data catalog lists the command for every dataset.
1

Install

Node 18 or later. No native modules. npx prometheus-terminal … works without installing.
2

Log in

Create a key on prometheus.services/developers, then:
The prompt is hidden, the key is validated against the API before it is saved, and it is stored in ~/.config/prometheus/config.json (mode 0600). In CI or an agent, pipe it instead: echo "$KEY" | prom login --with-key, or just set PROMETHEUS_API_KEY.
3

Pull real data

And the filing behind one cell:

Seventeen things to try

prom --help lists every command; prom <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 (SAU-2280-2025FY-FS) work wherever an accession does. Country codes are ISO-2 (US, SA). See Coverage.

Two conveniences the raw API does not give you

  • Transcripts. The API requires both a transcript id and its date. prom transcript NVDA streams the latest call; prom transcript NVDA 31919 looks the date up from the index.
  • 8-K items. /events/{accession} needs an item code. prom event NVDA <accession> resolves it when the filing has one coded item, and tells you the choices when it has more.

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 prom --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 (prom help exit-codes):
  • On a 429 with Retry-After of ten seconds or less, prom 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.
  • prom me shows the plan, limits and live usage for the calling key; prom llms prints llms.txt so an agent can read its own manual.
Agents: run prom llms --skill once, then work in --json mode and branch on exit codes. Every figure you relay should carry the accession from prom fact-source.

MCP server

prom mcp serves the Prometheus MCP tool set over stdio — the same 18 read-only tools as the hosted https://www.prometheus.services/api/mcp endpoint, with 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

prom correlate and prom chart take series descriptors: The valid vocabularies come from prom 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.

Shell completion

Versioning

prom --version prints the CLI version and the SHA-256 of the OpenAPI contract it was built against. A release is only published when that hash matches the contract in the same repository, so the CLI never silently drifts from the API it ships with.