📄 SEC EDGAR Filings Monitor avatar

📄 SEC EDGAR Filings Monitor

Pricing

from $3.50 / 1,000 sec filing records

Go to Apify Store
📄 SEC EDGAR Filings Monitor

📄 SEC EDGAR Filings Monitor

Monitor SEC EDGAR filings (10-K, 10-Q, 8-K, S-1) for any public company by ticker or CIK, via SEC's official structured-data API. For equity analysts, journalists, and AI agents tracking corporate disclosures. Export, run via API, schedule, or integrate with other tools.

Pricing

from $3.50 / 1,000 sec filing records

Rating

0.0

(0)

Developer

Skootle

Skootle

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

SEC EDGAR Filings hero

TL;DR

Equity research analysts, hedge fund quants, M&A desks, and fintech compliance teams refresh EDGAR for filings on 50+ tickers daily. This monitors SEC EDGAR filings for any public company by ticker or CIK and returns one clean structured record per filing: form name, form-category enum (10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4, 13F, more), ISO 8601 filing/period/acceptance timestamps, direct primary-document URL, items list, XBRL flags, plus a joined company snapshot (name, ticker, exchange, SIC). Watchlist mode emits only NEW filings since the previous run, so a daily schedule becomes a clean diff feed of new disclosures for portfolio monitoring, insider-signal pipelines, 13F tracking, IPO desks, and proxy-season research.


Try it on a small dataset, then let us know what you think in a review.


What does SEC EDGAR Filings Monitor do?

SEC EDGAR Filings Monitor extracts SEC filings for any public company. Pass a list of stock tickers (or CIKs for funds, insiders, and foreign issuers); get back one record per filing with form name, a normalized form-category, filing and period dates, the primary document URL, 8-K item codes, XBRL flags, plus a joined snapshot of company metadata (name, ticker, exchange, SIC code, fiscal year end).

Reads EDGAR live with no delay, so a filing shows up minutes after the SEC accepts it. Same uptime as the EDGAR website itself.

Watchlist mode (watchlistMode: true) makes this scraper schedulable. State persists across runs in the actor's key-value store, so a daily cron only emits filings NEW since the last run.

Why scrape SEC EDGAR?

EDGAR is the canonical source of public-company financial disclosures, and every 10-K, 10-Q, 8-K, S-1, proxy filing, insider Form 4, and 13F lands there minutes after the SEC accepts it. Equity research analysts, hedge fund quants, M&A desks, and fintech compliance teams all need to know when a filing drops on a watchlist of 50+ tickers, but the EDGAR UI is one company at a time. The manual workflow is refreshing the same 50 company pages every morning.

This actor delivers a watchlist diff feed: feed it the tickers, schedule it daily, get only the filings that are new since yesterday. Each record carries the company snapshot inline (name, ticker, exchange, SIC) and a clean form category, so a portfolio-monitoring pipeline or insider-signal scanner can filter on one field instead of mapping 200+ raw form names by hand.

Who needs this?

  • Equity research analysts monitoring a portfolio of tickers for new 10-K, 10-Q, and 8-K disclosures
  • Insider-trading signal pipelines filtering formCategory: 'insider_transaction' (Form 4, 5, 3) on watchlist tickers
  • 13F-tracking quants monitoring institutional holders (Berkshire, Renaissance, Citadel, hedge funds)
  • IPO and capital-markets desks filtering formCategory: 'registration' and prospectus for S-1, S-1/A, 424B filings
  • Compliance and corporate-actions desks watching 8-K events for material developments
  • Proxy-season governance researchers filtering DEF 14A across the S&P 500 in March-May
  • AI agents and LLM apps ingesting filings as a structured feed for downstream summarization, sentiment, or alerting
  • Financial-news aggregators breaking stories minutes after EDGAR posts

How to use SEC EDGAR Filings Monitor

  1. Open the Input tab on the actor page
  2. Add tickers (e.g., AAPL, MSFT, NVDA) to the tickers field, OR raw CIKs to ciks for filers without tickers
  3. Optionally set formFilter to specific forms (e.g., ["10-K", "10-Q", "8-K"]) or formCategoryFilter to category enums (e.g., ["annual_report", "current_report"])
  4. Set filingsPerCompany (default 20) and maxItems (default 50, conservative for the 5-minute auto-test)
  5. Optionally set daysLookback to limit to recent filings (e.g., daysLookback: 30 for last 30 days)
  6. Optionally enable watchlistMode for daily scheduled runs that only return new filings
  7. Click Start or call via the Apify REST API or CLI

You can run on demand from the Console, schedule it with Apify's cron, call via API, or integrate with Make, Zapier, n8n, Slack, Google Sheets.

How much will scraping SEC EDGAR cost?

This actor is priced per event:

  • Actor Start: $0.01 once per run
  • SEC filing record: tiered, charged per record written
Apify plan$/1000 records
FREE$30.00
BRONZE$25.50
SILVER$21.00
GOLD$18.00
PLATINUM$18.00
DIAMOND$16.20

A typical daily portfolio watchlist on 25 tickers with filingsPerCompany: 20 returns ~50-100 records on day 1, then 5-20 per day in watchlist mode. Roughly $0.90-$1.80 per daily run on the GOLD plan. Premium tier matches the value: this is real-time financial intelligence, not a commodity scrape.

Yes, EDGAR is explicitly designed for public access. The SEC publishes API access guidelines requesting only that callers send a User-Agent with a contact email and stay under 10 requests/second. This actor honors both: the User-Agent includes the maintainer's email by default (override via contactEmail input), and rate-limiting keeps it well under the 10/s ceiling.

There is no copyright on the filings themselves, they are public-record disclosures filed by registrants with the SEC, and federal law explicitly puts them in the public domain. Use the data freely for research, analytics, AI training, or commercial products.

Examples

Example 1: Daily watchlist on Apple

{
"tickers": ["AAPL"],
"filingsPerCompany": 20,
"watchlistMode": true,
"maxItems": 20
}

Example 2: 10-K and 10-Q filings only across the FAANG portfolio

{
"tickers": ["META", "AMZN", "AAPL", "NFLX", "GOOGL"],
"formFilter": ["10-K", "10-K/A", "10-Q", "10-Q/A"],
"filingsPerCompany": 10,
"maxItems": 50
}

Example 3: Insider Form 4 monitoring on the S&P-50 mega-caps

{
"tickers": ["AAPL", "MSFT", "NVDA", "GOOGL", "AMZN", "META", "TSLA", "BRK.B", "JPM", "JNJ"],
"formCategoryFilter": ["insider_transaction"],
"filingsPerCompany": 50,
"watchlistMode": true,
"maxItems": 500
}

Example 4: 13F holdings disclosures for top hedge funds (CIKs)

{
"ciks": ["1067983", "1029160", "1336528", "1167483"],
"formFilter": ["13F-HR", "13F-HR/A"],
"filingsPerCompany": 5,
"maxItems": 20
}

CIK 1067983 is Berkshire Hathaway. Use SEC's EDGAR full-text search to find any filer's CIK.

Example 5: 8-K material-events monitoring (M&A, exec changes, restatements)

{
"tickers": ["MSFT", "GOOGL", "META", "AAPL", "NVDA", "TSLA"],
"formCategoryFilter": ["current_report"],
"watchlistMode": true,
"filingsPerCompany": 30
}

Example 6: IPO-pipeline monitoring (S-1 and S-1/A across recent filers)

{
"tickers": ["RDDT", "ARM", "INSM", "BRK.B"],
"formCategoryFilter": ["registration", "prospectus"],
"daysLookback": 365,
"filingsPerCompany": 20
}

Example 7: Proxy-season DEF 14A scrape

{
"tickers": ["AAPL", "MSFT", "GOOGL", "AMZN", "META", "JPM", "BAC", "WFC"],
"formCategoryFilter": ["proxy"],
"daysLookback": 120,
"filingsPerCompany": 5
}

Example 8: Last 7 days of any filings, any company, premium token

{
"tickers": ["AAPL"],
"daysLookback": 7,
"filingsPerCompany": 100
}

Input parameters

FieldTypeDefaultDescription
tickersstring[]["AAPL"]Stock tickers. Resolved to CIK via SEC's official ticker map.
ciksstring[][]Use for filers without tickers (private filers, funds, insiders).
formFilterstring[][]Exact-match form names. Empty = all.
formCategoryFilterstring[][]Filter by category enum. Empty = all.
filingsPerCompanyint201-1000
daysLookbackint00 = no date filter; otherwise only filings on or after (today - N days).
watchlistModeboolfalseIdempotent diff against KV-stored seen accession numbers.
maxItemsint50Hard cap on total filings.
contactEmailstringmaintainerSent in the SEC User-Agent header per SEC requirements.

Form category enum

Each filing carries formCategory from this enum (so you don't have to map 200+ form names downstream):

CategoryForms it covers
annual_report10-K, 10-K/A, 20-F, 40-F
quarterly_report10-Q, 10-Q/A
current_report8-K, 8-K/A, 6-K
registrationS-1, S-1/A, S-3, S-4, F-1
prospectus424B1, 424B2, 424B3, 424B4, 424B5
proxyDEF 14A, DEFA14A, PRE14A
insider_transaction3, 4, 4/A, 5
institutional_holdings13F-HR, 13F-HR/A, 13D, 13G, SC13D, SC13G
amendmentany form ending in /A not classified above
otherevery other form on EDGAR

SEC EDGAR output format

sec_filing

FieldTypeDescription
outputSchemaVersionstringVersioned literal ('2026-05-08')
recordTypeliteral'sec_filing'
recordIdstringsec:filing:<accession-clean> (idempotent, cross-run dedupe-friendly)
accessionNumber, accessionNumberCleanstringSEC's official ID (with dashes + cleaned)
url, primaryDocumentUrl, filingIndexUrlstringDirect links to the document and EDGAR index
form, formCategory, isAmendmentstring/enum/boolForm identity + classification
filingDate, reportDate, acceptanceDateTimeISO 8601All timestamps standardized
primaryDocument, primaryDocDescriptionstringFilename + SEC-supplied description
fileNumber, filmNumberstringEDGAR file/film IDs
itemsstring[]8-K item codes (e.g., ["2.02", "9.01"])
isXBRL, isInlineXBRLboolXBRL availability flags
sizeintBytes
companyobjectJoined company metadata: cik, cikPadded, name, ticker, exchange, sicCode, sicDescription, fiscalYearEnd
fieldCompletenessScoreint 0-100Self-filtering signal
agentMarkdownstring300-500 char LLM-ready summary

SEC EDGAR scraper output example

{
"outputSchemaVersion": "2026-05-08",
"recordType": "sec_filing",
"recordId": "sec:filing:000032019325000118",
"accessionNumber": "0000320193-25-000118",
"form": "10-K",
"formCategory": "annual_report",
"isAmendment": false,
"filingDate": "2025-11-01",
"reportDate": "2025-09-28",
"primaryDocDescription": "10-K",
"primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000118/aapl-20250928.htm",
"items": [],
"isXBRL": true,
"company": {
"cik": "320193",
"cikPadded": "0000320193",
"name": "Apple Inc.",
"ticker": "AAPL",
"exchange": "Nasdaq",
"sicCode": "3571",
"sicDescription": "Electronic Computers",
"fiscalYearEnd": "0928"
},
"fieldCompletenessScore": 100,
"agentMarkdown": "**📄 10-K · $AAPL · Apple Inc.**\n> 10-K\n- 🗂 form: 10-K (annual_report)\n- 📅 filed: 2025-11-01 · period: 2025-09-28\n- 🏢 Electronic Computers · Nasdaq\n- 🔗 https://www.sec.gov/Archives/edgar/data/320193/000032019325000118/aapl-20250928.htm"
}

During the Actor run

No authentication required beyond a contact email in the User-Agent (SEC's own guideline). The actor stays well under SEC's 10/s rate ceiling and reads filings live, with no delay vs the EDGAR website itself. A typical 25-ticker portfolio watchlist completes in under a minute.

A run summary lands at the OUTPUT key, a markdown digest with form-mix counts and the top 10 material filings at AGENT_BRIEFING, and (with watchlistMode: true) seen accession numbers at WATCHLIST_STATE (capped at 10,000).

FAQ

How does SEC EDGAR Filings Monitor work?

Input: a list of tickers (or raw CIKs for filers without tickers), optional form filters (10-K, 10-Q, 8-K, S-1, 13F, Form 4, DEF 14A, more), and a lookback window. Output: one structured record per filing in your Apify dataset, exportable as JSON, CSV, or Excel. Reads EDGAR live with no delay, so a filing shows up minutes after the SEC accepts it. Turn on watchlist mode and the next run only emits what's new.

Can I monitor filings for new disclosures only?

Yes. Set watchlistMode: true. The first run emits everything; subsequent runs emit only filings new since the previous run. Schedule with the Apify cron scheduler.

Can I filter to specific form types?

Two ways: formFilter for exact-match form names (e.g., ["10-K", "10-Q"]), or formCategoryFilter for category groupings (e.g., ["annual_report", "quarterly_report"]). Combine both for narrow filters.

Can I use this with the Apify API?

Yes. POST to https://api.apify.com/v2/acts/skootle~sec-edgar-filings/runs with your input as JSON body and your Apify token as the Authorization: Bearer header.

Can I integrate with Make / Zapier / n8n / Slack?

Yes. From the actor page, click Integrations and pick your destination.

Can I get filings from before EDGAR's recent window?

This actor returns the most recent ~1,000 filings per company (the submissions/recent window EDGAR exposes). For deeper historical pulls, use SEC's full-index files at https://www.sec.gov/Archives/edgar/full-index/.

Can I get the full text of each filing?

This actor returns metadata + a direct URL to the primary document. To download document contents, pipe the primaryDocumentUrl to a downstream HTTP fetcher (e.g., the Apify Web Crawler or a Make.com HTTP step).

Can I find a CIK by company name?

This actor accepts both tickers and CIKs as input. To look up a CIK by name, use SEC's EDGAR full-text search or the company_tickers.json map (also fetched by this actor when you supply tickers).

Is the data delayed?

No, EDGAR exposes filings as soon as the SEC accepts them, typically within minutes of the filer's submission. This actor reads the live API, not a delayed cache.

Why does this actor cost more than free EDGAR scrapers?

Free actors trade reliability and feature depth for cost. This actor ships a versioned schema, idempotent record IDs, the joined company metadata, the formCategory enum (saves you from mapping 200+ form names), agentMarkdown per filing, watchlist diff mode, and continuous maintenance. If you're feeding the data into a portfolio-monitoring pipeline or AI agent, those features pay back the per-record cost in saved engineering time.

Your feedback

Hit a bug or want a feature? Open an issue on the Issues tab rather than the reviews page, and we'll fix it fast (typically within 48 hours).

Why choose SEC EDGAR Filings Monitor

  • Filter by form type in one field, 10-K, 10-Q, 8-K, S-1, 13F, Form 4, DEF 14A, mapped into nine clean category enums so you skip mapping 200+ raw form names by hand
  • Watchlist mode emits only what's new since last run, schedule daily across 50+ tickers without paying for duplicates or re-ingesting yesterday's 10-Qs
  • 50+ ticker watchlists in one run, pass the list, get the diff feed back
  • Joined company metadata per filing, name, ticker, exchange, SIC, fiscal year end. No second query
  • Live, not delayed, filings show up minutes after the SEC accepts them
  • AI agents can self-filter sparse rows and paste the per-filing markdown summary straight into Claude or ChatGPT
  • Hand-tuned for this source. Fixes ship the same week the source changes, typically within 24-48 hours
  • Safe to dedupe across re-runs, stable sec:filing:<accession> IDs upsert cleanly
  • Schema doesn't break your pipeline, versioned and date-stamped on every record
  • SEC-compliant from day one, User-Agent with contact email, sub-second rate limit, follows SEC's published API guidelines

Other Skootle actors you might want to check

Support and contact

File issues on this actor's page (Issues tab), replies within 48 hours. For feature requests, drop them in the same tracker tagged enhancement.