REST API
Plain HTTP.
Clean JSON.
One endpoint per company. Same schema for every filer in SEC EDGAR. Authenticate with a single header — get structured financial data back. No XBRL to decode, no schema surprises, no per-filer quirks.
19,000+
companies
40+
ratios per filing
10-K/10-Q
annual + quarterly
Free
until Oct 2026
How it works
One request. Instant data.
Copy-paste example
curl https://www.secfinapi.com/v1/company/AAPL/financials \
-H "X-API-Key: YOUR_KEY"{
"ticker": "AAPL",
"period": "FY2024",
"filing_date": "2024-11-01",
"revenue": 391035000000,
"net_income": 93736000000,
"eps_diluted": 6.08,
"gross_margin": 0.462,
"operating_margin": 0.317,
"roe": 0.1643,
"dqs": 98,
...
}What you get
Every endpoint. One API key.
GET
/v1/company/{ticker}/financialsKey income + margin + ratio summary for the latest periodGET
/v1/company/{ticker}/income-statementFull income statement — multi-period, all line itemsGET
/v1/company/{ticker}/balance-sheetAssets, liabilities, equity — balance sheet reconciledGET
/v1/company/{ticker}/cash-flowOperating / investing / financing cash flowsGET
/v1/company/{ticker}/metrics40+ ratios: margins, liquidity, leverage, efficiency, growthGET
/v1/companiesList and filter all 19,000+ companies by name, sector, exchangeGET
/v1/screenScreener — filter by any metric with gt/lt/eq operatorsCSV export — append
?format=csv to any data endpoint for spreadsheet-ready output. Works in Excel, Google Sheets, or any tool that accepts CSV URLs.Under the hood
Standardized across all filers.
SEC EDGAR filings use different XBRL tags, reporting styles, and fiscal year conventions. We normalize everything: same field names, same units, same schema — whether you're querying Apple, a small biotech, or a regional bank.
Balance-sheet reconciled
Assets always equal liabilities + equity.
Split-adjusted
EPS and share counts adjusted for stock splits.
Point-in-time data
Each filing reflects what was known at filing date.
DQS score per filing
A 0–100 quality score flags outliers before you hit them.
Daily ingest
New 10-K/10-Q filings typically land within a day; full refresh weekly.
Works everywhere
Any HTTP client. Any language.
cURLPythonJavaScript / NodeGoRubyPHPRExcel (Power Query)Any HTTP client
The API is plain JSON over HTTPS with a single header for auth — no SDK required. We have code examples in the documentation for Python, JavaScript, and cURL. The Playground lets you explore any endpoint in the browser with your real key.
Start now
60 seconds to your first API call.
Email → verify → API key. Full access free until October 2026. No card, no auto-charge.