pickuma.
Finance

The SEC EDGAR API: Free Fundamental Data for Developers

Before you pay for a fundamentals API, know that the SEC gives away structured financial-statement data through EDGAR. Here's what the API offers, its quirks, and how to actually use it.

O
Owen
Engineer · Investor
Verify profile ↗
7 min read

There’s a reflex among developers building finance tools to immediately shop for a fundamentals API and start paying a monthly fee. Sometimes that’s right. But for US-listed companies, the most authoritative source of fundamental data is free and comes straight from the regulator: the SEC’s EDGAR system, which exposes a public JSON API over the same data every filing is built from. This is a practical guide to what it offers and where it’ll trip you up. None of this is investment advice.

What EDGAR actually gives you

EDGAR is the SEC’s electronic filing system, and in recent years the SEC has put clean JSON endpoints in front of it. The two you’ll use most return a company’s submission history (every filing, with type and date) and its XBRL “company facts” — the structured financial data points pulled from filings, like revenue, net income, assets, and shares outstanding, with their reporting periods.

Because this data is sourced from the filings themselves, it’s authoritative in a way that aggregated third-party feeds aren’t. When a vendor’s number disagrees with EDGAR, EDGAR is the reference. For valuation models, screeners, and any tool where being wrong about reported financials is unacceptable, that matters.

The quirks you’ll hit

EDGAR is free and authoritative, but it was built for regulatory disclosure, not for quants, and it shows.

XBRL tags are inconsistent across companies. The same economic concept can be reported under different tags, and companies use custom extension tags. “Revenue” might appear as Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, or a company-specific variant. You can’t assume one tag works everywhere — you’ll write fallback logic that checks several tags per concept.

It’s company-by-company. There’s no single endpoint that returns “every company’s revenue for Q3.” You query one CIK at a time and assemble universes yourself, which means caching and batch jobs if you want broad coverage.

You must send a User-Agent header. The SEC requires requests to identify you (typically a contact email) and enforces a fair-access rate limit. Hammer it without a proper header and you’ll get blocked. This catches everyone once.

A sane way to use it

The pattern that works: download and cache the ticker-to-CIK map once, then for each company you care about, pull its company-facts JSON and extract the concepts you need with a tag-fallback dictionary. Store the results in your own database keyed by CIK, concept, and period. Refresh on a schedule that matches filing cadence — quarterly and annual reports don’t change daily.

Treat EDGAR as your source of truth for reported fundamentals and layer faster, more convenient APIs on top only where you need coverage EDGAR doesn’t provide easily — like real-time prices, which EDGAR doesn’t do at all. EDGAR is for what companies reported, not for what they’re trading at right now.

For a developer building a stock screener, a valuation dashboard, or a research notebook on US issuers, starting with EDGAR means your foundational data is free, authoritative, and never gated behind a vendor’s pricing change. The cost is the engineering to tame XBRL. For a lot of projects, that’s a trade worth making.

FAQ

Is the EDGAR API really free?+
Yes. It's public-domain data provided by the SEC at no charge, subject to fair-access rate limits and a required identifying User-Agent header. There's no API key and no paid tier.
Does it cover non-US companies?+
It covers issuers that file with the SEC, which includes many foreign companies with US listings (via forms like 20-F), but it is not a global fundamentals source. For broad international coverage you'll need a commercial provider.
Why not just use a paid fundamentals API?+
Convenience and breadth. Paid APIs normalize the messy XBRL tags for you and often cover more markets. EDGAR's advantage is that it's free and authoritative — many builders use EDGAR as the reference and a paid API for convenience, reconciling the two.

Before your next finance project signs up for a fundamentals subscription, spend an afternoon with EDGAR. For US companies, the regulator already gives away the most trustworthy version of the data — you just have to do a little work to read it.

Related reading

See all Finance articles →

Get the best tools, weekly

One email every Friday. No spam, unsubscribe anytime.

O
Owen
Engineer · Investor
Verify profile ↗