Skip to main content
Every product route is a GET under /v2 at https://api.stockcontext.com, authenticated with your sctx_ key in the X-API-Key header.
curl "https://api.stockcontext.com/v2/snapshot?symbol=AAPL" \
  -H "X-API-Key: $STOCKCONTEXT_API_KEY"

Routes

The access column lists the plans that can call each route. See plans and limits for the rate limits and quotas behind those names.
RouteAccessUse
GET /v2/searchFree, Starter, BuilderSymbol discovery from a name or query.
GET /v2/coverageFree, Starter, BuilderSupported-universe and asset-type check.
GET /v2/snapshotFree, Starter, BuilderOne-shot market and fundamental context.
GET /v2/valuationFree, Starter, BuilderValuation and multiples context.
GET /v2/priced-inStarter, BuilderReverse-DCF: the FCF growth the price implies.
GET /v2/profileStarter, BuilderCompany profile and ETF fund facts/holdings where collected.
GET /v2/fundamentalsStarter, BuilderIncome, balance sheet, and cash flow rows.
GET /v2/factsStarter, BuilderCurated SEC fact grid with provenance and PIT queries.
GET /v2/earningsStarter, BuilderEarnings history and context.
GET /v2/dividendsStarter, BuilderDividend and payout history.
GET /v2/technicalsStarter, BuilderTechnical indicators.
GET /v2/price-actionStarter, BuilderRecent price action and range context.
GET /v2/historyStarter, BuilderSelected historical series.
GET /v2/compareStarter, Builder2–12 symbol scorecard.
GET /v2/calendarStarter, BuilderPer-symbol upcoming events.
GET /v2/filingsStarter, BuilderRecent SEC filings.
GET /v2/filings/{accession}Starter, BuilderFiling metadata and section index.
GET /v2/filings/{accession}/section/{name}Starter, BuilderFull section text.
GET /v2/filings/{accession}/diffStarter, BuilderSection-level filing diff against the prior comparable filing.
GET /v2/insiderStarter, BuilderTrailing 90-day Form 4 activity and Form 144 notices.
GET /v2/eventsStarter, BuilderSEC-derived event labels and filing events.

Response shape

Success is { "data": ... }; failure is { "error": { "code", "message", "retryable" } }. The public analyst core exposes 21 routes across the core symbol-varying families plus route-specific filing subresources. Private-beta REST endpoints can remain callable for enabled integrations, but they are not part of the default public route table. Every success payload — and every unsupported payload — carries freshness, as_of, market_status, and cache_age_seconds (int; 0 when freshly computed). freshness is one of intraday, end_of_day, stale, degraded, or unsupported. An unsupported response is a full envelope, not an error, and you parse it the same way.

Query conventions

  • Symbols are US tickers up to 8 characters; dot share classes such as BRK.B normalize to BRK-B.
  • Multi-value params are comma-separated: symbols=AAPL,MSFT, form=10-K,10-Q.
  • GET /v2/compare takes 2–12 distinct symbols.
  • GET /v2/filings accepts up to 4 forms from 10-K, 10-Q, 8-K, 4, UPLOAD, and CORRESP.
  • GET /v2/history takes up to 3 series, all on a single cadence.
  • Timestamps are UTC ISO-8601 unless a field documents otherwise.
  • Currency fields suffix _usd; percent fields suffix _pct and are percentages, not decimals.

Response examples

The JSON in every endpoint page is a real production payload captured against the live API, trimmed where noted. The error codes page lists each code, its HTTP status, and whether it is retryable.

Playground

Generated endpoint pages include a live playground for manual GET /v2/* calls. Paste your key into the masked X-API-Key field; keys you enter are sent directly to the API for that request and are never stored. Avoid the playground on shared machines.

OpenAPI

These endpoint pages are generated from the FastAPI OpenAPI spec in openapi.json.
If a generated schema and a prose guide disagree, trust the OpenAPI schema and the live API, and file a docs bug so the prose can be corrected.