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
1
Bookmarked
1
Total users
0
Monthly active users
6 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?
The actor runs continuously — start it once and it keeps polling the live SEC EDGAR data on an adaptive interval until you cancel it (or hit the max_items limit, if set). 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.
Features
- ⚡ Continuous real-time monitoring of SEC EDGAR
- 🔔 Instant Telegram, Discord & Slack alerts
- 🎯 Match stock tickers and keywords
- 🏢 Resolve CIK numbers to ticker symbols
- 📄 Extract full filing text content
- 🗂️ Structured JSON dataset
- 🔄 Automatic duplicate detection
- 📊 Export as JSON, CSV, Excel, or via API
- 🤖 Ready for AI, n8n, Zapier, and RAG workflows
- 🌐 Optional Apify Proxy support
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
- Optionally set Max Items to stop the run after a set number of filings (leave at
0to run indefinitely) - Configure at least one Notifications channel to receive alerts
- Click Start — results appear in the Output tab as filings are processed, and the run keeps polling until you cancel it or the
max_itemslimit is reached
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). |
max_items | integer | Maximum number of new filings to push before the run stops. Set to 0 to run continuously until manually stopped. Default 10. |
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.
Free User Limitations
- Notifications are available to paid users only. Instant Telegram, Discord, and Slack alerts are sent only on a paid plan. On the free tier, filings are still collected to the dataset in full, but no alerts are dispatched even if
tickersandkeywordsare configured.
Upgrade for real-time alerts. A paid plan enables instant Telegram, Discord, and Slack notifications the moment a filing matches your watchlist.
Tips
- Continuous operation — start the Actor once and let it run. It polls EDGAR on an adaptive interval (faster when filings are flooding in, slower during quiet periods) and stops only when you cancel it or hit the
max_itemslimit, if set. No external scheduler needed - Runs around the clock — because polling is continuous, both market-hours filings and pre-market 8-K disclosures (earnings, M&A, executive changes) are captured as they land, with no gaps between scheduled runs
- 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
Combine with GlobeNewswire Scraper & Real-Time Press Release Monitor and PR Newswire Filing Monitor
For complete market intelligence, pair this Actor with the GlobeNewswire Continuous Monitor and the PR Newswire Filing Monitor — which watch the two major press-release wires for earnings announcements, M&A news, and product launches.
| Actor | Source | Best for |
|---|---|---|
| SEC GOV Filing Monitor | SEC EDGAR | Regulatory filings, insider transactions, IPO prospectuses, material events |
| GlobeNewswire Scraper & Real-Time Press Release Monitor | GlobeNewswire | Press releases, earnings announcements, product launches, partnerships |
| PR Newswire Filing Monitor | PR Newswire | Press releases, earnings announcements, product launches, partnerships |
Running all three on the same ticker watchlist and scheduling them in parallel gives you full coverage — the moment a company either files with the SEC or puts out a press release on either wire, you get an alert. All three Actors share the same notification channels (Telegram, Discord, Slack) and output structured dataset formats, making it easy to merge or compare results downstream.
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?
First, notifications require a paid plan — free-tier users receive no alerts (see Limitations). On a paid plan, 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.
Why did my run stop after N filings?
The run stops once it reaches the max_items limit you configured (default 10). Set max_items to 0 to run continuously until you cancel it.
For bugs or feature requests, open an issue in the repository or contact the maintainer.
SEO Keywords
SEC EDGAR scraper, SEC filing monitor, SEC EDGAR API, SEC filing scraper, regulatory filing monitor, 8-K scraper, 10-K scraper, 10-Q scraper, S-1 filing tracker, SC 13G/D monitor, insider transaction tracker, IPO prospectus scraper, material event alerts, stock ticker alerts, real-time SEC filing alerts, investor research tool, earnings announcement tracker, M&A news monitor, competitive intelligence tool, compliance filing monitoring, financial filing aggregator, SEC filing dataset, EDGAR scraping tool, Telegram stock alerts, Discord filing webhook, Slack filing notifications, stock market filing scraper, ticker keyword matching, filing monitoring actor, Apify SEC EDGAR actor, continuous filing monitor, financial filing API, IR filing tracker, keyword-based filing alerts, real-time regulatory filing feed, no-code filing alerts, SEC filing JSON export, CIK to ticker resolver, stock ticker scraper, stock ticker tracker, NYSE ticker monitor, NASDAQ ticker monitor, ticker symbol filing feed, ticker watchlist alerts, publicly traded company filing monitor, ticker-based filing filtering, stock filing screener, equity filing alerts, ticker mention tracker, SEC filing full text search, RAG-ready SEC filings, LLM-ready regulatory data