SEC EDGAR Full-Text Search — Search All Filings by Keyword avatar

SEC EDGAR Full-Text Search — Search All Filings by Keyword

Pricing

Pay per usage

Go to Apify Store
SEC EDGAR Full-Text Search — Search All Filings by Keyword

SEC EDGAR Full-Text Search — Search All Filings by Keyword

Search the full text of every SEC EDGAR filing by keyword. Find 10-K, 10-Q, 8-K and all other filings mentioning any term — company, product, risk factor, or person — with filing dates and direct document URLs. Official SEC full-text search API. No API key.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

parker odam

parker odam

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

SEC Full Text Search API — Search SEC Filings by Keyword

Search all SEC EDGAR filings by keyword using the official EDGAR full-text search API (EFTS). Find any company that mentions a specific term, phrase, or topic in their 10-K, 10-Q, 8-K, proxy statements, or any other SEC filing.

What It Does

This actor calls the SEC EDGAR full text search endpoint (efts.sec.gov) which indexes the full text of every document ever filed with the SEC. Unlike the EDGAR company search (which only searches by company name), this actor lets you search SEC filings by keyword — the actual content of the documents.

Use cases:

  • Investment research: Find all 10-K filings that disclose exposure to a specific risk (e.g., "climate risk", "supply chain disruption", "PFAS")
  • Competitive intelligence: Search which competitors mention your company by name in their filings
  • Due diligence: Find all filings discussing a specific contract, litigation, or regulatory issue
  • Legal research: Locate filings referencing specific legal cases, settlements, or regulations
  • Academic research: Track how disclosure language evolves over time for any topic
  • ESG screening: Find companies with specific environmental, social, or governance disclosures

Input

ParameterTypeRequiredDescription
querystringYesFull-text search query. Use quotes for phrases: "climate risk". Supports AND, OR, NOT.
formsstring[]NoFilter by form type: ["10-K"], ["10-K", "10-Q"]. Leave empty for all forms.
startDatestringNoOnly filings on or after this date (YYYY-MM-DD).
endDatestringNoOnly filings on or before this date (YYYY-MM-DD).
ciksstring[]NoFilter by specific CIK numbers (SEC company identifiers).
maxResultsintegerNoMaximum results to return (default: 100, max: 10000).
userAgentstringNoYour app name + contact email (required by SEC policy).

Example input:

{
"query": "artificial intelligence",
"forms": ["10-K"],
"startDate": "2023-01-01",
"maxResults": 50,
"userAgent": "my-research-tool/1.0 researcher@example.com"
}

Output

Each result is a FilingHit object:

FieldTypeDescription
querystringThe search query that produced this hit
companystringFiler company / entity name
cikstringSEC Central Index Key (10-digit, zero-padded)
formTypestringSpecific document type (e.g., "10-K", "EX-99.1")
rootFormTypestring?Parent filing type (e.g., "10-K" for an exhibit)
filingDatestringDate filed (ISO YYYY-MM-DD)
periodEndingstring?Reporting period end date (ISO YYYY-MM-DD)
accessionNumberstringUnique SEC accession number (e.g., "0001018724-26-000004")
documentUrlstringDirect URL to the matched document on sec.gov
fileDescriptionstring?Human-readable document description

Example output record:

{
"query": "artificial intelligence",
"company": "AMAZON COM INC",
"cik": "0001018724",
"formType": "10-K",
"rootFormType": "10-K",
"filingDate": "2026-02-06",
"periodEnding": "2025-12-31",
"accessionNumber": "0001018724-26-000004",
"documentUrl": "https://www.sec.gov/Archives/edgar/data/1018724/000101872426000004/amzn-20251231.htm",
"fileDescription": "10-K"
}

SEC User-Agent Requirement

The SEC requires all programmatic access to include a descriptive User-Agent header with a contact email. Without it, requests may be rejected with HTTP 403. Set the userAgent input to something like:

my-company-tool/1.0 developer@mycompany.com

See: SEC Webmaster FAQ for Developers

Rate Limits

The SEC allows up to 10 requests per second. This actor stays well within that limit using a 120ms minimum interval between requests.

Notes

  • The EFTS API can return 10,000+ results for broad queries. Use maxResults to cap the output.
  • Results are ordered by relevance score (BM25), not by date. Use startDate/endDate to narrow by time.
  • formType reflects the specific document within a filing (e.g., "EX-99.1"), while rootFormType reflects the parent filing type (e.g., "10-K"). Filter by forms input to restrict to a specific root form type.
  • documentUrl points directly to the matched HTML/text document. Some older filings may return 404 if the document was later amended.