Stocks tool

PublicView as Markdown

stocks_search_expected_reports

Companies estimated to file a periodic report in the next few days.

Description

Companies estimated to file a periodic report in the next few days.

The earnings-cycle poll: "who reports soon?" across every ingested SEC filer, ordered soonest-first. Use stocks_get_expected_report for one named company, and stocks_get_recent_filings for what has actually been filed already.

These are estimates, not a schedule of announced dates. Companies announce their real reporting dates in press releases and IR calendars, which this platform does not ingest. Every row is derived purely from that company's own SEC filing history and says so: basis is always "derived-from-filing-cadence" and basis_lag is always "median". Confirm against the company's own announcement before relying on a date.

Each row carries the filer identity (ticker — null for a filer with no active symbol — cik, company_name) plus the same estimate stocks_get_expected_report returns: expected_period_end, expected_filing_window {earliest, latest}, cadence (quarterly/annual, read off the company's own form mix), median_lag_days with the observed min_lag_days/max_lag_days, observations, and the last_filed filing the estimate is anchored on.

A company is on the page when its estimated window overlaps [today, today + days_ahead] at all — an estimate is a range, so "reports this week" means "the range overlaps this week". data.window_start/data.window_end echo the window applied. Companies with fewer than 2 periodic filings on record cannot be estimated and are absent; so are filers that appear to have stopped filing (over 400 days since the last periodic filing for a quarterly filer, 730 for an annual one) — ask stocks_get_expected_report about one of those by name and it will still answer, flagged stale: true.

Results are bounded and paged: default 20 rows over a 7-day window, maximum 100 rows over a 30-day window. Ordering is (window earliest, cik) ascending — unusually for this API, forwards, because the soonest report is the interesting one. Pass pagination.next_cursor back as cursor for the next page, holding days_ahead fixed.

meta.source is "sec-edgar-submissions" (public-domain SEC filing metadata); meta.as_of is the freshest filing-row ingest on the page.

Errors carry a machine code: bad_parameter for an out-of-range days_ahead/limit or a malformed cursor.

Example: stocks_search_expected_reports(days_ahead=7, limit=20).

Parameters

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

NameTypeRequiredDefaultConstraintsDescription
days_aheadintegerNo7min 1, max 30How far ahead to look, in days from today (1-30); default 7. A company is included when its estimated filing window overlaps [today, today + days_ahead] at all.
limitintegerNo20min 1, max 100Companies per page (1-100); default 20. Out-of-range values are rejected.
cursorstring | nullNonullOpaque token from a previous response's `pagination.next_cursor`; omit for the first (soonest) page.

Provenance

Sources behind every value this tool returns.

Dataset registry: stocks_filings