SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper avatar

SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper

Pricing

from $9.23 / 1,000 results

Go to Apify Store
SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

21 hours ago

Last modified

Share

SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
tickersstring[]one of tickers/ciks/companyName["AAPL","MSFT"]Stock ticker symbols to look up, for example AAPL, MSFT. Each is resolved to its SEC CIK.
ciksstring[]one of tickers/ciks/companyName(empty)SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.
companyNamestringone of tickers/ciks/companyName(empty)Company name substring. Matches every company in the SEC ticker directory whose name contains this text.
formTypesstring[]no["10-K","10-Q","8-K"]Keep only filings whose form matches one of these. Empty keeps all forms.
dateFromstringno(empty)Keep filings filed on or after this date (YYYY-MM-DD).
dateTostringno(empty)Keep filings filed on or before this date (YYYY-MM-DD).
maxFilingsintegerno10Maximum filing records to collect across all companies.
maxPerCompanyintegerno(none)Cap filings per company. Useful when scraping many companies in one run. Empty means no per-company cap.
withDetailsbooleannofalseFor 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.

FieldTypeDescription
companyNamestringCompany legal name.
tickerstringTicker used to resolve the company, or null when resolved by CIK/name.
cikstringZero-padded SEC Central Index Key.
entityTypestringSEC entity type, for example operating.
filerCategorystringFiler category, for example Large accelerated filer.
stateOfIncorporationstringState or country of incorporation code.
stateOfIncorporationDescriptionstringState or country of incorporation description.
fiscalYearEndstringFiscal year end as MMDD.
einstringEmployer Identification Number.
phonestringCompany phone number.
websitestringCompany website, or null.
investorWebsitestringInvestor relations website, or null.
businessAddressobjectBusiness address (street1, street2, city, stateOrCountry, zipCode).
mailingAddressobjectMailing address (same shape).
formerNamesobject[]Former company names, each with name, from, to.
formstringFiling form type, for example 10-K, 10-Q, 8-K, 4.
filingDatestringDate the filing was filed (YYYY-MM-DD).
reportDatestringReport or period-of-report date (YYYY-MM-DD).
acceptanceDateTimestringISO timestamp the SEC accepted the filing.
accessionNumberstringSEC accession number.
primaryDocumentstringPrimary document filename.
primaryDocumentUrlstringDirect URL to the primary document.
primaryDocDescriptionstringPrimary document description.
fileNumberstringSEC file number.
itemsstring8-K item codes, comma separated.
actstringSecurities act reference, for example 34.
sizeintegerFiling size in bytes.
isXBRLbooleanWhether the filing includes XBRL.
isInlineXBRLbooleanWhether the filing includes inline XBRL.
sicDescriptionstringStandard Industrial Classification description.
sicCodestringSIC code.
exchangesstring[]Exchanges the company trades on.
tickersstring[]All tickers reported for the company.
filingUrlstringURL of the EDGAR filing index page.
insiderTransactionsobject[]Parsed insider trades (insider). Each has reporting owner, role, security, dates, code, shares, price, shares owned after.
insiderTransactionCountintegerNumber of parsed insider transactions (insider).
insiderTotalBoughtValueintegerTotal dollar value of acquisitions (insider).
insiderTotalSoldValueintegerTotal dollar value of dispositions (insider).
insiderNetValueintegerNet bought minus sold value (insider).
insiderSignalstringAggregate direction: buy, sell, or neutral (insider).
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). 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 error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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.

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.