SEC.gov EDGAR Filings Scraper
Pricing
from $0.50 / 1,000 listings
SEC.gov EDGAR Filings Scraper
Monitor SEC EDGAR live filings in real time. Extracts full clean text from regulatory filings, resolves company tickers, and sends instant alerts to Telegram, Discord, or Slack when a filing matches your tracked tickers and keywords.
Pricing
from $0.50 / 1,000 listings
Rating
0.0
(0)
Developer
Scraping Crew
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Monitor SEC EDGAR in real time — scrape the latest regulatory filings, extract their full text content, resolve related company tickers, and receive instant alerts on Telegram, Discord, or Slack when a filing matches your watchlist.
What does SEC.gov EDGAR Filings Scraper do?
This Actor continuously polls the live update, which publishes every new regulatory filing as it is submitted. For each filing it:
- Fetches the full text of the submission file
- Extracts metadata (title, form type, date, filing link)
- Resolves all CIK numbers mentioned in the filing to their ticker symbols
- Checks whether the filing matches your tracked tickers and keywords
- Sends an alert to your configured notification channels if a match is found
- Stores every filing as a structured record in the Apify dataset
No duplication! Already-visited filings are tracked in a persistent key-value store so re-runs never produce duplicates.
Why use this Actor?
- Real-time market intelligence — catch 8-K, 10-Q, 10-K, SC 13G/D, and other material filings the moment they hit EDGAR
- Automated watchlists — define tickers and keywords once, get notified automatically
- Multi-channel alerts — get notified instantly on Telegram, Discord, or Slack simultaneously
- LLM-ready content — filing text is fully stripped of HTML tags and formatting noise, delivered as clean plain text ready to feed directly into any AI model or pipeline
- Deduplication — safe to run on a schedule; already-processed filings are never returned twice
How to use
- Open the Input tab in Apify Console
- Optionally fill in the Track section with the tickers and keywords you want to monitor
- Configure at least one Notifications channel to receive alerts
- Click Start — results appear in the Output tab as filings are processed
- Use Schedules to run the Actor every few minutes for continuous monitoring
Input
All fields are optional.
Proxy Configuration
| Field | Type | Default | Description |
|---|---|---|---|
proxyConfiguration | object | { "useApifyProxy": false } | Proxy settings. Enable Apify Proxy or provide custom proxy URLs to rotate IPs on requests to SEC.gov. |
Track
| Field | Type | Description |
|---|---|---|
tickers | string (textarea) | Ticker symbols to watch, one per line (e.g. AAPL). Case-insensitive |
keywords | string (textarea) | Keywords or phrases to match in filing content, one per line (e.g. merger, going concern). |
Alert logic: a notification is sent only when at least one ticker AND at least one keyword both appear in the same filing. Configuring only one side produces no alerts.
Notifications
| Field | Type | Secret | Description |
|---|---|---|---|
telegram_bot_token | string | ✓ | Bot token from @BotFather. |
telegram_chat_id | string | Chat or channel ID (e.g. -xxxxxxxxxx or @yourchannel). | |
discord_webhook | string | ✓ | Discord channel webhook URL. |
slack_webhook | string | ✓ | Slack incoming webhook URL. |
Example input
{"proxyConfiguration": { "useApifyProxy": false },"tickers": "AAPL\nMSFT\nNVDA","keywords": "acquisition\ngoing concern\nrestatement","telegram_bot_token": "123456:ABC-DEF...","telegram_chat_id": "-xxxxxxxxxxxx"}
Output
Each filing is stored as one record in the Apify dataset. You can download the dataset in JSON, CSV, Excel, or HTML from the Output tab or via the Apify API.
Output fields
| Field | Type | Description |
|---|---|---|
news_id | string | Unique filing identifier derived from the accession path (e.g. 0001234567-24-000123). |
news_title | string | Filing title as published. Typically includes the company name, CIK, and form type. |
news_link | string | URL to the filing index page on SEC EDGAR. |
news_date | string | Publication date in YYYY-MM-DD format. |
news_hour | string | Publication time in HH:MM:SS format (UTC). |
sec_form_data | string | SEC form label and type, e.g. Annual report 10-K or Current report 8-K. |
related_tickers | string[] | Ticker symbols of all companies whose CIK numbers appear in the filing body. |
content | string | Full lowercased text of the .txt submission file with newlines collapsed to spaces. Suitable for keyword search and NLP. |
Example output
[{"news_id": "0000320193/000032019324000123","news_title": "Apple Inc. (0000320193) - Annual report - 10-K","news_link": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/0000320193-24-000123-index.htm","news_date": "2024-11-01","news_hour": "16:32:10-04:00","sec_form_data": "Annual report 10-K","related_tickers": ["AAPL", "MSFT"],"content": "united states securities and exchange commission washington, d.c. 20549 form 10-k annual report pursuant to section 13 or 15(d) ..."},{"news_id": "0001045810/000104581024000456","news_title": "NVIDIA Corp (0001045810) - Current report - 8-K","news_link": "https://www.sec.gov/Archives/edgar/data/1045810/000104581024000456/0001045810-24-000456-index.htm","news_date": "2024-11-01","news_hour": "08:15:00-04:00","sec_form_data": "Current report 8-K","related_tickers": ["NVDA"],"content": "item 2.02 results of operations and financial condition. on november 1, 2024, nvidia corporation issued a press release ..."}]
Pricing / Cost estimation
The Actor is billed per compute unit (CU). A typical run processing 100 filings costs approximately 0.05–0.1 CU, depending on filing sizes. The Apify Free plan includes enough monthly CUs to run the Actor dozens of times.
Tips
- Run every 1–2 minutes during market hours — schedule the Actor from 9:25 AM to 4:15 PM ET, Monday–Friday to capture filings as they land. Outside those hours a 15–30 minute interval is sufficient since filing activity drops sharply after the close
- Cover pre-market too — material 8-K disclosures (earnings, M&A, executive changes) are frequently filed between 6:00–9:30 AM ET before the open; a separate schedule covering that window ensures nothing is missed before trading begins
- Use Apify Proxy if you encounter access issues — the Actor automatically retries with a fresh proxy session on each attempt
- Feed
contentdirectly into an LLM — the text is fully stripped of HTML tags, cleaned of formatting noise, lowercased, and delivered as a single plain-text string, making it immediately usable as a prompt, document chunk, or RAG context without any pre-processing - Build a RAG pipeline — chunk the
contentfield, embed it, and store it in a vector database (Pinecone, Weaviate, Chroma) to enable semantic search over SEC filings for any time range - Filter by form type — use
sec_form_datato route different filing types to different workflows: 8-K for event-driven alerts, 10-K/10-Q for fundamental analysis, SC 13G/D for ownership change tracking - Use
related_tickersas a portfolio filter — cross-reference the array against your watchlist to surface only filings that mention companies you hold or follow - Sentiment and summarisation — pipe
contentthrough a sentiment model or summarisation prompt to automatically classify the tone of each filing (positive, negative, neutral) and generate a one-paragraph executive summary - Combine with Apify integrations — connect the dataset to Google Sheets, Zapier, Make, or any webhook to build a full monitoring pipeline without writing code
FAQ and support
Will I get duplicate filings if I run multiple times? No. A persistent key-value store tracks every processed filing URL. Re-runs skip anything already seen.
The related_tickers field is always empty — why?
Ticker resolution requires the Actor to have an up-to-date company database. If the field is consistently empty, contact the maintainer to request a rebuild with the latest SEC company data.
I'm not receiving notifications — what should I check?
Both tickers and keywords must be provided and both must match the same filing for an alert to fire. Verify your webhook URL or bot token is correct by checking the Actor log for Notification failed: lines.
For bugs or feature requests, open an issue in the repository or contact the maintainer.