SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, Form 4 avatar

SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, Form 4

Pricing

from $9.23 / 1,000 results

Go to Apify Store
SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, Form 4

SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, Form 4

Scrape SEC EDGAR filings by ticker, CIK, company name or full-text search. Get 10-K, 10-Q, 8-K, Form 4 and every form with filing dates, accession numbers, item codes, direct document links, XBRL financials and insider transactions. No API key. Export JSON, CSV, 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

6 days ago

Last modified

Share

SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, Form 4

SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, Form 4

The most complete SEC EDGAR scraper on Apify. Pull US SEC filings data by ticker, CIK, company name, or EDGAR full-text search, with no API key and no rate-limit headaches. Get 10-K, 10-Q, 8-K, Form 4 and every other form, each with filing dates, accession numbers, item codes, direct sec.gov document links, the full company profile, optional XBRL financials, and parsed insider transactions. Export to JSON, CSV, or Excel.

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": "10-K",
"filingDate": "2025-11-01",
"reportDate": "2025-09-27",
"acceptanceDateTime": "2025-11-01T06:01:00.000Z",
"accessionNumber": "0000320193-25-000073",
"primaryDocument": "aapl-20250927.htm",
"primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000073/aapl-20250927.htm",
"primaryDocDescription": "10-K",
"fileNumber": "001-36743",
"filmNumber": "251187456",
"items": null,
"act": "34",
"size": 8130787,
"isXBRL": true,
"isInlineXBRL": true,
"sicDescription": "Electronic Computers",
"sicCode": "3571",
"exchanges": ["Nasdaq"],
"tickers": ["AAPL"],
"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000073/0000320193-25-000073-index.htm",
"financials": {
"entityName": "Apple Inc.",
"revenue": { "value": 391035000000, "unit": "USD", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" },
"netIncome": { "value": 93736000000, "unit": "USD", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" },
"totalAssets": { "value": 364980000000, "unit": "USD", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" },
"stockholdersEquity": { "value": 56950000000, "unit": "USD", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" },
"epsDiluted": { "value": 6.08, "unit": "USD/shares", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" }
},
"observedAt": "2026-09-04T14:40:59.443Z",
"error": null
}

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

This is a SEC filings scraper and company filings API for the US Securities and Exchange Commission's EDGAR system. Give it stock tickers, CIK numbers, a company name substring, or a full-text search query, and it returns one clean record per filing, ready for research, compliance, monitoring, or a data pipeline.

Two ways to search:

  • By company. Pass tickers, ciks, and/or a companyName substring. The actor resolves each to its SEC CIK, reads that company's full EDGAR submissions history, applies your form-type and date filters, and writes one normalized record per filing.
  • By full-text search. Pass a fullTextQuery (words or exact "phrases", 2001 to present) to find matching filings across every EDGAR filer, just like the EDGAR full-text search, narrowed by form type, date range, and optional CIKs.

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, filing and report dates, accession number, primary document URL and filing index URL, file and film numbers, 8-K item codes, size, and XBRL flags).

Optional paid add-ons enrich each record:

  • Insider transactions (withDetails): for ownership filings (Form 3, 4, 5), parse the ownership document into insider trades (reporting owner, role, security, shares, price, date, shares owned after) plus an aggregate bought/sold/net signal.
  • Company financials (withFinancials): attach the company's latest reported XBRL financials (revenue, gross profit, operating and net income, assets, liabilities, equity, cash, long-term debt, EPS, shares outstanding, public float), each with its unit, period-end date, fiscal year, and source form.

No API key, no login, no proxy. The SEC asks clients to identify themselves and keep request rates modest, which the actor handles automatically. Data covers US SEC EDGAR filings.

Why this SEC EDGAR scraper

A strict superset of the other SEC / EDGAR filing scrapers on Apify: every input they accept, every output they return, plus more depth.

CapabilityThis actorTypical SEC EDGAR actors
Lookup by tickerYesYes
Lookup by CIKYesYes
Lookup by company nameYesSome
Full-text search (2001+, phrases and boolean)YesSome
Form-type filter (10-K, 10-Q, 8-K, S-1, 13F, 13D, etc.)Yes, any formUsually a fixed list
Date-range filterYesSome
Direct document + filing index URLsYesUsually
8-K item codesYesRarely
Full company profile (address, EIN, SIC, exchanges, former names)YesRarely
File number and film numberYesRarely
XBRL financials attachedYes (add-on)Some
Parsed insider transactions + buy/sell signalYes (add-on)Rarely
No API key or loginYesVaries
Export JSON, CSV, ExcelYesVaries

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.

{
"tickers": ["AAPL", "MSFT"],
"formTypes": ["10-K", "10-Q", "8-K"],
"maxFilings": 10
}

Full-text search example (every 8-K that mentions "artificial intelligence" in early May 2024):

{
"fullTextQuery": "\"artificial intelligence\"",
"formTypes": ["8-K"],
"dateFrom": "2024-05-01",
"dateTo": "2024-05-15",
"maxFilings": 50
}

Provide companies by ticker, by CIK, and/or by a company name substring, or use a full-text query. Leave formTypes empty to keep every form.

Input reference

FieldTypeRequiredDefaultDescription
tickersstring[]one of these four["AAPL","MSFT"]Stock ticker symbols to look up, for example AAPL, MSFT. Each is resolved to its SEC CIK.
ciksstring[]one of these four(empty)SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.
companyNamestringone of these four(empty)Company name substring. Matches every company in the SEC ticker directory whose name contains this text.
fullTextQuerystringone of these four(empty)Full-text search across all EDGAR filers (2001 to present). Supports exact "phrases" and boolean operators. Combined with the form, date, and CIK filters.
formTypesstring[]no["10-K","10-Q","8-K"]Keep only filings whose form matches one of these. Use 10-K/A for amendments. 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).
withDetailsbooleannofalsePaid add-on. For ownership filings (Form 3, 4, 5), parse insider transactions.
withFinancialsbooleannofalsePaid add-on. Attach the company's latest XBRL financials to each record.
maxFilingsintegerno10Maximum filing records to collect across all companies.
maxPerCompanyintegerno(none)Cap filings per company. Useful when scraping many companies in one run.

At least one of tickers, ciks, companyName, or fullTextQuery is required. Filters combine with logical AND.

Output reference

One dataset item per filing. Types: string, integer, number, 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. The financials field appears when withFinancials is on.

FieldTypeDescription
companyNamestringCompany legal name.
tickerstringTicker used to resolve the company, or null when resolved by CIK/name/query.
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.
filmNumberstringSEC film (DCN) 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.
matchedQuerystringThe full-text query this filing matched (full-text mode only).
financialsobjectLatest XBRL financials when withFinancials is on. Each metric is an object with value, unit, end, fy, fp, form. Keys: revenue, costOfRevenue, grossProfit, operatingIncome, netIncome, totalAssets, totalLiabilities, stockholdersEquity, cashAndEquivalents, longTermDebt, epsBasic, epsDiluted, sharesOutstanding, publicFloat.
insiderTransactionsobject[]Parsed insider trades (insider). Each has reporting owner, role, security, dates, code, shares, price, shares owned after.
insiderTransactionCountintegerNumber of parsed insider transactions (insider).
insiderTotalBoughtValuenumberTotal dollar value of acquisitions (insider).
insiderTotalSoldValuenumberTotal dollar value of dispositions (insider).
insiderNetValuenumberNet 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"], "formTypes": ["10-K"], "withFinancials": true, "maxFilings": 1}):

{
"companyName": "Apple Inc.",
"ticker": "AAPL",
"cik": "0000320193",
"filerCategory": "Large accelerated filer",
"form": "10-K",
"filingDate": "2025-11-01",
"reportDate": "2025-09-27",
"accessionNumber": "0000320193-25-000073",
"primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000073/aapl-20250927.htm",
"fileNumber": "001-36743",
"filmNumber": "251187456",
"sicDescription": "Electronic Computers",
"sicCode": "3571",
"exchanges": ["Nasdaq"],
"financials": {
"revenue": { "value": 391035000000, "unit": "USD", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" },
"netIncome": { "value": 93736000000, "unit": "USD", "end": "2024-09-28", "fy": 2024, "fp": "FY", "form": "10-K" }
},
"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000073/0000320193-25-000073-index.htm",
"observedAt": "2026-09-04T14: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 (insider transactions on Tesla Form 4s):

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 '{"fullTextQuery":"\"going concern\"","formTypes":["10-K"],"maxFilings":25}'

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.
  • Add-ons billed only when they deliver. The details event is charged on a row only when an enrichment genuinely succeeds (parsed insider transactions when withDetails is on, or attached XBRL financials when withFinancials is on), and always after the base record is delivered. At most one details charge per row.
  • 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, base fields only. Upgrade for higher maxFilings and the paid add-ons.
  • 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

Do I need an SEC or API key? No. This actor reads public SEC EDGAR data directly. There is no key, login, or proxy to configure.

How does full-text search work? Set fullTextQuery to your words or an exact "phrase". The actor searches the full text of EDGAR filings from 2001 to today across all filers, then applies your formTypes, dateFrom/dateTo, and optional ciks filters. Each returned record still carries the full company profile.

How do I get insider trades (Form 4)? 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.

How do I get financials (revenue, net income, EPS)? Turn withFinancials on. Each record gains a financials object with the company's latest reported XBRL figures, each labeled with its period end, fiscal year, and source form.

Which forms are supported? All of them. 10-K, 10-Q, 8-K, S-1, 4, 13F-HR, SC 13D, SC 13G, DEF 14A, and any other EDGAR form. Leave formTypes empty to keep everything, or list the forms you want.

A run returned 0 records. Why? The company had no filings matching your formTypes and date range, the ticker/CIK did not resolve, or the full-text query had no matches. Loosen filters or verify the identifier. Zero-result runs are not charged.

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.