SEC EDGAR Filings Monitor
Pricing
$2.00 / 1,000 filing results
SEC EDGAR Filings Monitor
Track new SEC EDGAR filings by ticker or CIK: company, form, filed/report dates, accession number, primary document and index URLs. Form-type filter and onlyNew mode. Unofficial; not affiliated with the U.S. SEC.
Pricing
$2.00 / 1,000 filing results
Rating
0.0
(0)
Developer
Chee Chiaw Lim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What it does
Collect public SEC EDGAR filings for company tickers or CIKs. Filter by form and filing date. Each filing links to its primary document and filing index.
How only new works
onlyNew defaults to true. The Actor saves accession numbers in the named key-value store sec-edgar-filings-monitor-state, under SEEN. The first run pushes matching filings. Later runs skip saved accession numbers. Set onlyNew to false to push matching filings again.
The Actor saves an accession number only after a successful push. Filtered filings and filings left behind by a charge limit remain unseen. Duplicate accession numbers within a run are pushed once. A document update does not make an existing accession number new.
State writes and dataset pushes are separate operations. A crash between them can cause a duplicate on retry. Avoid overlapping runs that share a state store. Use separate store names for independent histories. Deleting SEEN resets the history.
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
tickers | String list | AAPL, MSFT, TSLA | Tickers or CIKs. JSON input also accepts numeric CIKs. |
formTypes | String list | [] | Exact case-insensitive matches. Empty includes all forms. |
includeAmendments | Boolean | true | A base form such as 10-K also matches 10-K/A. Explicit 10-K/A matches only that form. |
filedAfter | Date string | Unset | Inclusive filing-date boundary in YYYY-MM-DD format. |
maxFilingsPerCompany | Integer | 20 | Newest matching filings per company, after form and date filters. Maximum 1000. |
onlyNew | Boolean | true | Skip saved accession numbers. Applied after the per-company limit. |
maxItems | Integer | 1000 | Maximum filings pushed per run, up to 10000. |
userAgent | String | See below | SEC request identity and contact email. |
stateStoreName | String | sec-edgar-filings-monitor-state | Named store for seen accession numbers and the ticker cache. |
stateKey | String | SEEN | Seen accession record key. |
minIntervalMs | Integer | 200 | Shared request-start interval for both SEC hosts. Minimum 110 ms. |
The default userAgent is SEC EDGAR Filings Monitor (unofficial Apify Actor) cheechiawbot@mail.grokbot.com.
Input examples
Collect five recent filings per company, including previously seen filings.
{"tickers": ["AAPL", "MSFT", "TSLA"],"formTypes": [],"maxFilingsPerCompany": 5,"onlyNew": false}
Monitor annual reports and their amendments from a filing date onward.
{"tickers": ["AAPL", 789019],"formTypes": ["10-K"],"includeAmendments": true,"filedAfter": "2025-01-01","onlyNew": true}
Output schema
The default dataset contains one record per filing with these fields.
| Field | Meaning |
|---|---|
company | Company name from submissions. |
cik | Ten-digit zero-padded CIK string. |
ticker | Company ticker or requested CIK. |
form | SEC form name. |
filedDate | Filing date. |
reportDate | Report date, or null when empty. |
acceptanceDateTime | SEC acceptance timestamp. |
accessionNumber | Accession number with dashes. |
primaryDocument | Primary document filename. |
primaryDocDescription | Primary document description. |
primaryDocUrl | Public primary document URL. |
filingIndexUrl | Public filing index URL. |
items | 8-K items, or null when absent. |
size | Filing size in bytes. |
checkedAt | UTC timestamp when the Actor checked filings. |
Unknown tickers produce { "ticker": "UNKNOWN", "error": "..." } records. These records have no event charge.
RUN_SUMMARY record
The default key-value store contains RUN_SUMMARY. It records startedAt, finishedAt, onlyNew, counts.fetched, counts.eligible, counts.pushed, and stoppedAtChargeLimit. Failed runs also record error. Counts cover filings processed before the run stops. Uncharged error records do not count as pushed filings.
Pricing
The price is $0.002 per filing pushed to the dataset, or $2.00 per 1,000 filings. There is no run fee. The charge event is filing. Errors and skipped filings are not charged. The Actor stops when its charge limit is reached. Local runs do not bill you. Store pricing must be configured before publication as described in PUBLISHING.md.
Limits
- Only
filings.recentis read, roughly the last 1,000 filings per company. Historical submissions files are not fetched. - The SEC Fair Access limit is at most 10 requests per second. The Actor uses about 5 requests per second by default across
www.sec.govanddata.sec.gov, sharing one throttle bucket. The interval cannot fall below 110 ms. - SEC servers may block requests. Set a valid contact identity in
userAgent. - The ticker map is fetched at most once per run and cached for 24 hours in the state store.
- HTTP 429 and server errors have up to three retries with exponential backoff and
Retry-Aftersupport. Requests time out after 30 seconds. - Filings are sorted newest first within each company. There is no global sort across companies.
- Seen history grows with the number of successfully pushed accession numbers.
Disclaimer
This Actor is unofficial and is not affiliated with or endorsed by the U.S. SEC. It uses only public EDGAR APIs. It uses no SEC logos and requires no login.
Local development
npm installnpm testnpm start
Node 20 or newer is required. npm start normally requests public SEC data using storage/key_value_stores/default/INPUT.json. Tests stub fetch and use fixtures and isolated local storage without network access.
Run the real entrypoint with stubbed SEC responses and separate local storage.
CRAWLEE_STORAGE_DIR=./storage/offline-check APIFY_LOCAL_STORAGE_DIR=./storage/offline-check APIFY_PURGE_ON_START=false NODE_OPTIONS='--import ./test/helpers/offline-preload.js' npm start
The first offline run writes three filing records and one uncharged unknown-ticker error. Read storage/offline-check/datasets/default/ and storage/offline-check/key_value_stores/default/RUN_SUMMARY.json. Later runs skip the three saved accession numbers.