SEC EDGAR Full-Text Filing Search avatar

SEC EDGAR Full-Text Filing Search

Pricing

from $2.00 / 1,000 filing fetcheds

Go to Apify Store
SEC EDGAR Full-Text Filing Search

SEC EDGAR Full-Text Filing Search

Search SEC EDGAR filings by keyword, company name, or ticker symbol. Filter by form type (10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4) and date range. Returns structured filing data with direct document URLs. Free, no API key.

Pricing

from $2.00 / 1,000 filing fetcheds

Rating

0.0

(0)

Developer

ryan clinton

ryan clinton

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 hours ago

Last modified

Share

SEC EDGAR Filing Search

Search the full text of every SEC EDGAR filing ever submitted -- annual reports (10-K), quarterly reports (10-Q), current reports (8-K), registration statements (S-1), proxy statements (DEF 14A), insider trading disclosures (Form 4), beneficial ownership filings, and dozens more. This actor queries the SEC's official EDGAR Full-Text Search System (EFTS) and returns structured, deduplicated results with direct links to filing documents, the filing index page, and the EDGAR company viewer.

The SEC EDGAR database is the single authoritative source for public company disclosures in the United States. Every publicly traded company, foreign private issuer, mutual fund, and certain private entities are required to file regular reports with the SEC. This actor makes the full breadth of that data searchable and machine-readable -- without any API key, without any cost beyond Apify platform compute, and with full respect for the SEC's rate-limiting guidelines.

Whether you are conducting financial due diligence, academic research, competitive intelligence, legal discovery, or regulatory compliance monitoring, this actor gives you structured access to millions of filings dating back to 1993 in seconds.


  • No API key required -- the EDGAR EFTS is a free, public resource maintained by the U.S. Securities and Exchange Commission, with no registration or authentication needed
  • Full-text search across millions of filings -- search by keyword, company name, ticker symbol, CIK number, or any phrase that appears inside a filing document
  • Structured, machine-readable output -- every result includes parsed company metadata, direct document URLs, accession numbers, and relevance scores ready for downstream processing
  • Automatic deduplication -- a single filing can produce multiple document hits (main form plus exhibits), but this actor returns only one entry per accession number, keeping the highest-relevance match
  • Built-in rate limiting -- the actor enforces a 150ms delay between requests to stay well within the SEC's 10 requests/second guideline, so your searches never risk being throttled
  • Instant integration -- results export to JSON, CSV, or Excel and connect directly to Google Sheets, Slack, Zapier, Make, webhooks, and the Apify API

Key features

  • Full-text search across every SEC filing from 1993 to present, covering all U.S. public companies and foreign private issuers
  • 10 form type filters -- 10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4, SC 13D, SC 13G, 20-F, and 6-K -- or search all types at once
  • Custom date range filtering to narrow results to any time window (e.g., Q4 2024 only)
  • Company metadata extraction -- parses company name, stock ticker, and CIK from EDGAR display name format
  • Three direct URLs per result -- the filing document, the filing index page (with all exhibits), and the EDGAR browser viewer
  • Elasticsearch relevance scoring so you can rank or filter results by match quality
  • Accession number deduplication via an in-memory Set, ensuring each unique filing appears exactly once
  • Pagination support for up to 200 results per run with automatic page-through logic
  • Offset safety cap at 10,000 results per the EDGAR API limit, with a clear warning if reached
  • Minimal resource usage -- runs on 256 MB memory in 5-30 seconds with no browser or headless rendering

How to use

From the Apify Console

  1. Navigate to the SEC EDGAR Filing Search actor page on Apify
  2. Click Start to open the input form
  3. Enter a search query -- a company name, ticker symbol, keyword, or phrase
  4. Optionally select a filing type from the dropdown (e.g., 10-K for annual reports)
  5. Optionally set date range boundaries in YYYY-MM-DD format
  6. Adjust the maximum results (default 25, maximum 200)
  7. Click Start and wait 5-30 seconds for results
  8. View results in the Dataset tab, or download as JSON, CSV, or Excel

Using the Apify API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("rdxxMBwcbBbO8mHe7").call(run_input={
"query": "artificial intelligence",
"formType": "10-K",
"dateFrom": "2024-01-01",
"dateTo": "2024-12-31",
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['companyName']} ({item['ticker']}) -- {item['formType']} -- {item['filingDate']}")

Using the Apify API (JavaScript)

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("rdxxMBwcbBbO8mHe7").call({
query: "material weakness",
formType: "10-K",
dateFrom: "2023-01-01",
dateTo: "2024-12-31",
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} filings mentioning material weakness`);

Input parameters

ParameterTypeRequiredDefaultDescription
queryStringYes--Keyword, company name, ticker symbol, CIK, or phrase to search for in SEC filings
formTypeStringNoAll TypesFilter by SEC form type: 10-K, 10-Q, 8-K, S-1, DEF 14A, 4, SC 13D, SC 13G, 20-F, or 6-K
dateFromStringNo--Start date for the filing search range (YYYY-MM-DD format)
dateToStringNo--End date for the filing search range (YYYY-MM-DD format)
maxResultsIntegerNo25Maximum number of unique filings to return (1 to 200)

Example input

{
"query": "artificial intelligence",
"formType": "10-K",
"dateFrom": "2024-01-01",
"dateTo": "2024-12-31",
"maxResults": 50
}

Tips for effective queries

  • Use specific keywords for better results -- "revenue recognition restatement" is more targeted than "revenue"
  • Combine company and topic -- for example, "Tesla supply chain risk" finds Tesla filings mentioning supply chain risk
  • Search by CIK directly -- enter "0000789019" to find all filings from Microsoft
  • Narrow date ranges to reduce noise and speed up results for broad keywords
  • Leave form type on "All Types" when you want to cast a wide net across every filing category

Output

Each filing in the output dataset contains 14 structured fields:

{
"accessionNumber": "0001193125-24-065432",
"formType": "10-K",
"documentType": "10-K",
"filingDate": "2024-02-21",
"periodEnding": "2023-12-31",
"companyName": "MICROSOFT CORP",
"cik": "789019",
"ticker": "MSFT",
"description": "ANNUAL REPORT",
"fileUrl": "https://www.sec.gov/Archives/edgar/data/789019/000119312524065432/msft-20231231.htm",
"filingUrl": "https://www.sec.gov/Archives/edgar/data/789019/000119312524065432/0001193125-24-065432-index.htm",
"secUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&accession=0001193125-24-065432&type=&dateb=&owner=include&count=40",
"relevanceScore": 12.45,
"extractedAt": "2024-03-15T10:30:00.000Z"
}

Output field reference

FieldTypeDescription
accessionNumberStringUnique SEC accession number identifying the filing (format: XXXXXXXXXX-YY-ZZZZZZ)
formTypeStringRoot filing type (e.g., 10-K, 10-Q, 8-K)
documentTypeStringSpecific document type within the filing (may differ from formType for exhibits)
filingDateStringDate the filing was submitted to the SEC (YYYY-MM-DD)
periodEndingStringReporting period end date, if applicable (empty for some filing types)
companyNameStringName of the filing company as registered with the SEC
cikStringCentral Index Key -- the SEC's unique numeric identifier for each filer
tickerStringStock ticker symbol, if available (empty for private filers and certain funds)
descriptionStringFiling description from the EDGAR index (e.g., "ANNUAL REPORT")
fileUrlStringDirect URL to the filing document (HTML or text format)
filingUrlStringURL to the SEC filing index page listing all exhibits and attachments
secUrlStringURL to the EDGAR company browser viewer for this filing
relevanceScoreNumberElasticsearch relevance score from EDGAR (higher = closer match to query)
extractedAtStringISO 8601 timestamp of when the data was extracted

Use cases

  • Financial due diligence -- search for "going concern" or "material weakness" across 10-K filings to identify companies with elevated financial risk before investment decisions
  • Competitive intelligence -- monitor 8-K current reports from competitors for disclosures about acquisitions, executive departures, contract wins, or restructuring events
  • Regulatory compliance monitoring -- track mentions of specific regulatory frameworks, consent orders, or enforcement actions across proxy statements and beneficial ownership filings
  • Academic and market research -- query filings for emerging technology terms ("generative AI", "quantum computing"), ESG disclosures, or industry-specific metrics across thousands of companies
  • Insider trading analysis -- filter for Form 4 filings by keyword to identify insider buying and selling activity tied to specific events or disclosures
  • Legal discovery and litigation support -- locate specific contractual terms, risk factor disclosures, or related-party transactions mentioned in registration statements and annual reports
  • Journalism and investigations -- search for entity names, dollar amounts, or business relationships buried in public SEC filings that may not surface through standard news search
  • IPO and offering tracking -- filter for S-1 registration statements to monitor companies preparing for initial public offerings or secondary offerings
  • Beneficial ownership research -- search SC 13D and SC 13G filings to track activist investors, large institutional holders, and ownership changes at target companies
  • Cross-border compliance -- monitor 20-F and 6-K filings from foreign private issuers for disclosure of international operations, sanctions exposure, or geopolitical risk factors

API & integration

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("rdxxMBwcbBbO8mHe7").call(run_input={
"query": "cybersecurity incident",
"formType": "8-K",
"dateFrom": "2024-06-01",
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['companyName']} -- {item['filingDate']} -- {item['filingUrl']}")

JavaScript

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("rdxxMBwcbBbO8mHe7").call({
query: "data breach",
formType: "8-K",
maxResults: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.companyName, item.filingDate));

cURL

# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/rdxxMBwcbBbO8mHe7/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "stock buyback", "formType": "10-K", "maxResults": 25}'
# Fetch results from the dataset
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

Available integrations

  • Apify API -- retrieve results programmatically in JSON, CSV, XML, or Excel format
  • Webhooks -- trigger notifications or downstream workflows when a run completes
  • Google Sheets -- automatically push filing data to a spreadsheet after each run
  • Slack -- receive alerts when new filings match your search criteria
  • Zapier / Make (Integromat) -- connect to 3,000+ apps for custom automation workflows
  • Apify Schedules -- run searches daily, weekly, or monthly to monitor new filings
  • Python and JavaScript SDKs -- use the official Apify client libraries for programmatic access

How it works

The actor queries the SEC EDGAR Full-Text Search System (EFTS), an Elasticsearch-based index maintained by the SEC that covers every filing submitted since approximately 1993.

  1. Input validation -- the actor reads your search query, optional form type filter, date range, and max results parameter
  2. API query construction -- builds a parameterized request to https://efts.sec.gov/LATEST/search-index with the query string, form type, date range, and pagination offset
  3. Paginated fetching -- sends requests in pages of up to 50 results, with a 150ms delay between requests to respect the SEC's 10 requests/second rate limit
  4. Company metadata parsing -- extracts company name, ticker symbol, and CIK from the EDGAR display name format ("Company Name (TICKER) (CIK 0001234567)")
  5. Accession number deduplication -- tracks seen accession numbers in a Set, keeping only the highest-relevance hit per unique filing
  6. URL construction -- builds three direct URLs for each filing: the document file URL, the filing index page, and the EDGAR browser viewer
  7. Result output -- pushes all unique filings to the Apify dataset with 14 structured fields per record
+-------------------+
| User Input |
| query, formType, |
| dateRange, max |
+--------+----------+
|
v
+-------------------+
| EDGAR EFTS API |
| efts.sec.gov/ |
| LATEST/search- |
| index |
+--------+----------+
|
(paginated fetch,
150ms delay,
50 per page)
|
v
+-------------------+
| Parse & Dedupe |
| - Extract company |
| name, ticker, |
| CIK from |
| display_names |
| - Deduplicate by |
| accession # |
+--------+----------+
|
v
+-------------------+
| Build URLs |
| - fileUrl |
| - filingUrl |
| - secUrl |
+--------+----------+
|
v
+-------------------+
| Apify Dataset |
| JSON / CSV / XLS |
+-------------------+

Performance & cost

The actor runs on minimal resources because it queries the EDGAR API directly with no browser rendering or heavy computation.

ScenarioResultsApprox. TimeMemoryEst. Cost (USD)
Quick keyword search255-8 seconds256 MB~$0.001
Filtered form type search508-15 seconds256 MB~$0.002
Broad keyword, full date range10015-25 seconds256 MB~$0.003
Maximum results extraction20020-45 seconds256 MB~$0.005

The SEC EDGAR EFTS API itself is completely free -- no API key, no usage fees, no paid tiers. You only pay for Apify platform compute time, which is minimal at 256 MB memory allocation.


Limitations

  • Maximum 200 results per run -- the actor caps output at 200 unique filings to keep run times and costs low; for larger extractions, use multiple runs with date range partitioning
  • EDGAR offset cap of 10,000 -- the SEC search API limits pagination depth to 10,000 hits, so extremely broad queries may not reach all matching filings
  • Ticker not always available -- private companies, investment funds, and certain foreign issuers file with the SEC but have no stock ticker symbol
  • Full-text index coverage starts around 1993 -- filings submitted before the EDGAR system was established may have limited or no full-text search coverage
  • SEC rate limiting -- the actor enforces a 150ms delay between requests; if the SEC temporarily throttles traffic during high-volume periods, results may take slightly longer
  • No filing content extraction -- this actor returns metadata and links, not the full text of the filing documents themselves; use the SEC EDGAR Filing Analyzer actor for deep content extraction
  • Display name parsing is best-effort -- the ticker and company name are parsed from the EDGAR display name format, which may occasionally produce incomplete results for entities with non-standard naming

Responsible use

  • Respect SEC rate limits -- this actor enforces a 150ms request delay and includes a proper User-Agent header as required by the SEC; do not modify these settings or run excessive parallel instances
  • EDGAR data is public record -- all SEC filings are public documents, but use the data responsibly and in compliance with applicable securities laws and regulations
  • Do not use for market manipulation -- filing data should be used for legitimate research, analysis, and compliance purposes, not for insider trading or market manipulation schemes
  • Cite SEC EDGAR as your source -- when publishing or distributing data derived from EDGAR filings, attribute the source to the U.S. Securities and Exchange Commission EDGAR system
  • Be mindful of downstream use -- if feeding filing data into automated trading systems or AI models, ensure your use case complies with SEC regulations and your organization's compliance policies

FAQ

Do I need an API key to use this actor? No. The SEC EDGAR Full-Text Search System is a free public resource. No registration, API key, or authentication is required.

What filing types can I search? You can search all SEC filing types. The dropdown filter provides shortcuts for the 10 most common types (10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4, SC 13D, SC 13G, 20-F, 6-K), but leaving the filter on "All Types" searches every filing category including 13F, N-1A, DEFA14A, and hundreds of others.

How far back do EDGAR filings go? The EDGAR full-text search index covers filings from approximately 1993 to the present. Older filings may have limited full-text search coverage depending on when they were digitized.

How often is the EDGAR data updated? The SEC EDGAR EFTS index is updated continuously as new filings are submitted. Filings are typically searchable within minutes of submission to the SEC.

Can I search by CIK number? Yes. Enter a CIK number (e.g., "0000789019" for Microsoft) directly in the search query field. The full-text search will match it across all filing fields.

What is an accession number? An accession number is a unique identifier assigned by the SEC to every filing. It follows the format XXXXXXXXXX-YY-ZZZZZZ (filer ID, year, sequence number) and can be used to look up any filing directly on the SEC website.

Why do some results have an empty ticker field? Not all SEC filers are publicly traded companies. Private companies, investment funds, municipal bond issuers, and certain foreign entities file with the SEC but have no associated stock ticker symbol.

What does the relevance score mean? The relevance score comes from the EDGAR Elasticsearch index and represents how closely a filing matches your search query. Higher scores indicate stronger matches. Scores are relative to each search and should be used for ranking results within a single query, not for comparing across different searches.

Can I get the full text of a filing? This actor returns metadata and links, not the full filing content. Use the fileUrl to access the document directly, or pair this actor with the SEC EDGAR Filing Analyzer for automated content extraction.

How do I search for an exact phrase? Wrap your query in double quotes -- for example, "going concern" -- to search for that exact phrase rather than individual words.

What happens if my query returns more than 200 results? The actor caps output at 200 unique filings per run. For broader searches, split your query into multiple runs using date range partitioning (e.g., one run per quarter or per year).

Can I schedule this actor to run automatically? Yes. Use Apify Schedules to run the actor on a daily, weekly, or monthly cadence. This is ideal for monitoring new filings that match specific keywords or form types over time.


ActorDescription
SEC EDGAR Filing AnalyzerAnalyze specific SEC filings in depth by accession number, extracting financial data and key sections
SEC Insider TradingTrack insider buying and selling activity from SEC Form 4 filings with transaction details
Congressional Stock Trade TrackerMonitor stock trades disclosed by members of the U.S. Congress under the STOCK Act
CFPB Consumer ComplaintsSearch consumer complaint data from the Consumer Financial Protection Bureau database
FDIC Bank Data SearchLook up financial data, branch locations, and regulatory history for FDIC-insured banks
OFAC Sanctions SearchSearch the U.S. Treasury OFAC sanctions list for designated individuals and entities