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

# stocks_get_expected_report

Estimate when one company will next file a periodic report (10-K/10-Q/20-F).

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

## Description

Estimate when one company will next file a periodic report (10-K/10-Q/20-F).

Use this for "when does this company report next?" after resolving a
company, and `stocks_search_expected_reports` for "who reports in the
next week?" across the universe. Use `stocks_get_sec_filings` instead
for what a company has *already* filed.

**This is an estimate, not a schedule.** Companies announce their actual
reporting dates in press releases and IR calendars, which this platform
does not ingest — nothing here is a confirmed or announced date. The
estimate is derived purely from the company's own SEC filing history, and
every estimate says so: `data.estimate.basis` is always
`"derived-from-filing-cadence"` and `basis_lag` is always `"median"`.
Treat the result as a planning hint and confirm against the company's
investor-relations announcement before relying on a date.

How it is derived: the periodic forms are 10-K, 10-Q, and 20-F
(amendments excluded). `cadence` is read off the company's own recent
form mix — `quarterly` if it files 10-Qs, `annual` for an annual-only
filer such as a 20-F foreign private issuer — and `expected_period_end`
is one quarter (or one year) after the last `period_of_report`.
`expected_filing_window` is that period end plus the **median** lag from
period end to filed date over the company's own last 8 periodic filings,
widened to the observed `min_lag_days`/`max_lag_days` spread and clamped
to at least 3 and at most 30 days on each side. `observations` is how
many filings the statistics ran over, and `last_filed` is the filing the
whole estimate is anchored on (form, period, filed date, accession).

Two honest non-answers, both ordinary successes rather than errors:
`data.estimate` is null with a `data.reason` when the company has fewer
than 2 periodic filings on record (no cadence and no lag can be derived);
and a filer that appears to have stopped — over 400 days since its last
periodic filing for a quarterly filer, 730 for an annual one — still
gets the full derivation but with `estimate.stale: true` and a `reason`
saying so. Stale filers are excluded from
`stocks_search_expected_reports`.

`meta.source` is "sec-edgar-submissions" (public-domain SEC filing
metadata) and `meta.as_of` is when those filing rows were last ingested.
`pagination` is null — this is a single company's answer.

Errors carry a machine `code`: `unknown_entity` for a symbol or CIK we
hold no company for.

Example: `stocks_get_expected_report(ticker_or_cik="AAPL")`.

## 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 | — | — | The company: a ticker symbol (AAPL, BRK.B) or a CIK (320193 or 0000320193). |

## 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

Dataset registry: `stocks_filings`.
