SEC EDGAR 8-K Material Events Scraper
Pricing
from $0.80 / 1,000 record scrapeds
SEC EDGAR 8-K Material Events Scraper
Turn every 8-K into a structured record: reported Item numbers with SEC's own labels, narrative text per Item, and full exhibit text (EX-99 press releases, EX-10/EX-2 agreements). Boolean flags for cyber incidents, restatements, bankruptcy and more. Full historical backfill, not a live feed.
Pricing
from $0.80 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Turn every SEC Form 8-K into a structured material-event record. Most 8-K feeds stop at the
filing metadata and a document URL — this actor opens the filing. You get the reported Item
numbers with SEC's own labels, the narrative text under each Item, and the full text of every
attached exhibit, including the EX-99 press release that carries the actual earnings numbers
and the EX-2/EX-10 agreements that carry the deal terms. Item-code-to-category mapping and
boolean flags for the Items that drive alerting (cyber incidents, restatements, bankruptcy,
delisting, auditor changes, officer departures) ship as first-class fields, so you can filter
on cyber_incident or restatement without maintaining your own Item lookup.
Coverage runs back to EDGAR's modern per-document filing system (~2001) via the quarterly master index, not just a live/recent feed.
What it does
- Fetches the quarterly master index of every filing for the requested year range and filters to Form 8-K and 8-K/A
- For each filing, fetches the EDGAR filing-index page for the authoritative Item list (code + SEC's own label), Period of Report, Accepted timestamp, filer SIC/state, and the list of attached documents
- Fetches the primary document and slices out the narrative text reported under each Item
- Fetches every exhibit (HTML, legacy
.txt, or PDF) and extracts its full text
Input
| Field | Type | Default | Description |
|---|---|---|---|
yearFrom | integer | current year | Start year of the filing range |
yearTo | integer | current year | End year (inclusive) |
cikList | string list | (blank = all) | Restrict to specific issuer CIKs (e.g. 0000320193 for Apple) |
eventCategories | multi-select | (blank = all) | Restrict to filings tagged with at least one of the listed event categories |
maxItems | integer | 10 | Maximum number of 8-K records to return |
eventCategories accepts one or more of: earnings, exec_change, m_and_a, bankruptcy,
delisting, auditor_change, material_agreement, impairment, cyber_incident,
restatement, debt, other.
Output schema
Each record represents one 8-K (or 8-K/A) filing.
| Field | Description |
|---|---|
accession_number | SEC EDGAR accession number |
cik | Issuer CIK, zero-padded to 10 digits |
company_name | Issuer name as filed |
ticker | Exchange ticker, when resolvable |
sic_code / sic_label | SEC industry code and label |
state_of_incorporation | Issuer's state or foreign jurisdiction of incorporation |
form_type | 8-K or 8-K/A |
filed_date | Date received by EDGAR |
period_of_report | Date of the reported event |
acceptance_datetime | EDGAR acceptance timestamp |
filing_index_url | URL to the EDGAR filing-index page |
primary_document_url | URL to the primary 8-K document |
item_codes / item_labels | Reported Item numbers and SEC's own labels, in matching order |
event_category | One or more category tags derived from item_codes |
item_body_text | Narrative text sliced from the primary document, per reported Item |
exhibits | [{ exhibit_type, description, url, text, byte_size, parse_status }] |
press_release_text | Extracted text of the first EX-99.x exhibit, when present |
is_amendment | true when form_type is 8-K/A |
amends_accession | Best-effort accession number of the original 8-K this amendment supersedes (blank when unresolvable — never guessed) |
has_financial_statements | true when Item 9.01 was reported |
cyber_incident_flag | Item 1.05 — SEC's cyber-disclosure rule |
auditor_change_flag | Item 4.01 |
restatement_flag | Item 4.02 |
bankruptcy_flag | Item 1.03 |
delisting_flag | Item 3.01 |
officer_departure_flag | Item 5.02 |
Notes
- Coverage: roughly 40,000 8-K/8-K-A filings per year across all reporting issuers. The quarterly master index (form.idx) is a single flat file per quarter — there is no per-issuer or per-category partitioning to work around, so a year range covers everything filed in it.
- Exhibit text: HTML and legacy
.txtexhibits return full text. PDF exhibits are extracted locally for born-digital PDFs; a scanned/image-only PDF returnsrather than a fabricated body.parse_status: "pdf_no_extractable_text" - Rate compliance: the actor stays comfortably under SEC EDGAR's published fair-access request-rate ceiling and sends the required declared identification header on every request — without it, EDGAR returns 403 on every path.
- Historical boundary: item/exhibit extraction depends on EDGAR's per-document filing-index page, a feature of the modern (~2001+) filing system. Pre-2001 accessions enumerated from the master index but lacking a filing-index page are skipped rather than parsed from the legacy compound submission format.
- Amendment linkage (
amends_accession) is best-effort: EDGAR carries no formal "amends" pointer on an 8-K/A, so the actor looks up the issuer's recent filing history and takes the most recent prior 8-K filed before the amendment. Left blank when unresolvable.
Use cases
- Event-driven funds: Screen for M&A, restatements, or debt triggers the moment they're filed
- Third-party risk / vendor monitoring: Alert on Item 1.05 material cybersecurity incidents across a vendor or portfolio company list
- M&A trackers: Pull the full text of merger agreements and press releases, not just the filing metadata
- Financial newsrooms: Get the earnings press release text (EX-99.x) as soon as it's filed
- Compliance teams: Track auditor changes, delistings, and bankruptcy disclosures across a watchlist of issuers