EDGAR Filing Query API: search every SEC filing since 1993
Search every SEC EDGAR filing since 1993 with Lucene-style queries over ticker, CIK, form type, filing date, company, SIC and 8-K items.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/filings?query=ticker:NVDA&size=2"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/filings",
params={'query': 'ticker:NVDA', 'size': '2'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
)
print(r.json())Overview
The Filing Query API is the index of EDGAR: every filing by every filer since 1993, with company, CIK, ticker, form type, filing date and links to the documents. Write one query instead of walking EDGAR's quarterly index files and per-company browse pages.
Queries use Lucene syntax, so you can combine fields with AND, OR and NOT, match lists of form types, and use date ranges. Results come back newest first by default, up to 200 per page, or as CSV.
What you get
Built for developers who would rather not parse EDGAR.
The full EDGAR master index, reloaded daily, plus the live feed for the current day.
ticker:AAPL AND formType:("10-K", "10-Q") AND filedAt:[2025-01-01 TO 2025-12-31].
cik, companyName, accessionNo, sic, state, periodOfReport and 8-K item numbers.
The same query as a CSV file for spreadsheets and notebooks.
Endpoints
Authenticate with Authorization: Bearer YOUR_KEY. Responses are JSON.
Search every EDGAR filing since 1993 with a Lucene-style query over ticker, cik, formType, filedAt, companyName, accessionNo, sic, state, items (8-K) and periodOfReport.
Parameters: query, from, size (max 200), sort=asc|desc
Response fields
The main fields in every result. The raw filing data is always one level down.
| Field | Meaning |
|---|---|
accessionNo | EDGAR accession number, the filing's unique id. |
cik, ticker, companyName | Who filed. |
formType, filedAt | Form type and filing date. |
linkToFilingDetails, linkToTxt | URLs of the filing index page and the full submission. |
Use cases
- List every 10-K and 10-Q for a watchlist
- Find all S-1 filings in a month to track the IPO pipeline
- Monitor a sector by SIC code
- Backfill a local filing database
Datasets behind this API
The SEC forms this API reads, with live filing counts.
Every Form 10-K annual report filed on EDGAR since 1993, searchable by company, date and text, with sections and XBRL financials as JSON.
8-KCurrent reportsEvery Form 8-K current report since 1993, classified by item: earnings, acquisitions, auditor changes, executive departures, cyber incidents and more.
Form 4Insider tradingEvery Form 4 statement of changes in beneficial ownership since 2003, parsed into transactions with insider, role, code, shares and price.
Tutorials
List every file in an SEC filing and download any document or exhibit, such as Exhibit 21 subsidiaries, with two API calls.
Fetch & downloadExport SEC filing search results to CSVTurn any EDGAR filing search into a CSV file for Excel, Google Sheets or pandas, using the /v1/filings/csv endpoint.
SetupLucene query syntax for SEC filing searchEvery field and operator the SecFeed filing search supports: ticker, cik, formType, filedAt ranges, sic, lists, AND, OR and NOT, with real results.
SetupSEC EDGAR API quickstart in PythonMake your first SecFeed API call from Python in five minutes: get a key, search EDGAR filings and read the JSON response.
ReferenceStream new SEC filings in real time with Server-Sent EventsReceive every new EDGAR filing seconds after it is published with a Server-Sent Events stream, filter by form type or CIK, or use webhooks.
FAQ
What query syntax does the API use?
Lucene: field:value pairs joined with AND, OR and NOT, quoted phrases, (a, b) value lists and [from TO to] ranges.
How many results can I get per request?
Up to 200 per page with from for paging. Use the bulk datasets for full history dumps.
Try the EDGAR Filing Query API free
500 API calls a month on the free plan. No sales call.