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. Polled from EDGAR every 30 minutes.

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

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:

FieldTypeDescription
accessionNostringEDGAR accession number, unique per filing
tickerstring | nullTicker when the CIK is in our company map
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

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?
We poll the EDGAR daily index every 30 minutes. 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?
EDGAR indexes list CIK, not ticker. We map CIKs to tickers from our company table, which covers active filers and grows daily.
Is there history?
The feed builds forward from launch in 2026. 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.