SEC EDGAR Filings Scraper: 8-K Earnings, Form 4
Pricing
from $0.54 / 1,000 filing returneds
SEC EDGAR Filings Scraper: 8-K Earnings, Form 4
Get SEC EDGAR filings with each 8-K earnings release excerpted on request, plus its guidance sentences and a sentiment score. Rows carry the form type, filed date, 8-K items, Form 4 trade lines, 10-K and 10-Q financials and document links, and full-text search covers every filing since 2001.
Pricing
from $0.54 / 1,000 filing returneds
Rating
0.0
(0)
Developer
Pradio Actors
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does SEC EDGAR Filings Scraper do?
Give SEC EDGAR Filings Scraper tickers, the SEC's company IDs (CIKs), company names, EDGAR links or a keyword phrase. You get one row per matching SEC filing, and with Extract Earnings Releases on an 8-K earnings release also carries its excerpt, guidance sentences and a sentiment score on the same row. Each row names the company, the form, the dates it carries and its links on sec.gov. Opt in and a filing row can also carry:
- an earnings-release 8-K's excerpt, guidance and a sentiment score;
- a Form 4's insider lines;
- a 10-K or 10-Q's reported figures.
Filing rows cost $1.00 per 1,000; an entry with nothing to return costs you nothing.
Start with NVIDIA's latest 8-Ks, extraction on:
{ "searchQueries": ["NVDA"], "formTypes": ["8-K"], "extractEarnings": true, "maxItems": 100 }
Features
- 8-K earnings excerpted: opt in and each qualifying earnings release carries its SEC items, an excerpt, guidance and a sentiment score. Each extraction is one extra charge.
- Full-text keyword search: every EDGAR filing's text from 2001 on, one row per match in the index's first 10,000 hits.
- Financials matched to the filing: opt in and each 10-K/10-Q row carries the figures that filing reported, matched by accession number.
- Insider trades split into lines: opt in and a Form 3, 4 or 5 row carries the reporting insider and every transaction line. A suppressed name stays blank.
- New filings since your last run (opt in): with Only New Since Last Run on, a scheduled run returns only filings this same search has not already returned.
- SEC fair access kept: the run tells the SEC who is calling and stays under 10 requests a second.
Why this one
- We tested a list of 498 companies and every one produced filing rows. A capped run on the platform returned 499 filing rows from 2 of its 100 companies before the cap stopped it. The other 98 entries each came back as a named, unbilled row.
- Insider lines and 8-K earnings excerpts can land on the same run's filing rows, so one run covers a watchlist.
- Opt in to financials and a 10-Q row carries the quarter the filing reported, matched by accession number, so a quarter's figures stay apart from the year's.
- Every filing row carries the sec.gov links, the filing one click away.
What data does SEC EDGAR Filings Scraper return?
A real row: 3M's earnings release with Extract Earnings Releases on, from the capped run that returned 499 filing rows (fields cut):
{"status": "ok","company_name": "3M CO","accession_number": "0000066740-26-000242","ticker": "MMM","form_type": "8-K","items": ["2.02", "9.01"],"item_descriptions": ["Results of Operations and Financial Condition", "Financial Statements and Exhibits"],"filed_date": "2026-07-21","report_year": 2026,"fiscal_quarter": 3,"document_url": "https://www.sec.gov/Archives/edgar/data/66740/000006674026000242/mmm-20260721.htm","sentiment": {"positive": 15, "negative": 9, "net": 0.25, "label": "positive"},"reported_figures": [{"metric": "operating_income", "value": "$ 1.78"}, {"metric": "eps", "value": "$1.78"}],"row_type": "ROW"}
Every field:
Values come from what was filed, with marked exceptions. report_year and fiscal_quarter are computed from the dates, the sec.gov links are built from the accession number, item_descriptions name the S-K items and sentiment counts the release's words. status, row_type, the miss fields and search_metadata are the run's own bookkeeping, not filing data. A field the SEC leaves out still stays null. On the insider forms, 3, 4, 5 and 144, and on a person's own filing, document_text, sections and matched_passages stay null.
| Field | What it is |
|---|---|
status / row_type | ok and ROW on a filing row; on a status row, the miss verdict and its kind (the kinds are under Output). |
company_name / cik | The company's registered name and its CIK; on a miss row company_name is the entry you sent. |
accession_number | The filing's unique SEC ID. |
ticker / tickers | Every symbol it trades under; ticker is the first. |
form_type | The SEC form code, such as 10-K, 8-K or 4. |
items / item_descriptions | The item numbers an 8-K reports under and their official SEC names; null when the feed lists none. |
filed_date / report_date | When the filing was submitted and the period it covers. |
acceptance_date_time | When the SEC accepted it; null outside a company's recent feed. |
report_year / fiscal_quarter | The report's year and fiscal quarter. |
sic / sic_description | The filer's industry code and its label. |
state_of_incorporation / fiscal_year_end | Where it is incorporated and when its fiscal year ends. |
exchanges / entity_type / ein / addresses | Its exchanges, entity category, EIN and addresses as filed. |
primary_document / primary_doc_description | The filing's main file name and the SEC's label for it. |
document_url / filing_url / index_url / sec_viewer_url | Its links on sec.gov: the primary document, the filing's index page, its machine index and the viewer link (the document itself unless the filing is inline XBRL). |
size_bytes / is_xbrl / is_inline_xbrl | The filing's size and XBRL flags; all three stay null outside a company's recent feed. |
file_number / film_number / act_code | SEC file, film and act identifiers; null on insider filings. |
item_codes / item_names / excerpt | On a billed earnings release: its item numbers and names, and a short passage from its document (opening [From Exhibit 99.1, …] when it was read from the press-release exhibit). |
guidance_sentences / sentiment / reported_figures | On the same release: up to eight guidance lines, a word-count score and the headline figures. |
insider_name / insider_relationship / transactions | On Form 3, 4, 5 rows with Insider Transactions on: the reporting insider, their relationship, and each transaction or holding line as filed. |
document_text / sections / matched_passages | On opt-in: the document as plain text, split on its Item headings, or the sentences your keyword hit. |
financials | On 10-K/10-Q rows with Include Financials on: the figures that filing reported; concepts names the accounting tag. |
search_metadata | The company or search this row answers, as {query, event}. |
reason | On a status row, the free-text why; on a filing row, why a text field is null. |
rowsFetched, rowsReturned, rowsRemaining | On the two run-level status rows: found, delivered and left-over counts. |
How much does it cost?
$1.00 per 1,000 filing rows. Three things can be billed, nothing else:
| Charge | Price |
|---|---|
filing-returned: one filing row written to your dataset | $0.001 |
earnings-extracted: one earnings release extracted (Item 2.02 with a stated figure) | $0.001 |
apify-actor-start: billed by Apify when a run starts | $0.00005 |
The extraction charge applies to an 8-K reporting results of operations (Item 2.02) with a stated revenue, income or per-share figure. Other 8-Ks cost their filing row. Insider lines, financials, document text, Item sections and matched passages come with the row. On a paid Apify plan you pay $0.00084 on Bronze, $0.00068 on Silver and $0.00054 on Gold and above.
| Filing rows | Cost | With the start charge |
|---|---|---|
| 100 | $0.10 | $0.10005 |
| 1,000 | $1.00 | $1.00005 |
| 10,000 | $10.00 | $10.00005 |
A miss costs you nothing: a company that resolves to nothing comes back unbilled.
How do I use SEC EDGAR Filings Scraper?
- Open the Actor page and press Start.
- Type tickers, CIKs or company names into Search Queries, or paste EDGAR links into Start URLs. The form starts you off with NVIDIA's 8-Ks and extraction ticked.
- Your rows land as reads finish; export them as JSON, CSV or Excel, or read them over the API.
Over the API:
curl -X POST "https://api.apify.com/v2/acts/Pradio~sec-edgar-filings/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" -H "Content-Type: application/json" -d "{\"searchQueries\": [\"AAPL\"], \"formTypes\": [\"8-K\"], \"extractEarnings\": true, \"maxItems\": 100}"
Schedules keep your feed current. Webhooks and integrations like Zapier, Make and Google Sheets plug in on the Actor's Integrations tab.
Input
| Input | Default | What it does |
|---|---|---|
searchQueries | none (the form comes with NVDA) | Tickers, CIKs or company names; a bare number is a CIK. |
startUrls | none | EDGAR links that name a company: a submissions JSON URL, an Archives path or a browse link. |
query | none | A full-text phrase; matching filings become rows, to the index's 10,000th hit. Double quotes match exactly. |
formTypes | all forms (the form lists 8-K) | These EDGAR form codes; 8-K returns its 8-K/A amendments too. |
filedFrom | none | Filings submitted on or after this date, in YYYY-MM-DD. |
filedTo | none | Filings submitted on or before this date, in YYYY-MM-DD. |
extractEarnings | off (the form ticks it) | Fill the extraction fields on each qualifying 8-K, at $0.001 apiece on top of its row. |
maxItems | 100 | The most filing rows a run returns; empty reads each company's recent feed only, and a number also reads the older filing files until the cap is met. |
maxCompaniesPerSearchQuery | 5 | The most companies one name may resolve to, at most 50. |
maxFilingsPerCompany | none | Caps one company's rows so a large filer cannot take the whole run; the run moves on to the next company. |
onlyNew | off | Skip filings an earlier run of your search already returned. |
includeInsiderTransactions | off | Opt in to read each Form 3, 4 and 5 ownership file and fill the insider fields, free. |
includeFinancials | off | Add each 10-K/10-Q filing's own reported figures to financials, free. |
includeDocumentText | off | Add each filing's primary document as plain text. |
maxDocumentChars | 50000 | The document-text cap, at most 100000. |
includeSections | off | Split each filing's document on its Item headings into sections. |
includeMatchedPassages | off | On a keyword run, add the document sentences carrying your terms to matched_passages. |
proxyConfiguration | none | An optional Apify proxy, used as one exit for the whole run. |
Worked examples
Track every new insider trade at a watchlist on a daily schedule:
{ "searchQueries": ["AAPL", "MSFT", "AMZN", "GOOGL"], "formTypes": ["4"], "includeInsiderTransactions": true, "onlyNew": true, "maxItems": 1000 }
Find filers that mentioned a topic in this quarter's 8-K and 10-Q filings:
{ "query": "\"tariff\"", "formTypes": ["8-K", "10-Q"], "filedFrom": "2026-07-01", "filedTo": "2026-09-30", "includeMatchedPassages": true, "maxItems": 300 }
Output
Each filing you get back lands as one data row marked ok. When a company, link or search produced nothing, a status row says why. An EDGAR error doesn't lose the rows already returned, and a refusal stops further reads. Three other row kinds can appear:
| Row kind | What it says |
|---|---|
ITEM_STATUS | One entry's miss: status carries the verdict (bad_url, bad_input, not_found, fetch_failed, not_reached, duplicate), reason the why. |
PROFILE_NOT_FOUND | Nothing you sent matched a company or a filing; you get this one row instead of an empty dataset. |
STOPPED_EARLY | Your spending limit ended the run; the counters say how much came back and how much was left. |
In the largest measured run, 499 of 597 rows were filing rows. The rest were named status rows: 97 of the run's 100 companies read not_reached with the row cap spent before their turns, and one was a duplicate.
Your run's totals sit in its summary in the key-value store.
To hand the Actor to an AI agent as a tool, paste claude mcp add --transport http apify "https://mcp.apify.com?tools=Pradio/sec-edgar-filings". It can look up companies and pull filing rows for you.
Personal data
Every row is a public SEC EDGAR disclosure read live and cited to the SEC as its source, so a filing the SEC corrects or removes is never served from an old copy. Filings can name company insiders as the forms name them, in a business capacity; the rows read an issuer's disclosures, not a profile of a person. A CIK belonging to a person returns a status row, no row carries a person's address, and document text is never read on a person's own filing. If a Form 3, 4 or 5 row names you, an issue on the Actor's Issues tab puts your name on a suppression list: rows emitted after leave insider_name blank while the transaction lines stay as filed. You are the controller of the rows your run returns; using them lawfully is your call.
Release notes
- 2026-10-03:
reported_figures,sectionsandmatched_passagesadded, opt-in; insider detail went opt-in; a second entry naming a claimed company gets aduplicatestatus row.
Limits
- Only sec.gov is read; a link on another host comes back marked unusable.
- Keyword search covers the first 10,000 matching documents; narrow a broad phrase with dates or forms. Rows outside a company's recent feed leave acceptance time, size and XBRL flags null.
- Document text stops at 100,000 characters per filing; the index link lists the exhibits.
- Financials are the US accounting figures the filing reported; a filer on another standard or an amendment with no statements gets null.
- Guidance lines are picked by word match and the sentiment score counts words, so treat both as rough signals.
- A refusal or a heavy SEC error ends the run early rather than retrying into a wall; the rows already returned stay.
- The filings are public regulatory filings the SEC lets scripts read under published conditions this run keeps. You are responsible for how you use the rows; this is not legal advice.
Not affiliated
An independent product, not affiliated with or endorsed by the U.S. Securities and Exchange Commission. The data is read from the SEC's public EDGAR system; no SEC or EDGAR logos or marks are used.
If this Actor saved you time, a review on the Store helps other buyers find it; problems go to the Issues tab.