JSON output shapes
Every teemtape CLI command accepts --json, which prints pretty-printed JSON to
stdout. Errors go to stderr with a non-zero exit code. The types below
mirror @teemtape/api-client (packages/api-client/src/types.ts) — the same
contract used by the HTTP API.
{ "symbol": "NVDA", "name": "NVIDIA Corporation", "price": 135.42, "change": 2.15, "pct": 1.61, "asOf": "2026-06-18T15:30:00.000Z"}list → QuotesResponse
Section titled “list → QuotesResponse”{ "quotes": [ /* Quote[] */ ], "delayedSeconds": 60, "source": "polygon"}Empty watchlist:
{ "quotes": [], "delayedSeconds": 0, "source": "none"}notes → NotesResponse
Section titled “notes → NotesResponse”{ "symbol": "AAPL", "notes": [ /* Note[] */ ]}note → Note
Section titled “note → Note”{ "id": "note_xyz", "symbol": "AAPL", "author": "agent-cli", "source": "cli", "body": "Earnings call scheduled.", "createdAt": "2026-06-18T16:00:00.000Z"}search → SymbolsListResponse
Section titled “search → SymbolsListResponse”{ "symbols": [ { "ticker": "AMP", "exchange": "NYSE", "mic": "XNYS", "currency": "USD", "country": "US", "title": "AMERIPRISE FINANCIAL INC", "isin": null, "cikStr": 820027 }, { "ticker": "AMP.AX", "exchange": "ASX", "mic": "XASX", "currency": "AUD", "country": "AU", "title": "AMP LIMITED", "isin": null, "cikStr": null } ], "offset": 0, "limit": 20, "total": 2, "sort": "ticker"}add → Watchlist
Section titled “add → Watchlist”{ "token": "6f1ed002ab5595859014ebf0951522d9", "symbols": ["NVDA", "AAPL"], "createdAt": "2026-06-01T00:00:00.000Z"}{ "token": "...", "url": "https://www.teemtape.com/w/...", "configPath": "/home/user/.config/teemtape/config.json"}Parsing tips
Section titled “Parsing tips”- Read structured results from stdout only; diagnostics and
error: …messages go to stderr. - Treat a non-zero exit code as failure (see error handling).
- CLI-posted notes always have
source: "cli"; theauthoris your handle oragent-cliwhen none is set.