/v2/search to discover symbols and /v2/coverage to confirm what a symbol supports before you build a workflow on it.
The universe
The/v2/coverage support map reports eighteen data families: snapshot, profile, fundamentals, valuation, priced-in (reverse-DCF), earnings, dividends, technicals, price action, history, calendar, filings, insider, events, facts, plus the private-beta families ownership, governance, and segments. Each family carries public_visibility: public_core is safe for normal analyst-agent workflows, private_beta is callable only for explicitly enabled/private use, and internal_only is not part of the public product surface. The public MCP and docs surface exposes 21 core routes/tools.
- 4,446 US-domestic filers route-support the public SEC core. Store-backed SEC facts can still report
available_now: falseuntil the per-symbol store has been built. - 1,125 foreign private issuers (~20%) file 20-F / 40-F / 6-K instead of US-domestic forms. Domestic-form families such as filings, insider, and events return
unsupportedfor them with reasonsymbol_does_not_file_us_domestic_forms; SEC facts can still work where filings expose usable XBRL. - 57 ETFs carry market and dividend data but no issuer-level financials. Their non-applicable families return
unsupportedwith reasons likenot_applicable_for_etf.
coverage.start/coverage.end on /v2/history).
What /v2/coverage returns
Coverage is a per-symbol support map. Use available_now before calling a route. supported is kept for back-compat and means route-level support only.
For a US-domestic stock, route-level support is true. Store-backed SEC families also disclose whether the backing store is built:
GET /v2/coverage?symbol=AAPL (excerpt)
reason you can branch on:
GET /v2/coverage?symbol=SPY (excerpt)
support[family].public_visibility == "public_core" and support[family].available_now. A foreign-issuer stock looks like AAPL above except domestic-form families such as filings, insider, and events carry supported: false with reason symbol_does_not_file_us_domestic_forms.
Where the data ends
StockContext is focused on equity context, not a trading or market-intelligence platform, so an agent always knows exactly where the data ends and never guesses. None of these exist in v2, so do not imply them in UI copy, examples, or generated summaries:- options data
- L2 / order-book depth
- global equities (US listings only)
- analyst consensus and price targets
- earnings-call transcripts
- news
- order execution
- ETF AUM or expense ratios (top holdings are source-state dependent — see
/v2/profileholdingsand honor unavailable reasons) - sector or peer medians (each valuation multiple is ranked against the symbol’s own 3/5/10-year history only, never against peers or a fair-value target)
Cold EDGAR latency
The first read of a given filing pulls from EDGAR and can take up to ~20 seconds for a large 10-K; repeat reads return from cache in well under a second. Listing filings is fast either way: the cold cost is per accession, when metadata and sections are first fetched. Subsequent calls for that company are served from cache and return fast. Design for the cold hit: use a loading state or a background job for SEC-heavy work, control concurrency when you fan out across many filers, and cache successful responses. Retry only retryable errors; never retry anunsupported filings or insider result, because the answer will not change. See error codes for which statuses retry.