Bulk Datasets: full SEC data history as gzipped JSON Lines
Download whole SEC datasets by month as gzipped JSON Lines: filing index, insider transactions, 13F holdings, 8-K events and XML forms.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/bulk"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/bulk",
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
)
print(r.json())Overview
Paging through an API is the wrong tool for loading ten years of data. Bulk Datasets give you one gzipped JSON Lines archive per dataset and month, ready for a data warehouse, DuckDB, Spark or pandas.
Datasets cover the filing index (filter by form type), insider transactions, 13F holdings, 8-K events and every structured XML family: Form 144, 13D/13G, Form D, Form C, Reg A, N-PORT, N-CEN, N-PX and X-17A-5. Archives are built from the SecFeed database and cached, so the same month downloads fast the second time.
What you get
Built for developers who would rather not parse EDGAR.
Gzipped JSON Lines, one record per line, easy to stream and load.
/v1/bulk lists every dataset and the months available.
Bulk rows have the same fields as the per-record endpoints.
The filing index dataset accepts formType to export one form only.
Endpoints
Authenticate with Authorization: Bearer YOUR_KEY. Responses are JSON.
Catalog of bulk datasets and months.
A dataset month as gzipped JSON Lines.
Parameters: dataset, month, formType
Use cases
- Backfill a data warehouse with years of insider trades
- Load 13F holdings into DuckDB or BigQuery for research
- Train models on 8-K events history
- Keep an offline copy of the filing index
Datasets behind this API
The SEC forms this API reads, with live filing counts.
Every Form 4 statement of changes in beneficial ownership since 2003, parsed into transactions with insider, role, code, shares and price.
13F-HRPortfolio holdingsEvery Form 13F-HR quarterly holdings report from institutional managers with $100M or more: positions by CUSIP, value, shares and voting authority.
8-KCurrent reportsEvery Form 8-K current report since 1993, classified by item: earnings, acquisitions, auditor changes, executive departures, cyber incidents and more.
Form DReg D privateEvery Form D notice of an exempt Regulation D offering, with issuer, industry, amount raised, investors and exemptions parsed into JSON.
N-PORTPortfolio holdingsForm N-PORT portfolio holdings of mutual funds, ETFs and closed-end funds since 2019: every position with CUSIP, value, weight and asset class.
Tutorials
FAQ
What format are bulk files in?
Gzipped JSON Lines (.jsonl.gz): one JSON object per line.
Which datasets are available?
Filing index, insider-transactions, 13f-holdings, 8-k-events and the XML families form-144, form-13d-13g, form-d, form-c, reg-a, n-port, n-cen, n-px and x-17a-5.
Try the Bulk Datasets free
500 API calls a month on the free plan. No sales call.