Verify Fact Lineage
verify_fact_lineageUse this tool when the user asks BOTH what a financial figure is AND which filing reported it — e.g. "What was Apple's most recently reported revenue, and which 10-Q filed it?" or "Show me the accession ID for Tesla's latest net income." Returns a single fact plus its complete filing provenance: entity, concept, period, value, accession ID, filing URL, and form type (10-K, 10-Q, etc.).
Use this INSTEAD OF search_companies when the user already names a company and wants a financial figure with its source filing — search_companies only resolves identifiers and returns no financial data. Use this INSTEAD OF get_company_fundamentals when the user explicitly wants the filing/form type or the accession ID — get_company_fundamentals returns metrics across periods but omits filing provenance.
Two lookup modes: (1) by fact_id (deterministic SHA-256 identity) or (2) by concept name plus a ticker (most recently reported fact). Optionally pin a point-in-time cutoff via as_of_date (YYYY-MM-DD) — returns the latest filing accepted by SEC on or before that date (no look-ahead); check _meta.pit_safe.
DURATION: a single 10-K tags BOTH a 12-month figure and a 3-month Q4 stub at the same period_end; on a tie this returns the longer (headline) window, and every result carries period_type and period_span_days so a 3-month stub is never mistaken for the annual figure.
Provide either fact_id or concept (required). Returns FACT_NOT_FOUND if no matching fact exists. Available on all plans.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol, e.g. AAPL, MSFT, BRK.B | |
| concept | No | Standard concept to look up the most recently known fact for (see the enum for the full fundamentals + capital-allocation set). Use this when you don't have a fact_id. Provide either concept OR fact_id. | |
| fact_id | No | Deterministic fact identity hash: SHA-256(entity_id|accession_id|concept|period_end|unit). 64-char lowercase hex. Use this when you already have the hash from a previous query. Provide either fact_id OR concept (not both required, but at least one must be set). | |
| as_of_date | No | Point-in-time cutoff (YYYY-MM-DD) used with `concept` — returns the latest fact whose 10-K/10-Q was accepted by SEC on or before this date (true PIT, no lookahead; any calendar date works). Canonical name across the suite; supersedes the legacy `period_end`. | |
| period_end | No | [DEPRECATED — pass `as_of_date` instead.] Filing-acceptance cutoff (YYYY-MM-DD) used with `concept`; despite the name it filters on filing accepted_at, not the returned fact's period_end. Kept one release for back-compat. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| lineage | No | Full provenance: fact_id, concept, value, unit, period_end, source accession, SEC EDGAR URL, form_type, accepted_at, plus duration context — period_start, period_span_days, and period_type (instant | quarterly | half_year | nine_month | annual | duration) so a 3-month stub is never mistaken for the 12-month figure. | |
| verified | Yes | True when the fact was located and its provenance resolved | |
| lookup_by | Yes | How the fact was located: 'fact_id' or 'concept' |