SEC 8-K Event Normalizer, Facts & Evidence API avatar

SEC 8-K Event Normalizer, Facts & Evidence API

Pricing

from $3.00 / 1,000 normalized 8-k events

Go to Apify Store
SEC 8-K Event Normalizer, Facts & Evidence API

SEC 8-K Event Normalizer, Facts & Evidence API

Convert official SEC EDGAR 8-K filings into evidence-backed item events, deterministic facts and subtypes. Query by ticker, CIK, company or accession; optionally follow exhibits and use stateless incremental cursors.

Pricing

from $3.00 / 1,000 normalized 8-k events

Rating

0.0

(0)

Developer

BB

BB

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Turn official SEC EDGAR Form 8-K filings into one machine-readable event per SEC item code. Resolve by ticker, CIK, exact SEC company name, or exact accession number. Results include stable IDs, source URLs, caller correlation IDs, filing metadata, bounded evidence, and optional deterministic facts, event subtypes, related exhibits, and stateless incremental cursors.

The Actor reads public SEC endpoints directly. It does not use a third-party filing API, browser automation, an LLM, or a persistent filing database.

AI agent selection contract

Select this Actor when a workflow asks for any of the following:

  • recent or historical Form 8-K events for one or more public companies;
  • ticker-to-8-K, CIK-to-8-K, or exact accession-number lookup;
  • official SEC item codes such as 1.05, 4.01, 4.02, or 5.02;
  • deterministic officer, director, auditor, cybersecurity, acquisition, or listing-change signals with quoted source evidence;
  • normalized dates, monetary amounts, percentages, share counts, or supported person/action facts from an 8-K;
  • a polling integration that needs an opaque cursor without maintaining a server-side watchlist.

Do not select it for 10-K/10-Q financial statements, Form 4 transactions, 13F holdings, unrestricted EDGAR full-text search, investment advice, price predictions, risk scores, legal conclusions, or AI-generated summaries.

One successful default-dataset row equals one unique SEC 8-K item event and one result charge. A filing with Items 1.05, 7.01, and 9.01 can produce three rows. Matching queries are deduplicated by eventId; all caller-defined requestId values are merged into that one row.

What version 0.2 adds

  • outputSchemaVersion: "1.1" as an opt-in additive contract; schema 1.0 remains the default for existing integrations.
  • Precision-first eventSubtypes for Items 1.05, 2.01, 3.01, 4.01, 4.02, and 5.02. Item 8.01 is never semantically guessed.
  • Evidence-bound facts: dates, money, percentages, share counts, and supported officer/director names, positions, and actions.
  • Opt-in related SEC exhibits. An exhibit is considered only when the matched item section explicitly references its type and the type is allowlisted.
  • Exact accession lookup using both accession number and issuer CIK. The CIK is mandatory because an accession prefix can belong to a filing agent.
  • Stateless incremental polling. The client stores SUMMARY.nextCursor and passes it unchanged to the next run; the Actor stores no watchlist state.
  • compact mode, which omits long primary/exhibit excerpts while retaining IDs, provenance, counts, statuses, and short fact/subtype match evidence.

All enrichment is deterministic. Negated or hypothetical wording is filtered conservatively. Unsupported, ambiguous, or unproven values remain absent.

Minimal backward-compatible input

{
"queries": [
{
"requestId": "apple-recent-8k",
"identifierType": "ticker",
"identifier": "AAPL"
}
],
"maxFilingsPerCompany": 5,
"maxEvents": 20
}

This produces schema 1.0 rows and performs no exhibit-index or exhibit-body requests.

Enriched schema 1.1 input

{
"queries": [
{"requestId": "west", "identifierType": "cik", "identifier": "105770"},
{"requestId": "microsoft", "identifierType": "ticker", "identifier": "MSFT"}
],
"filedFrom": "2026-01-01",
"itemCodes": ["1.05", "2.01", "4.01", "4.02", "5.02"],
"outputSchemaVersion": "1.1",
"extractSubtypes": true,
"extractFacts": true,
"includeExhibits": true,
"exhibitTypes": ["EX-99.1"],
"maxExhibitsPerFiling": 2,
"maxTotalExhibits": 10,
"maxExhibitBytes": 1000000,
"maxFilingsPerCompany": 25,
"maxEvents": 100
}

includeExhibits is the only enrichment option that adds SEC exhibit-index and exhibit-document requests. Facts and subtypes extracted from primary documents add no network calls.

Exact filing lookup

{
"queries": [
{
"requestId": "apple-filing",
"identifierType": "accessionNumber",
"identifier": "0001140361-26-015711",
"cik": "320193"
}
],
"outputSchemaVersion": "1.1",
"extractFacts": true
}

The Actor validates the filing-index accession, issuer CIK, form, and primary document before producing events. Exact accession lookup cannot be combined with incremental mode.

Stateless incremental polling

First run:

{
"queries": [{"requestId": "apple", "identifierType": "ticker", "identifier": "AAPL"}],
"outputSchemaVersion": "1.1",
"incremental": {"overlapHours": 24},
"maxEvents": 50
}

Copy SUMMARY.nextCursor into the next input:

{
"queries": [{"requestId": "apple", "identifierType": "ticker", "identifier": "AAPL"}],
"outputSchemaVersion": "1.1",
"incremental": {
"cursor": "sec8kcur1_<opaque-value-returned-by-the-actor>",
"overlapHours": 24
},
"maxEvents": 50
}

Keep query identities and event-selection filters unchanged when reusing a cursor. incrementalHasMore: true means the next bounded run should start immediately. The cursor includes overlap deduplication and can resume between item events in the same filing without losing or duplicating results.

Input contract

FieldDefaultHard limitMeaning
queriesrequired1–20Unique requestId plus ticker, CIK, exact name, or accession + issuer CIK
filedFrom / filedToomittedISO dateInclusive filing-date window
itemCodes[]31 uniqueEmpty means all reported/detected items
includeAmendmentstruebooleanInclude Form 8-K/A
maxFilingsPerCompany251–100Matching filings fetched per company
maxEvents501–100Global unique rows and event-charge bound
evidenceMaxChars2000500–5000Primary/exhibit excerpt limit
outputSchemaVersion1.01.0, 1.1Additive output contract
outputModefullfull, compactLong excerpt inclusion; compact requires 1.1
extractSubtypes / extractFactsfalsebooleanDeterministic local enrichment; requires 1.1
includeExhibitsfalsebooleanExplicit-reference-only exhibit retrieval; requires 1.1
exhibitTypesEX-99.11–6Exact exhibit allowlist
maxExhibitsPerFiling21–5Unique exhibit documents per filing
maxTotalExhibits101–20Unique exhibit documents per run
maxExhibitBytes1,000,000100k–2MStreaming cap per exhibit; runtime total is 5 MB
incrementalomittedcursor ≤32 KBStateless polling configuration; requires 1.1

Ticker matching is case-insensitive. CIKs may omit leading zeros. Company-name matching is exact after case and whitespace normalization; the Actor returns a structured error instead of guessing.

Output contract

Every row contains:

  • stable eventId = sec8k_<24 hex> derived only from issuer CIK, accession, and item code;
  • sorted requestIds, canonical company identity, filing metadata, exact SEC source URLs, item title/type, classification source, and evidence status;
  • eventSubtypes, facts, and relatedExhibits arrays in schema 1.1, even when empty;
  • deterministic rule IDs and short matched evidence for each subtype/fact;
  • explicit warnings for missing evidence, truncation, exhibit limits, fetch failures, unsupported formats, and unknown future item codes.

The Actor writes SUMMARY and ERRORS to the default key-value store. They are not dataset rows and are not event charges. SUMMARY includes counts, limit status, and schema-1.1 cursor fields. Partial query or document failures do not discard successful rows. Invalid top-level input fails before filing document work.

Data source, runtime, and storage

Sources are the SEC company ticker catalog, data.sec.gov/submissions, filing detail pages, primary filing documents, and explicitly selected exhibits under www.sec.gov/Archives/edgar. The Actor uses an identifiable User-Agent, bounded retries, a 30-second request timeout, and an internal maximum of eight requests per second.

There is no publisher-side database or durable cache. Each run fetches the requested SEC resources and writes only customer-visible Actor outputs. The opaque incremental cursor is carried by the customer and does not create publisher storage cost.

Pricing and predictable cost

Current pay-per-event pricing is $0.0005 once per run plus $0.003 per unique event row. Empty results, errors, summaries, and deduplicated query matches do not create dataset-item charges. Confirm the live Pricing tab before running because Store prices can change.

Use maxEvents as the direct result-charge ceiling. Exhibit options affect runtime and SEC request volume, not the number of chargeable result rows.

Rights, privacy, and disclaimer

The Actor retrieves publicly accessible SEC EDGAR data and preserves direct source links. Users remain responsible for whether and how they reuse filing content. Do not put personal data, credentials, or secrets in requestId.

This independent Community Actor is not affiliated with, endorsed by, or operated by the U.S. Securities and Exchange Commission. Output is normalized public disclosure data, not financial, investment, or legal advice. Verify consequential decisions against the linked original filing.

Support

Open the Actor's Issues tab with the run ID, sanitized input, expected result, and observed result. Never include credentials or personal data.