<!-- Agent Datasets docs · stocks_get_company_facts · canonical: https://www.agentdatasets.com/docs/tools/stocks_get_company_facts · rendered from https://www.agentdatasets.com -->

# stocks_get_company_facts

Identity + dataset-coverage profile for one US public company.

| Field | Value |
| --- | --- |
| Category | Stocks (`stocks`) |
| Exposure | mixed |
| MCP tool | `stocks_get_company_facts` |
| Documentation | https://www.agentdatasets.com/docs/tools/stocks_get_company_facts |

## Public-key response

Provider-licensed price coverage is omitted for public keys (reported unavailable); omitted sources are disclosed via meta.restricted_omitted.

## Description

Identity + dataset-coverage profile for one US public company.

The result is the shared envelope (`pagination` null — a single
profile). `data` holds the company identity (`cik`, `name`, `exchange`,
`sector`, `sic_code`, `sic_description`), its `tickers` (each with
`symbol`, `active`, and validity dates — delisted/renamed symbols
included so you can recognise a historical ticker), `fiscal_year_end`
(`MM-DD` of the latest annual period, or null), `latest_filing_date`,
and a `coverage` summary. `meta` carries `source` and the profile's
`as_of`.

`sic_code`/`sic_description` are the SEC's own classification from the
filer's EDGAR submissions record; `sector` is a coarse bucket derived
from it and is the same vocabulary `stocks_screen` filters on. All three
are null for a company we have not classified yet — absence means
unknown, not "unclassifiable".

`coverage` has one entry per dataset — `financials`, `prices`,
`filings` — each `{available, since, through}`. Read it before asking
for data: if `coverage.prices.available` is false we hold no prices for
this company, and `since`/`through` bound the range you can actually
request. This prevents asking for data we do not have. On the public
surface, provider-licensed price coverage is omitted (reported
unavailable) and the excluded sources are listed in
`meta.restricted_omitted`.

A well-formed ticker we hold no mapping for returns `unknown_entity`,
with `Did you mean: …?` suggestions when a close match exists; a string
that is neither a ticker nor a CIK returns `bad_parameter` (use
`stocks_search_tickers` for names).

## Parameters

Input schema advertised to MCP clients and mirrored by the REST query string.

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| ticker_or_cik | input | `string` | yes | — | — | An exact ticker ('AAPL', 'BRK.B') or a numeric SEC CIK ('320193', zero-padded accepted). For a company *name*, call stocks_search_tickers first — this tool does not fuzzy-match. |

## Provenance

- `sec-edgar-submissions` — U.S. Securities and Exchange Commission (EDGAR), Filing metadata only — form type, filing date, period of report, accession number, item codes — plus links to source documents on sec.gov; this connector never fetches or stores document contents (section extraction is `sec-edgar-archives`) (U.S. Government work, public domain (17 U.S.C. § 105)). See https://www.agentdatasets.com/docs/attribution.md
- `sec_company_tickers` — U.S. Securities and Exchange Commission (EDGAR), Company-ticker-CIK mapping with listing exchange (`company_tickers.json`, `company_tickers_exchange.json`) (U.S. Government work, public domain (17 U.S.C. § 105)). See https://www.agentdatasets.com/docs/attribution.md
- `sec_edgar_companyfacts` — U.S. Securities and Exchange Commission (EDGAR), XBRL company-facts financial-statement data (per-company API and the nightly bulk companyfacts.zip) (U.S. Government work, public domain (17 U.S.C. § 105)). See https://www.agentdatasets.com/docs/attribution.md
- `tiingo` — provider-licensed source; not served to public keys

Dataset registry: `stocks_daily_prices`, `stocks_filings`, `stocks_fundamentals`, `stocks_ticker_directory`.
