If you've ever tried to pull U.S. company filings straight from SEC EDGAR, you know the pain. The data is free and public — but using it in a real app is a different story.
Here's the problem, and a shortcut I built to get around it.
The problem with raw EDGAR
SEC's official API at data.sec.gov is great until you actually depend on it:
Rate limits. You're capped at 10 requests/second, and if you cross it your IP is blocked for ~10 minutes. That's fine for a script, brutal for a production feature.
Inconsistent shape. Every form type and endpoint returns a slightly different JSON structure. Parsing becomes a maintenance tax.
Missing metadata. You get a CIK and a raw SIC code — but no sector, no industry, no exchange, and no idea what an 8-K "item 2.02" actually means.
So you end up writing a crawler, a cache, a rate-limiter, a SIC→sector map, and an 8-K item lookup table… just to answer "what did Apple just file?"
The shortcut
I got tired of rebuilding that every project, so I packaged it into a small API that crawls, caches, and enriches EDGAR for you. It's served entirely from a cache (refreshed every 6 hours), so you never hit SEC's rate limits, and every response uses one consistent schema.
Four endpoints:
GET /companies/{ticker}— enriched company: CIK, exchange, sector, industry
GET /companies/{ticker}/filings— a company's filings, filter by form (8-K,10-K,10-Q…)
GET /filings/latest— latest 8-K feed, filter by sector
GET /funds/{cik}/13f/latest— parsed 13F institutional holdings
Quick example
Grab a free key from the
SOCIAL SHARE CARD GENERATOR