Verify Facts (batch)
verify_factsResolve MANY cited facts to their SEC filings in ONE call — the batch form of verify_fact_lineage. Use this whenever you are checking a LIST of figures rather than a single number: reviewing a report's citations, auditing a thesis's evidence, or confirming every figure in a draft before you sign it. A 30-figure report is one call here and 30 calls with verify_fact_lineage.
Use verify_fact_lineage INSTEAD when you have one figure, or when you do not have a fact_id and need the concept-name lookup (concept + as_of_date) — this tool resolves by fact_id only.
A MISS IS DATA, NOT A FAILURE: each item comes back found:true with its full lineage, or found:false with an error code and message. One unresolvable fact_id never costs you the other verdicts, so read every item — summary gives you requested / found / missing at a glance.
Duplicate (ticker, fact_id) pairs are collapsed before anything is read, so summary.requested counts UNIQUE pairs and may be lower than the number of entries you sent; results come back in first-seen order. Maximum 50 facts per call.
Never state a figure this tool returned found:false for, and never fabricate a lineage it did not return. Available on all plans; each fact is subject to the same tier reach as verify_fact_lineage.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| facts | Yes | The facts to verify, 1–50 of them. Group a report's whole citation list here rather than calling once per figure. Duplicate (ticker, fact_id) pairs are resolved once and returned once, in first-seen order. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| results | Yes | One entry per UNIQUE requested pair, in first-seen order. Check `found` before reading `lineage`. | |
| summary | Yes | Counts over `results`. Quote `missing` when reporting coverage — it is the number of figures you could NOT tie to a filing. |