get_material_events
Returns Form 8-K filings — the SEC's 'current report' form, filed within 4 business days of any material event at a publicly-traded company. Each record is one filing, with item_codes declaring WHAT kind of event(s) it covers. Use this when the user asks about: recent CEO/CFO departures or appointments, M&A announcements, earnings releases, big contract wins, restructurings, going-concern warnings, exec compensation changes, or any 'what just happened at this company' question. Item codes (most-used; many more exist): 1.01 Entry into a Material Definitive Agreement 1.02 Termination of a Material Definitive Agreement 2.01 Completion of Acquisition or Disposition of Assets 2.02 Results of Operations (earnings releases live here) 2.03 Creation of a Material Direct Financial Obligation 3.01 Notice of Delisting / Failure to Satisfy Listing Rule 3.02 Unregistered Sales of Equity Securities 4.01 Changes in Registrant's Certifying Accountant 5.02 Departure / Election / Appointment of Officers + Directors 5.07 Submission of Matters to a Vote of Security Holders 7.01 Regulation FD Disclosure 8.01 Other Events (catch-all) 9.01 Financial Statements and Exhibits — NOTE: nearly every 8-K ticks this 'paperwork box.' Searching JUST for 9.01 returns the firehose; combine it with another item_code to focus. item_codes filter is OR-semantic: pass an array, match any filing containing AT LEAST ONE of those codes. Capped at 30 codes per query (Firestore array-contains-any limit). Examples: ['5.02'] for exec changes; ['1.01','2.01'] for any deal activity (LOI or close); ['2.02'] for earnings. Amendments (8-K/A) get their own row with is_amendment: true. The original 8-K stays in place. v1 does NOT populate original_accession_number; agents can find candidates by matching (ticker, period_of_report) across rows. Filter is_amendment: false for clean original-only views. v1 does not extract the prose body — primary_document_url points agents at the source HTML for direct fetch. The structured items are what's queryable here.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_material_events"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum records to return. Default 50, max 500. | |
| since | No | ISO date (YYYY-MM-DD). Only records on or after this date, using sort_by as the date field. | |
| until | No | ISO date (YYYY-MM-DD). Only records on or before this date. | |
| ticker | No | Stock symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| sort_by | No | Field used for ordering and for since/until filters. filing_date = when filed with SEC; period_of_report = when the underlying event occurred. Default: filing_date. NOTE: a small number of 8-Ks (Reg-FD-only filings, item-7.01 disclosures) lack period_of_report at the SEC source — those rows fall back to filing_date ordering automatically, so sort_by='period_of_report' won't bury them. | |
| item_codes | No | Array of item codes to filter on (OR semantics). E.g., ['5.02'] for exec changes, ['1.01','2.01'] for any deal activity. Max 30 codes per query. | |
| sort_order | No | Default: desc (most recent first). | |
| company_cik | No | SEC CIK number (10-digit, padded with leading zeros). Alternative to ticker. | |
| is_amendment | No | Filter to only original 8-Ks (false) or only amendments / 8-K/A filings (true). Omit to include both. |