SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper
Pricing
from $9.23 / 1,000 results
SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper
Scrape SEC EDGAR company filings by ticker or CIK. Get form type (10-K, 10-Q, 8-K, Form 4), filing date, accession number, report date, insider transactions and direct sec.gov document links. Export to JSON, CSV or Excel.
Pricing
from $9.23 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 hours ago
Last modified
Categories
Share
SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper
Here is one real result, with every field the actor returns:
{"companyName": "Apple Inc.","ticker": "AAPL","cik": "0000320193","entityType": "operating","filerCategory": "Large accelerated filer","stateOfIncorporation": "CA","stateOfIncorporationDescription": "CA","fiscalYearEnd": "0926","ein": "942404110","phone": "(408) 996-1010","website": null,"investorWebsite": null,"businessAddress": {"street1": "ONE APPLE PARK WAY","street2": null,"city": "CUPERTINO","stateOrCountry": "CA","zipCode": "95014"},"mailingAddress": {"street1": "ONE APPLE PARK WAY","street2": null,"city": "CUPERTINO","stateOrCountry": "CA","zipCode": "95014"},"formerNames": [{ "name": "APPLE INC", "from": "2007-01-10", "to": "2019-08-05" },{ "name": "APPLE COMPUTER INC", "from": "1994-01-26", "to": "2007-01-04" }],"form": "8-K","filingDate": "2026-07-30","reportDate": "2026-07-30","acceptanceDateTime": "2026-07-30T20:30:28.000Z","accessionNumber": "0000320193-26-000018","primaryDocument": "aapl-20260730.htm","primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/aapl-20260730.htm","primaryDocDescription": "8-K","fileNumber": "001-36743","items": "2.02,9.01","act": "34","size": 417360,"isXBRL": true,"isInlineXBRL": true,"sicDescription": "Electronic Computers","sicCode": "3571","exchanges": ["Nasdaq"],"tickers": ["AAPL"],"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/0000320193-26-000018-index.htm","observedAt": "2026-08-10T14:40:59.443Z","error": null}
The most complete SEC EDGAR filings scraper available. It returns every field the SEC EDGAR submissions API exposes for each filing along with the full company profile (addresses, EIN, SIC, exchanges, former names), plus an optional insider-transactions parser for Form 3, 4 and 5 filings, and gives you six filters to target exactly the filings you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor resolves each company you pass (by ticker, CIK, or company name substring) to its SEC CIK, reads that company's EDGAR submissions history, applies the form-type and date filters, and writes one normalized record per filing to the run's dataset. Every filing record carries the full company profile (business and mailing addresses, EIN, phone, SIC code and description, exchanges, former names) alongside the filing metadata (form, dates, accession number, primary document URL, file number, item codes, size and XBRL flags).
With withDetails on, ownership filings (Form 3, 4 and 5) are parsed into insider transactions: the reporting owner, their role, and each trade (shares, price, date, shares owned after), plus an aggregate bought/sold/net signal. This adds one detail request per matching filing.
Data covers US SEC EDGAR filings. The SEC asks clients to identify themselves and rate-limit requests, which the actor handles automatically.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 of the most recent 10-K, 10-Q and 8-K filings for Apple and Microsoft.
{"maxFilings": 10,"withDetails": false,"tickers": ["AAPL", "MSFT"],"formTypes": ["10-K", "10-Q", "8-K"]}
Provide companies by ticker, by CIK, and/or by a company name substring (at least one is required). Leave formTypes empty to keep every form.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
tickers | string[] | one of tickers/ciks/companyName | ["AAPL","MSFT"] | Stock ticker symbols to look up, for example AAPL, MSFT. Each is resolved to its SEC CIK. |
ciks | string[] | one of tickers/ciks/companyName | (empty) | SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193. |
companyName | string | one of tickers/ciks/companyName | (empty) | Company name substring. Matches every company in the SEC ticker directory whose name contains this text. |
formTypes | string[] | no | ["10-K","10-Q","8-K"] | Keep only filings whose form matches one of these. Empty keeps all forms. |
dateFrom | string | no | (empty) | Keep filings filed on or after this date (YYYY-MM-DD). |
dateTo | string | no | (empty) | Keep filings filed on or before this date (YYYY-MM-DD). |
maxFilings | integer | no | 10 | Maximum filing records to collect across all companies. |
maxPerCompany | integer | no | (none) | Cap filings per company. Useful when scraping many companies in one run. Empty means no per-company cap. |
withDetails | boolean | no | false | For ownership filings (Form 3, 4, 5), fetch the ownership document and parse insider transactions. Adds one detail request per matching filing. |
At least one of tickers, ciks or companyName is required. Filters combine with logical AND.
Output reference
One dataset item per filing. Types: string, integer, boolean, string[], object, object[], or null when the source value is absent. Fields marked (insider) appear only for Form 3/4/5 filings when withDetails is on.
| Field | Type | Description |
|---|---|---|
companyName | string | Company legal name. |
ticker | string | Ticker used to resolve the company, or null when resolved by CIK/name. |
cik | string | Zero-padded SEC Central Index Key. |
entityType | string | SEC entity type, for example operating. |
filerCategory | string | Filer category, for example Large accelerated filer. |
stateOfIncorporation | string | State or country of incorporation code. |
stateOfIncorporationDescription | string | State or country of incorporation description. |
fiscalYearEnd | string | Fiscal year end as MMDD. |
ein | string | Employer Identification Number. |
phone | string | Company phone number. |
website | string | Company website, or null. |
investorWebsite | string | Investor relations website, or null. |
businessAddress | object | Business address (street1, street2, city, stateOrCountry, zipCode). |
mailingAddress | object | Mailing address (same shape). |
formerNames | object[] | Former company names, each with name, from, to. |
form | string | Filing form type, for example 10-K, 10-Q, 8-K, 4. |
filingDate | string | Date the filing was filed (YYYY-MM-DD). |
reportDate | string | Report or period-of-report date (YYYY-MM-DD). |
acceptanceDateTime | string | ISO timestamp the SEC accepted the filing. |
accessionNumber | string | SEC accession number. |
primaryDocument | string | Primary document filename. |
primaryDocumentUrl | string | Direct URL to the primary document. |
primaryDocDescription | string | Primary document description. |
fileNumber | string | SEC file number. |
items | string | 8-K item codes, comma separated. |
act | string | Securities act reference, for example 34. |
size | integer | Filing size in bytes. |
isXBRL | boolean | Whether the filing includes XBRL. |
isInlineXBRL | boolean | Whether the filing includes inline XBRL. |
sicDescription | string | Standard Industrial Classification description. |
sicCode | string | SIC code. |
exchanges | string[] | Exchanges the company trades on. |
tickers | string[] | All tickers reported for the company. |
filingUrl | string | URL of the EDGAR filing index page. |
insiderTransactions | object[] | Parsed insider trades (insider). Each has reporting owner, role, security, dates, code, shares, price, shares owned after. |
insiderTransactionCount | integer | Number of parsed insider transactions (insider). |
insiderTotalBoughtValue | integer | Total dollar value of acquisitions (insider). |
insiderTotalSoldValue | integer | Total dollar value of dispositions (insider). |
insiderNetValue | integer | Net bought minus sold value (insider). |
insiderSignal | string | Aggregate direction: buy, sell, or neutral (insider). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"tickers": ["AAPL","MSFT"], "formTypes": ["10-K","10-Q","8-K"], "maxFilings": 10}):
{"companyName": "Apple Inc.","ticker": "AAPL","cik": "0000320193","filerCategory": "Large accelerated filer","stateOfIncorporation": "CA","ein": "942404110","phone": "(408) 996-1010","businessAddress": { "street1": "ONE APPLE PARK WAY", "city": "CUPERTINO", "stateOrCountry": "CA", "zipCode": "95014" },"form": "8-K","filingDate": "2026-07-30","reportDate": "2026-07-30","accessionNumber": "0000320193-26-000018","primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/aapl-20260730.htm","items": "2.02,9.01","sicDescription": "Electronic Computers","sicCode": "3571","exchanges": ["Nasdaq"],"tickers": ["AAPL"],"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/0000320193-26-000018-index.htm","observedAt": "2026-08-10T14:40:59.443Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sec-edgar-filings-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"tickers":["AAPL"],"formTypes":["10-K"],"maxFilings":5}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sec-edgar-filings-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"tickers":["TSLA"],"formTypes":["4"],"withDetails":true,"maxFilings":50}'
Apify CLI:
apify call scrapers_lat/sec-edgar-filings-scraper \--input '{"ciks":["320193"],"formTypes":["8-K"],"maxFilings":10}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per filing record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxFilings. - Source politeness. The SEC rate-limits and requests client identification; the actor respects that automatically, so very large multi-company pulls run at a steady pace.
FAQ and troubleshooting
A run returned 0 records. Why?
The company had no filings matching your formTypes and date range, or the ticker/CIK did not resolve. Loosen filters or verify the identifier. Zero-result runs are not charged.
How do I get insider trades?
Set formTypes to ["4"] (or include 3 and 5) and turn withDetails on. The actor parses each ownership document into insiderTransactions and an aggregate insiderSignal.
Can I scrape many companies at once?
Yes. Pass multiple tickers or ciks, and use maxPerCompany to cap filings per company so one large filer does not dominate the run.
Why is a field null?
The SEC submission did not include that value. Missing source values are returned as null, never invented.
Is this an official SEC tool? No. This actor is independent and has no affiliation with the SEC. It reads only data that is publicly available through SEC EDGAR. Use it in accordance with the SEC EDGAR access policies.
Related scrapers
- USPTO Trademark Search Scraper: US trademark registrations and applications.
- Crunchbase Company Scraper: company profiles, funding and people.
- OFAC Sanctions List Scraper: US Treasury OFAC SDN and Consolidated lists.
- USAspending Federal Award Scraper: US federal prime awards.
- openFDA Food Recall & Enforcement Scraper: US FDA food recalls and enforcement reports.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the SEC. Accesses only publicly available SEC EDGAR data. Use in accordance with the SEC EDGAR access policies.
