SEC EDGAR Filings API | Full-Text Search | $0.5 / 1K
Pricing
from $0.35 / 1,000 filing scrapeds
SEC EDGAR Filings API | Full-Text Search | $0.5 / 1K
Search SEC EDGAR filings by keyword and form type (10-K, 10-Q, 8-K, S-1 and more) with no API key. Flat rows: company, form, date, SIC, location. Incremental mode returns only new filings. $0.50 per 1,000 rows.
Pricing
from $0.35 / 1,000 filing scrapeds
Rating
0.0
(0)
Developer
Hriday Rungta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Search SEC EDGAR filings by keyword and get the results as a flat dataset: 10-K, 10-Q, 8-K, S-1 and more, across every public company. No API key, no login, no browser.
This Actor runs EDGAR's own full-text search (the same search behind sec.gov's "Full Text Search") and returns one row per matching filing: company, form type, filing date, period, location and SIC code. Turn on incremental mode and every run after the first returns only filings that are new since your last run for that exact search.
What you can do with SEC filings data
- Search SEC filings by keyword. Find every 10-K that mentions "supply chain disruption", "going concern", "tariffs" or "artificial intelligence".
- Monitor new 8-K filings. Get current reports mentioning a phrase such as "cybersecurity incident", "acquisition" or "CEO resignation", delivered as a daily feed.
- Screen IPO and S-1 filings for a theme or sector.
- Build a list of companies that disclose a specific risk, product or event, with their SIC code and location, for research, sales prospecting or compliance.
- Feed an AI or analytics pipeline with filing metadata, then fetch the documents you care about.
What this Actor is, and what it is not
SEC publishes free JSON APIs for company submissions and XBRL financial facts. This Actor does something different: it exports full-text search results, which those APIs do not offer. What you get per row is filing metadata, not the filing text or financial statements.
| EDGAR full-text search website | This Actor | |
|---|---|---|
| Cost | Free | $0.50 per 1,000 rows |
| Output | Web page, 100 results at a time, manual | Dataset: CSV, JSON, Excel, API |
| Only what is new since last time | Manual | mode: "changes" |
| Scheduling and alerts | No | Apify Schedules, webhooks, Make, n8n, Zapier |
It does not return the filing text, snippets of the match, financial figures, or insider-trading details. For XBRL financials, use SEC's free companyfacts API or another Actor.
Input
| Input | Default | What it does |
|---|---|---|
query | required | A keyword or phrase. A multi-word query without quotes is searched as an exact phrase |
forms | all forms | List of form types, for example 10-K, 10-Q, 8-K, S-1 |
mode | all | all = every match in the date window; changes = only new since your last run |
postedSince | 7 days | Start of the filing-date window for all mode. A date (2026-01-01) or a span (90 days) |
maxItems | 200 | Cost cap. You are billed once per row saved. Maximum 10,000 |
firstRunSince | 7 days | changes mode only: how far back the very first run looks. all goes back to 2001 |
userAgent | built-in default | Optional contact string for SEC's fair-access policy |
Important: the date window. If you leave postedSince blank, all mode only searches the last 7 days, so a rare phrase can return zero rows. For annual reports (10-K) use a wide window such as 365 days. The Actor's own prefill uses 90 days.
Example input: 10-K filings that mention a risk
{"query": "supply chain disruption","forms": ["10-K"],"postedSince": "365 days","maxItems": 100}
Example input: daily feed of new 8-Ks mentioning a phrase
{"query": "cybersecurity incident","forms": ["8-K"],"mode": "changes","firstRunSince": "7 days"}
Output
One row per matching document in a filing. It is usually the main form; amendments (for example 10-K/A) and exhibits (for example EX-13) can also appear. Real row from a test run:
{"accessionNumber": "0001819493-26-000008","form": "10-K","fileDate": "2026-03-30","periodEnding": "2025-12-31","cik": "0001819493","companyNames": ["Xos, Inc. (XOS, XOSWW) (CIK 0001819493)"],"fileType": "10-K","fileDescription": "10-K","bizLocations": ["Los Angeles, CA"],"bizStates": ["CA"],"sics": ["3714"],"filingUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=1819493"}
Also included: filmNumbers and fileNumbers. Note that filingUrl links to the filer's EDGAR company page, not to the filing document. Use accessionNumber and cik to find the exact filing on EDGAR.
Incremental mode: only new filings since your last run
EDGAR's date filter works on calendar days only, so re-running on the same day would normally return the same filings again. In changes mode the Actor saves a bookmark per search (query and forms) in a key-value store in your own Apify account, remembers the filing IDs it already returned for the boundary day, and does not bill you for them twice.
Pricing
Pay per event: $0.0005 per filing row ($0.50 per 1,000). No start fee.
| Run | Rows | Cost |
|---|---|---|
Default maxItems | 200 | $0.10 |
| Example: one year of 10-Ks for a phrase | 2,000 | $1.00 |
| Maximum per run | 10,000 | $5.00 |
Set maxItems as your cost cap.
Integrations and scheduling
- Apify Schedules: run daily in
changesmode for a rolling feed of new filings that match your phrase. - Webhooks: call your own endpoint when a run finishes.
- Make, n8n, Zapier: send new matches to Slack, email, Airtable or a CRM.
- Google Sheets: export the dataset or sync it with the Apify integration.
- API and MCP: call the Actor from code or an AI agent and read the dataset as JSON.
SEC User-Agent requirement
SEC blocks requests with no User-Agent at all. The Actor sends a default one. SEC's guidance asks for a real contact string, so you can set your own in userAgent, for example MyCompany research@example.com.
Limits worth knowing
- Results are filing metadata only: no filing text, no match snippets, no financial data.
- Full-text search covers filings from 2001 onward, which is EDGAR's own coverage.
- Maximum 10,000 rows per run; split a very broad search by
formsor by date window. - A query without quotes and with several words is treated as an exact phrase.
- Data is whatever SEC publishes in EDGAR full-text search. This Actor does not correct or add to it.
FAQ
Is this an SEC EDGAR API?
It gives you API-style access (Apify API, dataset JSON) to EDGAR's full-text search, which SEC does not offer as a documented public API. It is not a replacement for SEC's official submissions and XBRL APIs, which serve different data.
How do I search SEC filings by keyword?
Set query to your keyword or phrase, pick forms, and set postedSince wide enough to cover the filings you want (for 10-Ks, 365 days).
How do I monitor new SEC filings for a keyword?
Use mode: "changes" and schedule the Actor daily. Each run returns only filings new since the previous run for that query and form list.
Why did my search return zero rows?
Almost always the date window: the default is 7 days. Widen postedSince, or check that your phrase and form types match.
Can it get the full text of a 10-K?
No. It returns which filings match, with the filer and dates. Open the filing on EDGAR, or use a separate Actor for document text.
Do I need an SEC API key?
No. SEC does not use keys. Only a User-Agent is required, and the Actor sends one.
Is the data free to use?
SEC filings are public records. You pay for the Actor's convenience (flat rows, incremental runs, scheduling), not for the data.
Related Actors
- USASpending API Alternative (by this developer): federal contracts and grants for the companies you find here.
- Y Combinator Companies Scraper (by this developer): the startup side, a directory of YC companies.
- SEC EDGAR Filings Scraper by constant_quadruped (third party): another Actor for SEC EDGAR filings.
- SEC EDGAR Form D Scraper by logiover (third party): Form D private-funding filings.
- SEC Insider Trading Tracker by ryanclinton (third party): Form 4 insider transactions.