[ 01 ]
Self-describing payloads
Every value carries its unit, currency, period, as_of date, and source. The agent never guesses whether a figure is in thousands or millions, or how stale it is.
MCP-first structured data
Authoritative sources, normalized into one self-describing schema and delivered MCP-first — so an agent can resolve an entity, pull the numbers, and cite the source without stitching together five vendors.
One response from stocks_get_income_statements
{ "data": { "ticker": "AAPL", "cik": 320193, "company_name": "Apple Inc.", "period_type": "annual", "statements": [ { "fiscal_year": 2024, "fiscal_period": "FY", "period_type": "annual", "period_start": "2023-10-01", "period_end": "2024-09-28", "lines": { "revenue": { "value": "391035000000.000000", : "USD", : "USD", : "2024-11-01T00:00:00Z", : "0000320193-24-000123" } } } ] }, "meta": { : "sec_edgar_companyfacts", : "2024-11-01T00:00:00Z" }, "pagination": { "limit": 4, "has_more": true, "next_cursor": "eyJ2IjoxLCJrIjpbLi4uXX0" }}Every value carries its unit, currency, as_of date, and source. Results are bounded and paginated by default.
The problem
An API built for a dashboard assumes a human is reading the docs, holding the context, and eyeballing the units. An agent has none of that. It needs the payload to describe itself, the output to fit its context window, and the tools to be discoverable without a manual.
[ 01 ]
Every value carries its unit, currency, period, as_of date, and source. The agent never guesses whether a figure is in thousands or millions, or how stale it is.
[ 02 ]
Results are paginated and capped to fit a context window. Ask for too much and the tool returns the limit — instead of silently dumping, or silently truncating.
[ 03 ]
A namespaced, self-documenting tool surface an agent can navigate from the descriptions alone. No out-of-band documentation to make the first correct call.
Most data vendors bolt an MCP wrapper onto an API they built for humans. We built the inverse: a schema and tool surface designed for agent consumption first, with REST underneath — not the other way around.
The moat
Raw filings are inconsistent across companies, periods, and accounting taxonomies. The hard, valuable work is turning them into one canonical schema you can compare across entities and reconcile against the source. That normalization — tested against a hand-verified golden set — is the product. The MCP and REST surfaces are thin, identical layers over it.
Available today
[ 01 ]
Normalized income statements, balance sheets, and cash-flow statements for U.S. public companies, plus SEC filing metadata and company / ticker / CIK resolution. Sourced from SEC EDGAR.
[ 02 ]
Treasury yield curves, federal debt, and interest rates are live today, straight from the U.S. Treasury. Inflation and employment (BLS) and GDP and PCE (BEA) are next onto the same surface.
This is an internal MVP today. Public access is a later, license-gated phase.
Roadmap
Real estate is the next category — market-level data by geography first, with commercial real estate for institutional clients as the destination. After that, any category that fits the pattern: authoritative sources, normalization as the product, one consistent surface. Each new category is a new set of tools on the same platform — not a new product to integrate.
Stage 1
Stocks
Live — stock fundamentals and Treasury macro.
Stage 2
Real estate
Planned — market data first, CRE the goal.
Stage 3
The platform
Vision — the default data layer for agents.
We’re onboarding a small group of early-access partners while public access is finalized. Tell us your use case and the categories you need.