Full-Text Search API: search the text of every SEC filing since 2001
Search every word of every EDGAR filing and exhibit since 2001. Exact phrases, form type, CIK and date filters, results as JSON.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/full-text-search?query=%22going%20concern%22&formTypes=10-K&startDate=2026-01-01"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/full-text-search",
params={'query': '"going concern"', 'formTypes': '10-K', 'startDate': '2026-01-01'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
)
print(r.json())Overview
Some questions are not answered by metadata. Which companies mention "going concern" in their 10-K this year? Who disclosed a "material weakness"? Which 8-K exhibits name a specific supplier? The Full-Text Search API looks inside the documents themselves: the main filing and every exhibit, back to 2001.
Results come back in the same filing shape as the rest of SecFeed, with accession number, CIK, ticker, form type, filing date, period of report and direct links to the matching document and the filing index, 100 hits per page.
What you get
Built for developers who would rather not parse EDGAR.
Main filings and exhibits: 10-K, 10-Q, 8-K, S-1, proxies, press releases and contracts.
Put words in quotes to match the phrase exactly, such as "material weakness" or "substantial doubt".
formTypes, ciks, startDate and endDate narrow a search to what you care about.
filingUrl points at the document that matched, filingDetailsUrl at the filing index.
Endpoints
Authenticate with Authorization: Bearer YOUR_KEY. Responses are JSON.
Search the full text of every filing and exhibit since 2001. Exact phrases in quotes.
Parameters: query, formTypes, ciks, startDate, endDate, page
Response fields
The main fields in every result. The raw filing data is always one level down.
| Field | Meaning |
|---|---|
accessionNo, cik, ticker | The matching filing and its filer. |
companyNameLong | Company name with ticker and CIK as EDGAR displays it. |
formType, fileType, description | Form of the filing and type of the matching document (for example EX-99.1). |
filedAt, periodOfReport | Filing date and the period the filing covers. |
filingUrl, filingDetailsUrl | The matching document and the filing index page. |
Use cases
- Screen 10-Ks for going concern doubts or material weaknesses
- Find every filing that mentions a product, supplier or competitor
- Track new risk language such as tariffs or AI regulation across an industry
- Collect exhibits that contain a contract clause
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.
10-QQuarterly reportsEvery Form 10-Q quarterly report on EDGAR since 1993: unaudited financials, MD&A and risk factor updates, searchable and parsed 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.
Ex 99Press releases + Reg FDPress releases, investor presentations and Regulation FD materials attached to 8-K filings as Exhibit 99, searchable in full text.
Ex 10Material contractsMaterial contracts filed as Exhibit 10 to 8-K, 10-K and 10-Q reports: credit agreements, employment agreements, leases and supply deals.
FAQ
How far back does full-text search go?
To 2001, the start of the SEC's full-text archive. For older filings use the Filing Query API, which indexes metadata back to 1993.
Can I search for an exact phrase?
Yes. Wrap the phrase in double quotes, for example "going concern". Unquoted words are matched individually.
How many results come back per request?
100 hits per page. Use the page parameter to walk through larger result sets.
Try the Full-Text Search API free
500 API calls a month on the free plan. No sales call.