Plan: Fund · Credits: 1 per call; the families vocabulary is free
What You Can Use Structured 8-K Events For
Get deal, debt and issuance terms as fields instead of parsing filing prose. Screen across companies — every CEO departure this week, every bankruptcy this month — which no per-company endpoint can do. Pull the detail behind a headline: the news event feed broadcasts one line per 8-K event and its rows carry the sameevent_id, so a feed row and its terms join on the accession number.
For the filing’s own prose, use 8-K Exhibits. For Item 2.02 earnings numbers, use Reported Earnings Figures — results are deliberately not in this dataset.
The Fourteen 8-K Event Families
officer_director_change, debt_obligation, unregistered_equity_sale, asset_transaction_completed, merger_announcement, auditor_change, listing_deficiency, charter_amendment, exit_or_disposal_plan, material_impairment, earnings_restatement, bankruptcy, obligation_acceleration, cybersecurity_incident.
Set list_families to true — it is free — to get the families, their fields, and the observed values of each. Then filter with family plus attr_key and attr_value, for example family=officer_director_change, attr_key=role_group, attr_value=ceo. A guessed value returns an empty page rather than an error.
Structured 8-K Event Latency
Measured on 2026-08-13: the median is 12 minutes from SEC acceptance to extraction, and 94% of filings are extracted within 30 minutes. That is recent enough to act on but not instant. A filing accepted in the last few minutes may not have its rows yet, and an empty result for one is that gap rather than an absence of events.Two 8-K Dates That Are Not Interchangeable
announced_at is the SEC acceptance instant — when the market learned. Windows and ordering on this endpoint run on announced_at, and announced_gte and announced_lte filter it.
occurred_on is the event’s own date. It is earlier than announced_at on 59% of rows, by a median of 3 days, 46 days at the 99th percentile, and years in the tail — an 8-K/A amending an old restructuring plan, for instance.
Use occurred_on only to date the event itself, never to order or window a feed.
How to Read Attribute Values
attrs values are strings exactly as the filing printed them — $700 million, SOFR plus 1.75%. They are never converted and never summed. Do not do arithmetic on them without parsing them deliberately.
How to Read the Quote and Verification Fields
quote is the filing sentence the row came from. quote_check grades it: verbatim, stitched (assembled from two or three real passages), short (found in the filing word for word but too short to carry the row’s facts — a three-word name, a table total), or unverified. Only unverified is a warning.
numbers_unverified lists any number the filing text does not contain — almost always a value the extraction derived, such as a total it summed or a scale it applied from a table header. derived_fields names the fields holding them. Treat those fields as computed, not read.
gate of item means the company filed under that item code, which is the statutory case. Any other value is a content probe that found the event described under a different code — lower certainty, kept distinguishable on purpose. Set verified_only for the strictest cut.
Counting 8-K Events Correctly
Structured 8-K Events Sources
Rows are extracted from the 8-K filings themselves on SEC EDGAR. Every row keeps the filing sentence it came from, and the verification fields above say exactly how far each value can be trusted.Query Structured 8-K Events
Use the 8-K events endpoint. Omittingcompany searches the whole market, which is this dataset’s distinguishing mode.
string
A
company_id, ticker, CIK or ISIN. Omit to screen across all companies.boolean
Return the family, field and value vocabulary instead of events. Free — call it first.
string
Event family, for example
officer_director_change.string
8-K item code, for example
5.02. The same events under an alternative key.string
One filing, for example
0001437749-26-024904. This is the join key from a news-feed row.string
Attribute field to filter on, for example
role_group. Requires attr_value.string
item for statutory disclosure only, probe for content-probe rows only. Both by default.boolean
Only rows whose quote is verbatim and whose numbers all matched the filing.
string
Earliest acceptance instant,
YYYY-MM-DD or 2026-08-12T21:30:00Z. announced_lte sets the ceiling.integer
default:"100"
Rows per page, between 1 and 1000. Page through with
cursor.