XOOMAR

Free 8-K Events API

SEC 8-K current reports as clean JSON, with item numbers mapped to readable event labels. Filter by ticker or item type. Updated through the day; filings appear within the hour of SEC acceptance.

Endpoints

GET
/api/markets/events?ticker=&item=&days=

Recent 8-K filings, newest first, up to 200 rows. Filter by ticker, item number (e.g. 5.02), and lookback days (max 90).

GET
/api/markets/events/csv

Full dataset as CSV, up to 50,000 rows.

Rate Limit

10 requests a minute without a key, 30 with a free key

CORS

Open (*)

Auth

Optional X-API-Key header

Examples

curl

curl "https://xoomar.com/api/markets/events?item=5.02&days=7"

Python

import requests

# Officer departures in the last week
r = requests.get("https://xoomar.com/api/markets/events",
                 params={"item": "5.02", "days": 7})
for e in r.json()["data"][:10]:
    print(e["filedAt"], e["ticker"], e["company"], e["eventLabels"])

Item number reference

The items most feeds watch:

  • 1.03 Bankruptcy · 1.05 Cybersecurity incident
  • 2.01 M&A completed · 4.02 Non-reliance (restatement)
  • 5.01 Change in control · 5.02 Officer or director change
  • 2.02 Results (routine) · 7.01/8.01/9.01 Disclosure, other, exhibits (routine)

Response shape

Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs, license, attribution, meta }. In meta, source names who publishes the data and sourceAttribution is the credit line to show with it. The data field is an array of records with these fields:

FieldTypeDescription
accessionNostringEDGAR accession number, unique per filing
tickerstring | nullThe filer's ticker; null when it has none
companystringCompany name from the EDGAR index
itemsstring[] | null8-K item numbers (2.02, 5.02...)
eventLabelsstring[] | nullReadable labels for each item
filedAtstring (datetime)SEC acceptance timestamp
docUrlstringLink to the filing index on sec.gov

Filers without a listed ticker carry a null ticker; the company name is always there, and the CSV also has the CIK.

Numeric fields typed string in the table carry exact decimals; parse them with your language's decimal type. No key needed to start: 10 requests a minute per IP without a key and 30 a minute with a free account key, with at least six months of history. A 429 response carries a Retry-After header in seconds. Credit XOOMAR with a link to the dataset page when you republish the data; the data terms are on the terms page.

A free account key raises the limit; send it in an X-API-Key header.

Frequently Asked Questions

How current is the feed?
Filings appear within the hour of SEC acceptance, timestamped.
How do I watch one event type?
Pass the item parameter, e.g. item=4.02 for restatement warnings or item=5.02 for officer changes.
Why is ticker sometimes null?
Filers without a listed ticker carry a null ticker; the company name is always there.
Is there history?
Filings from 5 June 2026 onward. Use days up to 90 on the JSON endpoint or pull everything via /csv.

Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.