stocks tool

Public

stocks_search_events

One 8-K event category across the ingested filer universe, newest first.

Description

One 8-K event category across the ingested filer universe, newest first.

Use this to poll a kind of event market-wide — "who announced a leadership change in the last 90 days", "which filers reported an impairment this quarter" — optionally narrowed to a watchlist of tickers. Use stocks_get_company_events instead for one company's whole timeline.

The result is the shared envelope. data echoes the applied filters (category, canonicalized tickers, start, end) and holds the bounded events list; meta holds source ("sec-edgar-submissions") and as_of; pagination holds cursor paging state. Each row carries the event fields (event_date — the 8-K's date of earliest event, falling back to the filing date — filed_date, form_type, item_code, category, accession_number, and the filing's primary_document_url/index_url) plus the filer identity (ticker, which may be null when the filer has no active ticker mapping, cik, company_name).

item_code is always the as-reported SEC code (e.g. "5.02"); category is only the documented bucket it maps to, so a code this taxonomy does not know still arrives — in other, with its identity intact. Item 9.01 (exhibits) is suppressed unless it is a filing's only item.

Coverage: the 8-Ks already ingested for the covered filer universe, filed on or after 2004-08-23 (the SEC's revised Form 8-K item numbering). Amendments: 8-K/A filings are ordinary events flagged by form_type, with no cross-accession supersede resolution — two 8-Ks about one real-world happening remain two events.

Boundaries: Item 2.01 completions also appear as merger_acquisition rows on stocks_get_corporate_actions (same accessions); earnings dates are not served here; insider Forms 3/4/5 are not events in this feed (stocks_get_insider_trades owns them and is not served yet). Events carry sec.gov links, never document contents: fetch the filing yourself to read it.

Bounds: default 20, max 100 events per page, rejected (not clamped) out of range; at most 20 tickers. To page, pass pagination.next_cursor back as cursor. Errors carry a machine code: unknown_entity for a ticker we hold no mapping for, bad_parameter for an invalid category, an inverted date window, ticker-list bounds, or a malformed cursor.

Example: stocks_search_events(category="leadership_change", start="2026-05-01", limit=25).

Parameters

Input schema

NameTypeRequiredDefaultDescription
categorystringYesRequired event category — the cross-universe axis: 'results_announcement', 'ma_completion', 'material_agreement', 'leadership_change', 'non_reliance', 'auditor_change', 'bankruptcy', 'delisting_notice', 'impairment', 'restructuring', 'financial_obligation', 'change_in_control', 'reg_fd', or 'other'. Invalid values return bad_parameter listing the whole vocabulary.
tickersarray<string> | nullNonullOptional ticker symbols to bound the feed, up to 20 values, e.g. ['AAPL', 'MSFT']. Each symbol is resolved through the ingested ticker universe; omit for all companies.
startstring (date) | nullNonullEarliest event date to include, inclusive (ISO 'YYYY-MM-DD'). Bounds the 8-K's date of earliest event, not its filing date.
endstring (date) | nullNonullLatest event date to include, inclusive (ISO 'YYYY-MM-DD'). Bounds the event date, not the filing date.
limitintegerNo20Events to return, newest first (1-100).
cursorstring | nullNonullOpaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the newest event.

Provenance

Sources

Dataset registry: stocks_company_events