SEC EDGAR Filings & Financials: 10-K, 8-K, Form D
Pricing
from $1.00 / 1,000 filings
SEC EDGAR Filings & Financials: 10-K, 8-K, Form D
Unofficial SEC EDGAR scraper on SEC's official data APIs: filings by ticker/CIK/name (10-K, 10-Q, 8-K items, S-1, 13F), Form D funding by date range, and flattened XBRL financials (revenue, net income, EPS, cash flow). No login. Not affiliated with the SEC.
Pricing
from $1.00 / 1,000 filings
Rating
0.0
(0)
Developer
Kyungmin Lee
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
SEC EDGAR Filings & Financials Scraper
Unofficial scraper for SEC EDGAR, built only on the SEC's own official programmatic endpoints. It is not affiliated with, endorsed by or sponsored by the U.S. Securities and Exchange Commission. EDGAR data is public information and, as a U.S. government work, free to reuse. No login, no API key, no browser.
What does SEC EDGAR Filings & Financials Scraper do?
It turns EDGAR into clean rows you can use in a spreadsheet, database or AI pipeline:
- Filings by company: give tickers (
AAPL), CIK numbers (320193) or company names (Tesla) and get 10-K, 10-Q, 8-K, S-1, 424B, DEF 14A, 13F-HR, SC 13D/G and any other form type, newest first, with filing date, period, accession number and direct links to the primary document and the filing index. - 8-K item codes: every 8-K row lists its item codes with their titles (for example
2.02 Results of Operations and Financial Condition), and you can keep only the items you care about (earnings, material agreements, cybersecurity incidents, acquisitions). - Form D funding for specific companies: give the company (ticker, or CIK for private issuers), choose form type
Dand get its private placement filings with issuer, industry, state, entity type, offering amount, amount sold and number of investors. - New-filings watchlist: switch on Only new filings and schedule the Actor daily; each run outputs (and charges) only filings it has not delivered before.
- Financial screener: no companies needed. Rank or filter all SEC filers by a metric (revenue, net income, EPS, assets...) for a quarter or year, optionally with growth versus another period.
- Financials from XBRL: switch on Include financials to get one flat row per fiscal year or quarter with revenue, gross profit, operating income, net income, EPS, operating cash flow, capex, free cash flow, assets, liabilities, debt, cash and equity.
Why use it?
SEC's own website has no export button and the raw JSON is awkward: parallel arrays, zero-padded CIKs, relative document names, and an XBRL facts file with thousands of overlapping data points. This Actor does the joining, filtering and flattening for you, politely and within SEC's fair-access rules, and it runs on a schedule if you want to monitor new filings.
How to use it
- Enter companies (tickers, CIKs or names) and the form types you want.
- Set Date from (for example
3 years) and the maximum number of filings. - Optionally add 8-K item codes, or tick Include financials.
- Run it, then open the Filings, Financials or Form D funding table view, or download JSON/CSV/Excel.
The Actor works at company level only: companies are required for filings, financials and the watchlist (the screener is the exception, see below), and market-wide filing feeds are not supported. Insider forms (3, 4, 5) are intentionally not offered; the Actor outputs company-level data only.
Input
| Field | Meaning |
|---|---|
| Companies | Tickers, CIKs or names. Required unless you only use the screener. |
| Form types | e.g. 10-K, 10-Q, 8-K, S-1, DEF 14A, 13F-HR, D. Empty list + financials = financials only. |
| Include amendments | Also return /A versions. |
| 8-K item codes | Keep only 8-Ks with these items, e.g. 2.02. |
| Date from / Date to | YYYY-MM-DD or relative (3 years, 30 days). |
| Max filings per company / in total | Caps (and the cost ceiling). |
| Include financials, period, years | annual, quarterly or both, and how far back. |
| Only new filings, Watchlist state store name | Watchlist mode: output only filings not seen in earlier runs (state in a named key-value store, default sec-edgar-watchlist). |
| Screener fields | Metric (Revenues, NetIncomeLoss, Assets, EarningsPerShareDiluted...), period (CY2025Q2, CY2024), compare-to period, min/max value, min growth %, sort, max companies. Or pass the same as one screener JSON object. |
| Contact email | Sent to SEC in the User-Agent header, as SEC requires. |
Output
Rows have recordType filing, financials or screener. Example filing row (shortened):
{"recordType":"filing","cik":320193,"ticker":"AAPL","companyName":"Apple Inc.","form":"10-Q","filingDate":"2026-07-31","reportDate":"2026-06-27","accessionNumber":"0000320193-26-000020","items":[],"documentUrl":"https://www.sec.gov/Archives/edgar/data/320193/.../aapl-20260627.htm","sicDescription":"Electronic Computers","formD":null}
Data fields
- Filing rows:
cik,ticker,exchange,companyName,form,filingDate,reportDate,acceptanceDateTime,accessionNumber,items,itemTitles,description,sizeBytes,isXbrl,documentUrl,filingIndexUrl,sic,sicDescription,fiscalYearEnd,stateOfIncorporation,filerCategory,formD. formD(Form D only):issuerName,entityType,jurisdictionOfIncorporation,yearOfIncorporation,issuerCity,issuerState,industryGroup,issuerSizeRange,federalExemptions,isAmendment,dateOfFirstSale,securityTypes,minimumInvestment,totalOfferingAmount,totalAmountSold,totalRemaining,numberOfInvestors. Names of individuals (executives, directors, promoters) are deliberately not read or returned.- Financial rows:
periodType(FY/Q),fiscalYear,fiscalPeriod,periodStart,periodEnd,sourceForm,sourceAccessionNumber,currency,revenue,costOfRevenue,grossProfit,researchAndDevelopment,operatingExpenses,operatingIncome,netIncome,epsBasic,epsDiluted,dilutedShares,operatingCashFlow,capitalExpenditures,freeCashFlow,assets,currentAssets,cash,liabilities,currentLiabilities,longTermDebt,equity. Values are the latest reported (restated) figures, in US dollars.
New-filings watchlist
Set Only new filings to true. The Actor keeps the accession numbers it already delivered per company in a named key-value store (Watchlist state store name, default sec-edgar-watchlist). On every run it outputs and charges only filings that are not in that store yet, and adds isNew: true to the rows. The first run returns everything inside your date window and records it. Unchanged filings are neither output nor charged.
To monitor: put your companies in the input, choose form types (for example 10-K, 10-Q, 8-K), set Date from to 30 days, and run daily with your watchlist using an Apify schedule. Use a different store name for each watchlist, and delete the store to start over. If a run stops at your maximum charge, the filings it did not deliver are not recorded and appear on the next run.
Financial screener
The screener needs no companies. It reads SEC's XBRL frames data (one value per company and period) and returns the companies that match. Example: companies whose quarterly revenue is at least $1B and grew 20% or more year over year:
{"screener":{"concept":"Revenues","period":"CY2025Q2","compareToPeriod":"CY2024Q2","minValue":1000000000,"minGrowthPct":20,"sortBy":"growthDesc","maxCompanies":50}}
Rows (recordType screener) contain cik, ticker (when listed in SEC's ticker file), entityName, concept, unit, period, value, compareValue, growthPct, periodStart, periodEnd, accessionNumber (the filing the value comes from), form and filingDate when SEC supplies them, and country. Supported metrics: Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, NetIncomeLoss, OperatingIncomeLoss, GrossProfit, ResearchAndDevelopmentExpense, NetCashProvidedByUsedInOperatingActivities, EarningsPerShareBasic, EarningsPerShareDiluted (USD per share), Assets, Liabilities, StockholdersEquity, CashAndCashEquivalentsAtCarryingValue, LongTermDebt. Balance-sheet metrics use the period end date. Companies are placed in the calendar period closest to their fiscal period, so a fiscal quarter ending in late July counts as CY2025Q2. Revenue is tagged differently by company: run Revenues and RevenueFromContractWithCustomerExcludingAssessedTax to cover most filers.
Pricing
Pay per event, no start fee. Intended prices (set on the Apify Store page): filing $0.001 per filing (about $1 per 1,000) and financials $0.005 per company per run, covering all periods of that company, and screener-row $0.002 per screener row returned (use Max companies to cap the cost). In watchlist mode only new filings are charged. Failed or empty items are never charged, and a run stops at your maximum charge. The platform usage behind 1,000 filings is well under $0.02, so most of the price is the Actor's fee.
Tips
-
Use a store name unique to this Actor:
stateStoreNamemust be a named key-value store that this Actor created itself. If a store with that name already exists in your account but was created by another Actor or manually, this Actor may not use it and the run ends with an input-problem message (nothing is charged). Keep the default name or pick a new one. -
No-code automation: a ready-to-import n8n workflow runs this Actor on a schedule and sends new filings of your watchlist to Slack (all templates).
-
EPS screens: a few filers report per-share values with tagging errors (for example millions of dollars per share). Set Maximum value (e.g.
1000) when screening EPS to drop such outliers. -
Keep Max filings per company small for first tests; newest filings come first.
-
Banks and insurers report revenue under different tags; some fields may be empty for them. Foreign private issuers (20-F) and funds usually have no US-GAAP facts.
-
After a holding-company reorganization the ticker can point to a new CIK with little history (the old entity keeps its own CIK); look up the earlier CIK to get older data.
-
Quarterly rows cover Q1 to Q3 (and the fourth quarter is not filed separately; use annual rows). Quarterly cash-flow items are derived from year-to-date figures.
-
Set Contact email to your own address so SEC can reach you if needed.
-
For the watchlist, schedule the Actor daily and keep Date from a bit longer than the schedule interval (for example
30 days); already delivered filings are skipped anyway. -
For the screener, recent quarters fill up as companies file, so results for the latest quarter grow over several weeks.
FAQ
Is this legal and allowed? The Actor reads only SEC's documented data endpoints (data.sec.gov submissions and company facts, the company tickers file, and Form D documents), keeps below SEC's fair-access limit (about 4 requests per second from one connection, with retry and backoff), identifies itself in the User-Agent and never rotates IPs to get around limits. It does not use SEC's full-text search (efts.sec.gov), because that host serves no robots.txt and answered our automated test requests with 403, so there is no published permission for automated use. EDGAR content is public domain; check the terms of any text you republish.
Is it official? No. It is an independent tool, unaffiliated with the SEC.
Does it cover insiders or people? No. Forms 3, 4 and 5 are excluded and Form D related persons are not returned.
Why is a company not found? Names and tickers are matched against SEC's list of listed companies. For delisted or private issuers use their CIK.
How fresh is the data? It is read live from SEC at run time, so it is as current as SEC's own endpoints.