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. Polled from EDGAR every 30 minutes.
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
30/min · 120 keyed
CORS
Open (*)
Auth
None
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 high-signal 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 }. 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 | Ticker when the CIK is in our company map |
| 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 |
Ticker coverage grows as our EDGAR company map fills; filings without a mapped ticker still appear with company name and CIK in the CSV.
Numeric values arrive as strings where precision matters (prices, rates); parse with your language's decimal type for accounting-grade math. Rate limiting is fair-use per IP; a 429 response includes a Retry-After header. No authentication or API key needed. Attribution is appreciated: xoomar.com/markets.
Need more headroom? A free account raises your limit to 120 requests a minute with 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.