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
/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).
/api/markets/events/csvFull 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:
| Field | Type | Description |
|---|---|---|
| accessionNo | string | EDGAR accession number, unique per filing |
| ticker | string | null | The filer's ticker; null when it has none |
| company | string | Company name from the EDGAR index |
| items | string[] | null | 8-K item numbers (2.02, 5.02...) |
| eventLabels | string[] | null | Readable labels for each item |
| filedAt | string (datetime) | SEC acceptance timestamp |
| docUrl | string | Link 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?
How do I watch one event type?
Why is ticker sometimes null?
Is there history?
Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.