SEC EDGAR Filings
Access 10-K, 10-Q, 8-K filings with structured data extraction. Full-text search across millions of documents.
Four government APIs. Four formats. Four sets of quirks. One API key fixes all of it. EDGAR filings, FRED time series, BEA national accounts, and World Bank indicators — same JSON, same auth, same interface.
Public data, normalized from
Why financeapis.dev
One consistent, well-documented interface across EDGAR, FRED, BEA, and World Bank. Same JSON, same auth, every time.
Access 10-K, 10-Q, 8-K filings with structured data extraction. Full-text search across millions of documents.
GDP, inflation, employment, interest rates, and thousands of macroeconomic time series from the Federal Reserve.
Institutional holdings data with historical tracking. See what Berkshire, Bridgewater, and others are buying.
Unified response formats across all data sources. No more learning five different query syntaxes.
Plan-based limits with clear headers and automatic retry logic. Never get blocked by upstream providers.
Copy-paste code examples and an OpenAPI 3.0 spec you can paste into any code generator. Zero to first request in under a minute.
Quick Start
import requests
response = requests.get(
"https://api.financeapis.dev/v1/edgar/forms/13f/submissions/0001067983",
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()
filings = data["filings"]["recent"]
for i, form in enumerate(filings["form"]):
print(f"{filings['reportDate'][i]}: {form}")const response = await fetch(
"https://api.financeapis.dev/v1/edgar/forms/13f/submissions/0001067983",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const { filings } = await response.json();
filings.recent.form.forEach((form, i) =>
console.log(`${filings.recent.reportDate[i]}: ${form}`)
);package main
import ("encoding/json"; "net/http")
func main() {
req, _ := http.NewRequest("GET",
"https://api.financeapis.dev/v1/edgar/forms/13f/submissions/0001067983", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var data SubmissionsResponse
json.NewDecoder(resp.Body).Decode(&data)
}{
"cik": "0001067983",
"name": "BERKSHIRE HATHAWAY INC",
"filings": {
"recent": {
"form": ["13F-HR", "13F-HR", "13F-HR"],
"reportDate": ["2024-12-31", "2024-09-30", "2024-06-30"],
"filingDate": ["2025-02-14", "2024-11-14", "2024-08-14"],
"accessionNumber": ["0000950123-25-001841", "..."]
}
}
}Pricing
The free tier runs through the financeapis.dev MCP tools — no credit card. Pick Pro for direct REST access. Upgrade anytime.
Get your free API key and start making requests in under a minute.