Skip to content

Stock data your agent can trust.

Fundamentals, prices, filings, insiders, ownership — one API built for agents. Fundamentals are SEC-verified, prices are licensed EOD, and unprovable values refuse instead of guessing.

agent · StockContext
connected · api.stockcontext.com

01 / What your agents can do

Build agents that cite their numbers.

Four real agent jobs. Every answer cited back to the filing it came from.

what did GOOGL actually earn last year?

stock_searchstock_financials

Revenue and net income come back exact, each citing its filing — your agent quotes the number and the source and link the source.

cited fundamentals· accession · concept · unit

what's this micro-cap's operating margin?

stock_financials

When the line isn't in the filing, the field refuses — reason and recovery included — instead of feeding your agent a made-up margin.

honest refusal· typed reason + recovery

is AAPL expensive right now?

stock_overview

The multiple ships with its price date and filing date attached. Your agent always knows what it's built on.

valuation context· price basis + two clocks

who actually owns NVDA?

stock_ownership

13F holdings come labeled as what they are — a tracked subset of institutional filers — so your agent never overstates who owns the float.

13F ownership· disclosed as a subset

02 / Tools & coverage

Data tools your agent can trust.

Tool surface: 10 data tools + stock_flag, a feedback endpoint (not a data tool, not exposed over MCP). POST JSON, one key. SEC-verified fundamentals, licensed EOD prices, filings, insider trades, and tracked ownership for US-listed companies.

8Agent toolsOne key, POST JSON over REST
CatalogCoverage sourceQuery stock_reference
ShapesFiler routingStatus is queryable
0Numbers we guessUnprovable values refuse instead
operating companiesbanksbroker-dealersREITsinsurersIFRS filersBDCs

From a plain operating company to a bank, REIT, insurer, or foreign IFRS filer, each served fundamental traces back to the company's own filing. Ask for a ticker we don't serve yet and the response says so, with a recovery hint — never a guessed number.

example · stock_financials · trimmed
POST /v1/tools/stock_financials
{ "symbol": "AAPL", "statements": ["income"], "periods": 1 }

{
  "subject": {
    "entity": { "cik": "0000320193", "name": "Apple Inc." },
    "security": { "security_id": "sec_0000320193_aapl", "ticker": "AAPL" }
  },
  "data": {
    "statement": "income_statement",
    "periods": [
      { "id": "FY2025", "start": "2024-09-29", "end": "2025-09-27" }
    ],
    "source": {
      "form": "10-K",
      "accession": "0000320193-25-000079",
      "filed": "2025-10-31"
    },
    "fields": {
      "revenue": ["416161000000"],
      "net_income": ["112010000000"],
      "eps_diluted": ["7.46"]
    }
  },
  "meta": {
    "schema_version": "2",
    "as_of": { "sec": "2026-06-26" },
    "last_verified_at": "2026-06-26T18:45:35.253886Z"
  }
}

Provenance on fundamentals

Your agent gets a number it can defend — extracted from the filing, checked against SEC, and cited — not a figure it has to take on faith.

Verified before it serves

Every fundamentals value is checked against SEC's own published data before it leaves the API. Nothing unverified ships.

Cited to the filing

Financial statement blocks carry the accession, filed date, and exact decimal-string values, so your agent can trace them to the source.

Refusals, not guesses

Anything we cannot prove comes back as { "unavailable": "...", "recovery": ... } - never a null, a zero, or an invented figure.

Fundamentals & valuation

Income statement, balance sheet, and cash flow from SEC filings, plus company profile and valuation with its price basis disclosed.

stock_financialsstock_overview

Prices & technicals

One tool for licensed EOD snapshots, daily history, technicals, price action, and dividends.

stock_prices

Filings & activity

SEC filings by form, Form 4 insider buys and sells, and 13F institutional holdings (always scoped as a tracked subset).

stock_filingsstock_insiderstock_ownership

Search & reference

Resolve tickers or company names, and look up catalogs like the refusal vocabulary your agent decodes.

stock_searchstock_reference

Fundamentals come from SEC filings; market data is licensed and EOD. Responses carry source or basis metadata. Hosted MCP is coming soon; the REST API is the product today.

Full reference

03 / Build vs. buy

Trust the number, or parse it yourself.

Same four facts, two ways to get them. One is four API calls with citations. The other is XBRL parsing, tag guessing, and no way to check.

StockContext APIverified answer

analyze AAPL — numbers I can cite

  • stock_searchresolved
  • stock_financialscited
  • stock_priceslicensed
  • stock_insiderverified

Cited + verified = an answer you can defend.

4 tool callscited + verifiedone key
raw path · SEC EDGARyour problem

analyze AAPL — numbers I can cite

  • GET companyfacts.jsonyou parse
  • pick the concept tagambiguous
  • GET Form 4 index + XMLhand-parse
  • join a price feedDIY
  • is the number right?on you

+ restatements · amended filings · unit scaling

Parse it yourself = guess, or refuse.

raw feeds + XBRLyou parse & verifystill might be wrong

Fundamentals cited and SEC-verified — instead of an XBRL parser, a tag-disambiguation problem, and no way to know if the number is right.

The raw path is real work: SEC's company-facts JSON runs thousands of tagged values per filer, XBRL concept tags vary by company and industry, and Form 4 activity is per-document XML. StockContext does that extraction and verification for you.

04 / Easy setup

Paste the prompt. Your agent wires the API itself.

Copy this prompt into Claude Code, Cursor, or any coding agent - it connects StockContext end to end.

Integrate StockContext into this project so you can pull SEC-verified fundamentals and licensed EOD price data from an agent.

Step 1: Read the canonical skill
Read https://stockcontext.com/SKILL.md and follow it. If you cannot access it,
continue with the instructions below.

Step 2: Understand the project
If this is an existing codebase, inspect the language, framework, package
manager, environment-variable conventions, and current market-data or finance
code. Ask what stock-market workflow StockContext should support unless I only
asked you to wire the API.

Step 3: Wire the API
Base URL: https://api.stockcontext.com
Header:   X-API-Key: $STOCKCONTEXT_API_KEY
Every tool is POST with a JSON body. Store the key in the project's normal
secret/env system. Do not commit it.

Tools:
POST /v1/tools/stock_search     { "q": "AAPL" }
POST /v1/tools/stock_financials { "symbol": "AAPL", "period_kind": "annual" }
POST /v1/tools/stock_overview   { "symbol": "AAPL" }
POST /v1/tools/stock_prices     { "symbol": "AAPL", "view": "quote" }
POST /v1/tools/stock_filings    { "symbol": "AAPL", "form": "10-K" }
POST /v1/tools/stock_insider    { "symbol": "AAPL" }
POST /v1/tools/stock_ownership  { "symbol": "AAPL" }
POST /v1/tools/stock_reference  { "catalog": "refusal_tokens" }

Step 4: Verify
Call stock_financials with { "symbol": "AAPL", "statements": ["income"] }. The
response includes data.periods plus data.fields arrays with exact decimal-string
cells, and meta.schema_version: "2".

Step 5: Usage rules
Headline values use { "v": "...", "d": "..." }; financial statement fields
align to data.periods. Anything unprovable is { "unavailable": "...",
"recovery": ... }.
Treat a refusal as a first-class answer — never invent the number. Preserve
meta.as_of.sec and meta.as_of.market clocks, currencies, and signs. Fetch
stock_reference { "catalog": "refusal_tokens" } once to interpret refusals.

Build production-ready stock market analyst agentsin minutes, not months.

Get a free key

05 / Pricing

Every tool on every plan. Pay for volume, not features.

Tool surface: 10 data tools + stock_flag, a feedback endpoint (not a data tool, not exposed over MCP). The only thing that changes between plans is how many calls you get and how fast.

Free

Every tool, to try

$0forever

100 calls / day · 30 / min

Resets daily (UTC)

  • Same data surface as paid plans
  • SEC-verified fundamentals, cited to the filing
  • Prices, technicals, filings, insider & 13F
  • No credit card to start

Starter

Recommended

Production workflows

$29per month

10,000 calls / month · 60 / min

Resets monthly

  • Everything in Free
  • 10,000 calls a month
  • 60 requests per minute
  • Cancel anytime

Builder

Agents with real users

$99per month

75,000 calls / month · 300 / min

Resets monthly

  • Everything in Starter
  • 75,000 calls a month
  • 300 requests per minute
  • Burst headroom for real user traffic

No overage charges: requests stop at plan limits. Need more than Builder? We'll figure out the right limit together.

FAQ

Before you grab a key.

What data do you cover?

Income statement, balance sheet, cash flow, valuation, licensed EOD prices, technicals, dividends, SEC filings, insider trades, and tracked 13F ownership for US-listed companies we cover. Coverage is queryable from the API and grows as filings are ingested.

How do I know the numbers are right?

Every fundamental number comes from the company's own SEC filing and is cross-checked against SEC's published data before it serves. Prices are licensed EOD data with their own basis and clock. If a value can't be proven, it isn't served.

What is a refusal?

An answer that says a value can't be proven — with a machine-readable reason and a recovery hint. Never a guess, a null, or a silent zero. Agents treat it like any other answer and move on.

Do you have an MCP server?

Coming soon — same key, same data. Today it's eight REST tools: POST JSON, one header, done.

How fresh is the data?

Fundamentals and prices carry their own clocks. Prices are end-of-day and refresh after the close; responses expose the timestamps and staleness signals your agent should quote.

What do the plans cost?

Free: 100 calls/day. Starter: $29/mo for 10,000 calls. Builder: $99/mo for 75,000. Every tool on every plan — you pay for volume, nothing else.

Can I cancel anytime?

Anytime, from the dashboard. Paid access runs to the end of the period. Free needs no card and never expires.

Ready to build

Get a free key. Build an agent that cites its numbers.

No card. 100 calls a day, every tool, fundamentals cited to filings. Upgrade when your agent outgrows it.