SEC.gov EDGAR Filings Scraper avatar

SEC.gov EDGAR Filings Scraper

Pricing

from $0.50 / 1,000 listings

Go to Apify Store
SEC.gov EDGAR Filings Scraper

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

Scraping Crew

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

  1. Fetches the full text of the submission file
  2. Extracts metadata (title, form type, date, filing link)
  3. Resolves all CIK numbers mentioned in the filing to their ticker symbols
  4. Checks whether the filing matches your tracked tickers and keywords
  5. Sends an alert to your configured notification channels if a match is found
  6. 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

  1. Open the Input tab in Apify Console
  2. Optionally fill in the Track section with the tickers and keywords you want to monitor
  3. Configure at least one Notifications channel to receive alerts
  4. Click Start — results appear in the Output tab as filings are processed
  5. Use Schedules to run the Actor every few minutes for continuous monitoring

Input

All fields are optional.

Proxy Configuration

FieldTypeDefaultDescription
proxyConfigurationobject{ "useApifyProxy": false }Proxy settings. Enable Apify Proxy or provide custom proxy URLs to rotate IPs on requests to SEC.gov.

Track

FieldTypeDescription
tickersstring (textarea)Ticker symbols to watch, one per line (e.g. AAPL). Case-insensitive
keywordsstring (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

FieldTypeSecretDescription
telegram_bot_tokenstringBot token from @BotFather.
telegram_chat_idstringChat or channel ID (e.g. -xxxxxxxxxx or @yourchannel).
discord_webhookstringDiscord channel webhook URL.
slack_webhookstringSlack 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

FieldTypeDescription
news_idstringUnique filing identifier derived from the accession path (e.g. 0001234567-24-000123).
news_titlestringFiling title as published. Typically includes the company name, CIK, and form type.
news_linkstringURL to the filing index page on SEC EDGAR.
news_datestringPublication date in YYYY-MM-DD format.
news_hourstringPublication time in HH:MM:SS format (UTC).
sec_form_datastringSEC form label and type, e.g. Annual report 10-K or Current report 8-K.
related_tickersstring[]Ticker symbols of all companies whose CIK numbers appear in the filing body.
contentstringFull 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 content directly 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 content field, 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_data to 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_tickers as 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 content through 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.