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

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

Pricing

from $0.50 / 1,000 results

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

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

Get SEC filings (10-K, 10-Q, 8-K, Form 4) and clean XBRL financials by ticker or CIK from official EDGAR APIs. No API key, no setup. Export CSV, Excel, JSON.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

dean ko

dean ko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Features

Limited permissions

Share

SEC EDGAR Filings Scraper — 10-K, 10-Q, 8-K, Form 4 & XBRL Financials

SEC EDGAR Filings Scraper is a simple SEC filings API on Apify. Enter stock tickers (AAPL, MSFT, BRK.B) or CIK numbers and get two kinds of clean, structured rows from the official SEC EDGAR APIs:

  1. Filings: every 10-K, 10-Q, 8-K, Form 4, S-1, DEF 14A, 13D/G and other filing, with form type, filing date, report date, accession number, 8-K item numbers and direct links to the document and the filing index.
  2. Financials: tidy annual and quarterly XBRL financial data: revenue, net income, operating income, total assets, liabilities, stockholders' equity, cash, and basic and diluted EPS. You get one row per metric and period, deduplicated.

You don't need an API key, a proxy, or any User-Agent setup. Export to CSV, Excel, JSON or Google Sheets, or call it from your own code.

Who it's for and use cases

  • Investors and equity analysts. Pull revenue, net income and EPS history for a watchlist into Excel or Google Sheets in one run.
  • Filing alerts. Schedule a daily run and get every new 8-K, 10-Q or Form 4 insider filing for your tickers. Add a webhook to send them to Slack or email.
  • Quant, data science and AI agents. Get deduplicated fundamentals with period start and end dates, ready for pandas, a database or an LLM tool call.
  • Compliance, KYB and due diligence. Get a company's full filing history with a link to every document.
  • IPO and deal tracking. Find S-1, 424B, 13D and 13G filings in a date range.
  • Journalists and researchers. Answer "what did company X file, and when?" in seconds.

Why this Actor

  • Official data only. It calls SEC JSON endpoints (data.sec.gov/submissions, data.sec.gov/api/xbrl/companyfacts, sec.gov/files/company_tickers.json). It doesn't scrape HTML pages that break, and it doesn't use third-party data resellers.
  • Works out of the box. SEC returns 403 Forbidden to clients without an identifying User-Agent, a common failure in DIY scripts. This Actor sends a compliant User-Agent automatically. You can add your own contact email if you prefer.
  • Polite and reliable. It keeps to about 8 requests per second, under SEC's 10/s fair-access limit, and retries 403, 429 and 5xx responses with backoff.
  • Clean financials, not raw XBRL dumps. XBRL repeats each number in every later filing as a comparative figure. This Actor keeps one row per metric and period from the original report. It keeps only full-year (FY) and single-quarter (Q1–Q4) periods and drops 6- and 9-month year-to-date values.
  • Consistent revenue series. Revenue falls back across Revenues → RevenueFromContractWithCustomerExcludingAssessedTax → SalesRevenueNet, so you get one series even if a company changed tags. The tag field shows which one was used.
  • Full filing history. Beyond the newest ~1,000 filings, it follows SEC's older archive pages when your date range or limit needs them.
  • Tickers or CIKs, share classes included. BRK.B and BRK-B both work, and so do 320193 and 0000320193.
  • Spending cap respected. The Actor stops as soon as your run's maximum charge is reached.
  • Cheap. $0.50 per 1,000 rows with no monthly fee (see Pricing).

What it does not do: it doesn't download or parse the full text of documents, such as 10-K sections or risk factors. It also doesn't parse Form 4 transaction tables like shares and price, and it doesn't run full-text search across EDGAR. You get links to every document, so you can feed them to another tool.

How to use

  1. Open the Actor and click Try for free.
  2. In Tickers or CIKs, enter one or more tickers (e.g. AAPL, MSFT, NVDA) or CIK numbers.
  3. Optional: limit Form types (e.g. 10-K, 10-Q, 8-K, 4), set Filed from / Filed to dates, and choose Max filings per company.
  4. Leave Include financials (XBRL) on to get revenue, net income, EPS and other metrics, or turn it off to get filings only.
  5. Click Start. A few tickers finish in seconds. Download the results from the Filings or Financials view as CSV, Excel or JSON.

Example input:

{
"tickers": ["AAPL", "MSFT", "BRK.B"],
"formTypes": ["10-K", "10-Q", "8-K"],
"dateFrom": "2024-01-01",
"maxFilingsPerCompany": 50,
"includeFinancials": true
}
FieldTypeDefaultDescription
tickersarray["AAPL"]Tickers (AAPL, BRK.B) or CIKs (320193, 0000320193)
formTypesarray[] (all)Form types to keep, e.g. 10-K, 10-Q, 8-K, 4, S-1, DEF 14A. Amendments are separate (10-K/A)
dateFromstring2025-01-01YYYY-MM-DD. Filings filed on/after it; financial periods ending on/after it. Clear it for the full history
dateTostringemptyYYYY-MM-DD. Filings filed on/before it; financial periods ending on/before it
maxFilingsPerCompanyinteger10Newest-first limit of filing rows per company. 0 returns financials only
includeFinancialsbooleantrueAdd XBRL financial rows
contactEmailstringemptyOptional contact for the SEC User-Agent header

Insider trading (Form 4): set formTypes to ["4"] to list every insider filing with a link to the document. 8-K events: the items field holds the 8-K item numbers, e.g. 2.02,9.01 for earnings results.

Output sample

Every row has a type of filing or financial. The dataset has two ready-made views, Filings and Financials.

Filing row (real output for AAPL):

{
"type": "filing",
"ticker": "AAPL",
"cik": "0000320193",
"companyName": "Apple Inc.",
"form": "10-Q",
"filingDate": "2026-07-31",
"reportDate": "2026-06-27",
"acceptanceDateTime": "2026-07-31T14:01:02.000Z",
"accessionNumber": "0000320193-26-000020",
"primaryDocument": "aapl-20260627.htm",
"primaryDocDescription": "10-Q",
"items": null,
"primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/aapl-20260627.htm",
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/0000320193-26-000020-index.htm"
}

Financial row:

{
"type": "financial",
"ticker": "AAPL",
"cik": "0000320193",
"companyName": "Apple Inc.",
"metric": "Revenues",
"value": 109417000000,
"unit": "USD",
"fiscalYear": 2026,
"fiscalPeriod": "Q3",
"form": "10-Q",
"filed": "2026-07-31",
"periodStart": "2026-03-29",
"periodEnd": "2026-06-27",
"accessionNumber": "0000320193-26-000020",
"tag": "RevenueFromContractWithCustomerExcludingAssessedTax"
}
FieldRow typeMeaning
ticker, cik, companyNamebothCompany identifiers. cik is zero-padded to 10 digits
formbothSEC form type (10-K, 10-Q, 8-K, 4, ...)
filingDate, reportDate, acceptanceDateTimefilingWhen it was filed, the period it reports on, and the exact EDGAR acceptance time
accessionNumberbothUnique SEC filing ID
primaryDocument, primaryDocDescriptionfilingMain document file name and its description
itemsfiling8-K item numbers (e.g. 2.02,9.01)
primaryDocumentUrl, filingIndexUrlfilingDirect links to the document and to the filing index with all exhibits
metricfinancialRevenues, NetIncomeLoss, OperatingIncomeLoss, Assets, Liabilities, StockholdersEquity, CashAndCashEquivalents, EarningsPerShareBasic, EarningsPerShareDiluted
value, unitfinancialReported value and unit (USD, USD/shares)
fiscalYear, fiscalPeriodfinancialFiscal year and period (FY, Q1–Q4)
filed, periodStart, periodEndfinancialFiling date of the original report and the period it covers. periodStart is null for balance-sheet items
tagfinancialThe us-gaap XBRL tag the value came from

Pricing

This Actor uses pay-per-event pricing, so you pay only for results:

  • $0.0005 per result row ($0.50 per 1,000 rows), whether the row is a filing or a financial.
  • $0.00005 per Actor start (per GB of memory, so a fraction of a cent).

You pay nothing for proxies and need no subscription. Apify platform usage is included in the price.

Worked example: 5 tickers × 10 filings = 50 filing rows. Add ~55 financial rows per ticker since 2025 (≈ 275 rows), for 325 rows in total. That costs about $0.16. The default input (Apple since 2025) returns about 64 rows, roughly $0.03.

Tip: financials over a company's full history can be 500+ rows per ticker. Use dateFrom, or set includeFinancials to false, to keep runs small. You can also set a maximum cost per run in the run options. The Actor stops when it reaches it.

Integrations and API

Use it from any language through the Apify API, or connect it to Make, Zapier, n8n, Google Sheets, Slack, webhooks or an MCP-enabled AI agent.

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("deanko/sec-edgar-scraper").call(run_input={
"tickers": ["AAPL", "MSFT"],
"formTypes": ["10-K", "10-Q"],
"dateFrom": "2023-01-01",
"includeFinancials": True,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["type"], row["ticker"], row.get("form"), row.get("metric"), row.get("value"))

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('deanko/sec-edgar-scraper').call({
tickers: ['NVDA'],
formTypes: ['8-K', '4'],
dateFrom: '2025-01-01',
includeFinancials: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Filing alerts: create a Task with your watchlist, schedule it daily, and set dateFrom to a recent date. Then add a webhook or the Slack integration to get notified when new filings appear.

FAQ

Where does the data come from? It comes from the U.S. Securities and Exchange Commission's official EDGAR APIs: data.sec.gov/submissions for filings, data.sec.gov/api/xbrl/companyfacts for financials, and sec.gov/files/company_tickers.json to map tickers to CIKs. This is public data, provided as filed by the companies.

What are SEC's rate limits? SEC's fair access policy allows up to 10 requests per second per client. Clients must also identify themselves with a User-Agent header. This Actor stays at about 8 requests per second, sends an identifying User-Agent, and retries temporary blocks automatically.

Do I need an SEC API key or an account? No. EDGAR APIs are free and keyless. You only need an Apify account.

How fresh is the data? The data is as fresh as SEC's own APIs. SEC updates the submissions API in near real time as filings are accepted. XBRL financials appear once the filing is processed.

Can I search by company name? Not yet. Use the ticker or CIK. You can look up a CIK on SEC company search.

Can I get all filings for a company since the 1990s? Yes. Clear dateFrom and set maxFilingsPerCompany high (e.g. 10000). The Actor follows SEC's older archive pages. Remember that you pay per row.

Is scraping SEC EDGAR legal? EDGAR data is public U.S. government information. The SEC explicitly offers these APIs for automated access under its fair-access rules, which this Actor follows. This is not legal or investment advice.

Limitations

  • Financials cover nine common us-gaap metrics. Some companies use other tags for the same metric, e.g. banks, insurers, or EPS per Class A share, so a metric can be missing for them.
  • Foreign filers that report under IFRS (20-F, 40-F) may have few or no financial rows, because only us-gaap facts are read.
  • A fiscal Q4 row appears only when a company reports a separate fourth-quarter value. Most report only the full year in the 10-K (Q4 = FY − Q1 − Q2 − Q3).
  • fiscalYear and fiscalPeriod are as reported in SEC data for that filing.
  • The Actor returns filing metadata and links. It doesn't return document text, exhibits, or parsed Form 4 transaction tables.
  • Tickers come from SEC's ticker list. Delisted companies may need their CIK instead of a ticker.

Support and feedback

Found a bug, need another metric or form-type feature, or have an idea? Open an issue in the Issues tab. If the Actor saves you time, a review on the Store page helps others find it.

Not affiliated with or endorsed by the U.S. Securities and Exchange Commission. Financial data is provided as filed by the companies and is not investment advice.