SEC EDGAR Filings Scraper | 16 Fields + XBRL, No API Key avatar

SEC EDGAR Filings Scraper | 16 Fields + XBRL, No API Key

Pricing

from $0.60 / 1,000 filing scrapeds

Go to Apify Store
SEC EDGAR Filings Scraper | 16 Fields + XBRL, No API Key

SEC EDGAR Filings Scraper | 16 Fields + XBRL, No API Key

Scrape SEC EDGAR filings (10-K, 10-Q, 8-K, S-1, Form 4) as clean JSON with XBRL financials & RAG ready text. Ticker to CIK auto resolve, no API key. Use in Claude, ChatGPT & any MCP agent. Free on empty runs.

Pricing

from $0.60 / 1,000 filing scrapeds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a few seconds ago

Last modified

Share

15 SEC filings with XBRL facts in 39 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.

Give it stock tickers or SEC CIK numbers and get each company's EDGAR filings as clean rows: form type, filing and report dates, accession number, 8-K item numbers, size, and ready to click links to the primary document and the filing index. Filter by form (10-K, 10-Q, 8-K, S-1, Form 4, DEF 14A or any other) and date range, and optionally attach headline XBRL financials (revenue, net income, assets, liabilities, equity, cash) and the filing's text for an AI pipeline. It uses the SEC's own open data endpoints, so there is no API key.

Why choose this actor?

  • A watchlist's filings in one run. On 2 October our test of the live code returned the latest 5 10-K, 10-Q and 8-K filings each for Apple, Microsoft and NVIDIA, 15 filings with XBRL financials in 39 seconds, every row with working document and index links.
  • No EDGAR plumbing. Tickers are turned into zero padded CIKs for you, SEC's parallel array JSON becomes one row per filing, document URLs are built for you, and requests are paced and carry the contact email SEC's fair access rules ask for.
  • Cheap, and nothing for empty lookups. $0.60 to $1.00 per 1,000 filings by plan, plus a $0.005 start fee per run. Unknown tickers, companies with no matching filings and the summary row cost nothing beyond that.

Run it on Apify

Part of The Mine Works Company and business data family: GST Taxpayer Lookup, Company Domain Finder, World Bank Trade Scraper, EU VAT Checker (VIES), Company KYB Resolver, Bundesanzeiger Scraper.

Try it in one minute

Paste this into the JSON tab of the input page and press Start:

{
"tickers": ["AAPL", "MSFT"],
"formTypes": ["10-K", "10-Q"],
"maxFilingsPerCompany": 5,
"contactEmail": "you@yourcompany.com"
}

You get the 5 latest annual and quarterly reports for Apple and Microsoft in a few seconds. If you start from the Console form, clear the example ciks and the 2024 dates it fills in, or you will get Apple's 2024 filings as well.

Give the companies in tickers (AAPL, MSFT, NVDA) or in ciks (320193 or 0000320193), or both. Narrow with formTypes, dateFrom and dateTo, cap with maxFilingsPerCompany, and put your own email in contactEmail.

Apify's free plan includes $5 of credit every month, which covers about 4,900 filings at this actor's Free plan price ($1.00 per 1,000 filings, plus the $0.005 start fee on each run).

Copy to your AI assistant

themineworks/sec-edgar-filings on Apify. Returns SEC EDGAR filings for companies given by stock ticker or CIK, one row per filing with ticker, CIK, company name, SIC industry, form, filing date, report date, accession number, primary document, 8-K items, XBRL flag, size, document URL and index URL; optionally headline XBRL financial facts and the primary document's text. Call ApifyClient("TOKEN").actor("themineworks/sec-edgar-filings").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: tickers (string[]) or ciks (string[]). Optional: formTypes (string[], prefix match, so "8-K" also returns "8-K/A"; empty = all forms), maxFilingsPerCompany (default 10, max 1000, newest first), dateFrom and dateTo ("YYYY-MM-DD"), includeFinancials (default false), includeDocumentText (default false), contactEmail (your email for SEC's User-Agent rule). The row with _type "summary" is a run report and is never billed. Full spec: GET https://api.apify.com/v2/acts/themineworks~sec-edgar-filings/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral

Key features

  • 16 fields per filing, plus optional financial_facts and document_text.
  • Ticker or CIK. Tickers are resolved through SEC's own company_tickers.json list; CIKs are padded to 10 digits. When you give only a CIK, the row still gets the company's ticker from SEC.
  • Any form type. formTypes matches from the start of the form name and ignores case, so 8-K returns 8-K and 8-K/A, and 10-K returns 10-K and 10-K/A. Leave it empty for every form.
  • 8-K item numbers. items lists the 8-K items reported (such as 2.02,9.01 for results of operations with exhibits, or 5.02 for officer changes), so you can filter material events without opening each filing.
  • XBRL headline financials. With includeFinancials, each row carries the company's latest reported revenue, net income, total assets, total liabilities, stockholders' equity and cash, each with its period end, form and fiscal year.
  • Filing text for AI pipelines. With includeDocumentText, the primary document is fetched and turned into plain text.

How to use it

Basic: recent filings for a few companies

{
"tickers": ["AAPL", "MSFT", "NVDA"],
"maxFilingsPerCompany": 10,
"contactEmail": "you@yourcompany.com"
}

With no formTypes, every form type comes back, newest first: 10-Ks, 10-Qs, 8-Ks, Form 4s, proxy statements and more.

Material events watch (8-K) across a portfolio

{
"tickers": ["AAPL", "MSFT", "NVDA", "AMZN", "GOOGL"],
"formTypes": ["8-K"],
"dateFrom": "2026-09-01",
"maxFilingsPerCompany": 20,
"contactEmail": "you@yourcompany.com"
}

Schedule it daily and move dateFrom forward, or keep the date and remove repeats by accession_number. Filter on items to catch earnings (2.02), officer changes (5.02) or new material agreements (1.01).

Annual and quarterly reports with financials

{
"tickers": ["NVDA"],
"formTypes": ["10-K", "10-Q"],
"maxFilingsPerCompany": 8,
"includeFinancials": true,
"contactEmail": "you@yourcompany.com"
}

Each row links to the report itself, and financial_facts gives the company's latest headline numbers. See the note below on what financial_facts is and is not.

Filing text for a RAG index

{
"ciks": ["320193"],
"formTypes": ["8-K"],
"dateFrom": "2026-01-01",
"dateTo": "2026-08-31",
"maxFilingsPerCompany": 10,
"includeDocumentText": true,
"contactEmail": "you@yourcompany.com"
}

document_text holds the primary document as plain text, ready to clean, chunk and embed. Large 10-Ks make large rows; keep maxFilingsPerCompany modest when text is on.

Insider trading filings (Form 4)

{
"tickers": ["TSLA"],
"formTypes": ["4"],
"maxFilingsPerCompany": 50,
"contactEmail": "you@yourcompany.com"
}

Because form matching is by prefix, 4 also matches forms such as 424B2 prospectuses and 40-F reports, so keep only rows whose form is exactly 4 afterwards. The row gives the filing and its links; open filing_url or index_url for the transaction details.

Input parameters

ParameterTypeDefaultWhat it does
tickersarray of stringsnone (form prefill: AAPL)Stock tickers, resolved to CIKs through SEC's ticker list. Unknown tickers are skipped with a log warning and not charged.
ciksarray of stringsnone (form prefill: 0000320193)SEC CIK numbers, with or without leading zeros. Use instead of, or with, tickers; a company given both ways is read once.
formTypesarray of stringsnone, all forms (form prefill: 10-K, 10-Q, 8-K)Form types to keep, matched from the start and ignoring case.
maxFilingsPerCompanyinteger (1 to 1,000)10 (form prefill: 5)Most filings per company, newest first, after the form and date filters.
dateFromstring YYYY-MM-DDnone (form prefill: 2024-01-01)Only filings filed on or after this date.
dateTostring YYYY-MM-DDnone (form prefill: 2024-12-31)Only filings filed on or before this date.
includeFinancialsbooleanfalseAttach headline XBRL facts to each row. One extra request per company.
includeDocumentTextbooleanfalseAttach the primary document's text. One extra request per filing, and much larger rows.
contactEmailstringcontact@example.comPut in the User-Agent, as SEC's fair access policy asks. Use your own address.

"Form prefill" values fill the Console form for you but are not defaults: an API call that leaves dateFrom and dateTo out has no date limit. The run uses 512 MB of memory and a 300 second timeout by default; with includeDocumentText on many filings, give it longer.

What data do you get?

One row per filing. Fields SEC leaves blank for a filing (no report date, no 8-K items) are left out of that row.

The company: ticker, cik (10 digits), company_name, sic (the SEC industry description, such as "Electronic Computers").

The filing: form, filing_date, report_date (period end, or event date for an 8-K), accession_number, items (8-K item numbers, comma separated), is_xbrl, size_bytes.

Links: primary_document and primary_doc_description, filing_url (the primary document on sec.gov), index_url (the filing's index page with every exhibit).

Optional: financial_facts (with includeFinancials), document_text (with includeDocumentText).

Run data: scraped_at.

Each run ends with a _type: "summary" row (companies_requested, companies_processed, filings_scraped, charged_for) and an _type: "info" row when filings were delivered. Neither is ever charged.

Things to know

  • financial_facts is the company's latest reported numbers, not that filing's. It comes from SEC's company facts feed: for each concept, the most recent value by period end, with its period_end, form and fy. The same object is attached to every row of a company. On 2 October Apple's came from its 10-Q for the period ending 27 June 2026, even on an older 8-K row. Check period_end and form before you compare companies: the latest value may be a single quarter, a year to date total or a full year, and a concept the company stopped using can be years old. On 2 October NVIDIA's revenue came back with a period_end of 30 January 2022, while its net_income was for the period ending 26 July 2026.
  • document_text is the primary document only, as raw text. Exhibits (such as the press release attached to an earnings 8-K) are not included; follow index_url for them. On inline XBRL filings the text starts with a few hundred characters of XBRL tag values, and some words run together where the page had line breaks ("UNITED STATESSECURITIES"). Clean it before you chunk it.
  • Recent history, not all history. The actor reads SEC's list of a company's recent filings, which SEC defines as at least the latest 1,000 filings or the last year, whichever is more. Very old filings of companies that file a lot may not be reachable here.
  • Form matching is by prefix. 10-K includes 10-K/A amendments; 4 includes 424B and 40-F forms. Filter on form if you need an exact form.

Stable fields for automations

These 15 fields were present in every filing row we sampled (20 10-K, 10-Q and 8-K filings from three runs on 30 September and 2 October 2026). For other form types, fields SEC leaves blank, such as report_date, may be missing.

FieldWhat it holds
tickerTicker you gave, or the company's first ticker from SEC
cik10 digit CIK
company_nameCompany name
sicSEC industry description
formForm type, such as 10-Q or 8-K/A
filing_dateDate filed, YYYY-MM-DD
report_datePeriod end or event date
accession_numberSEC accession number, the key to deduplicate on
primary_documentFile name of the main document
primary_doc_descriptionSEC's description of it
is_xbrltrue when the filing has XBRL data
size_bytesFiling size
filing_urlLink to the primary document
index_urlLink to the filing index
scraped_atISO timestamp when the row was captured

We will not rename these fields. New fields may be added over time; existing ones keep their names.

Output examples

Real rows from our test run of the live code on 2 October 2026.

Microsoft's annual report, with the first two financial_facts entries shown (the full object also has total assets, total liabilities, stockholders' equity and cash):

{
"ticker": "MSFT",
"cik": "0000789019",
"company_name": "MICROSOFT CORP",
"sic": "Services-Prepackaged Software",
"form": "10-K",
"filing_date": "2026-07-29",
"report_date": "2026-06-30",
"accession_number": "0001193125-26-323660",
"primary_document": "msft-20260630.htm",
"primary_doc_description": "10-K",
"is_xbrl": true,
"size_bytes": 36328553,
"filing_url": "https://www.sec.gov/Archives/edgar/data/789019/000119312526323660/msft-20260630.htm",
"index_url": "https://www.sec.gov/Archives/edgar/data/789019/000119312526323660/0001193125-26-323660-index.htm",
"scraped_at": "2026-10-02T16:22:57.343Z",
"financial_facts": {
"revenue": { "value": 331839000000, "unit": "USD", "period_end": "2026-06-30", "form": "10-K", "fy": 2026 },
"net_income": { "value": 133749000000, "unit": "USD", "period_end": "2026-06-30", "form": "10-K", "fy": 2026 }
}
}

An NVIDIA 8-K with its item numbers (1.01 material agreement, 2.03 financial obligation, 7.01 Regulation FD), financial_facts left out here:

{
"ticker": "NVDA",
"cik": "0001045810",
"company_name": "NVIDIA CORP",
"sic": "Semiconductors & Related Devices",
"form": "8-K",
"filing_date": "2026-08-17",
"report_date": "2026-08-17",
"accession_number": "0001045810-26-000069",
"primary_document": "nvda-20260817.htm",
"primary_doc_description": "8-K",
"items": "1.01,2.03,7.01",
"is_xbrl": true,
"size_bytes": 178196,
"filing_url": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000069/nvda-20260817.htm",
"index_url": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000069/0001045810-26-000069-index.htm",
"scraped_at": "2026-10-02T16:23:09.810Z"
}

The summary row of our scheduled check on Apify on 30 September (run eW67jdtjrdF5Y1lUf, 3 Apple filings, all charged):

{
"_type": "summary",
"companies_requested": 1,
"companies_processed": 1,
"filings_scraped": 3,
"charged_for": 3,
"scraped_at": "2026-09-30T11:00:26.765Z"
}

Pricing

Pay per event: you pay for each filing delivered to your dataset, plus a small start fee per run.

EventFreeBronzeSilverGold and above
filing-scraped, per filing$0.001$0.0009$0.00075$0.0006
filing-scraped, per 1,000 filings$1.00$0.90$0.75$0.60
apify-actor-start, per run$0.005 per GB of run memory, minimum one eventsamesamesame

The start fee, exactly. Apify's apify-actor-start event is charged once when a run starts, at $0.005 for each GB of memory the run uses, with a minimum of one event. This actor runs on 512 MB by default, so a default run pays the minimum, $0.005.

Worked examples on the Gold tier: the last 10 filings of 50 companies (500 filings) cost $0.30 plus $0.005. 1,000 filings cost $0.60 plus $0.005. Financials and document text add no event charge; they only make the run longer. On the Free plan, our 15 filing test would cost $0.015 plus $0.005.

Never charged: unknown tickers, companies with no filings matching your filters, failed requests, and the summary and info rows. A run that delivers nothing pays only the start fee.

There is no scheduled price change for this actor. The Pricing tab on this page always shows the rate for your own plan; if it and this table ever differ, the Pricing tab is right.

FAQ

What is SEC EDGAR? EDGAR is the US Securities and Exchange Commission's public database of company filings: annual reports (10-K), quarterly reports (10-Q), material event reports (8-K), registration statements (S-1), insider trades (Form 4), proxy statements (DEF 14A) and many more. Every US listed company and many funds and foreign issuers file there.

Do I need an SEC API key or account? No. SEC's open data needs no key. SEC's fair access policy asks automated clients to identify themselves with a contact email in the User-Agent and to stay under 10 requests a second; the actor waits 180 ms between requests and uses the email you give in contactEmail.

Which companies are covered? Any company or filer with a CIK. Tickers work for the companies in SEC's ticker list, which covers US listed companies; for funds, trusts or private filers, use the CIK.

How many filings can I get? Up to 1,000 per company per run, newest first, from SEC's recent filings list (at least the latest 1,000 filings or the last year).

How fresh is the data? Every run reads SEC live. A filing appears once SEC has published it to the company's filing list, usually shortly after acceptance.

Is the filing text ready for RAG? It is a good start, not a finished corpus. document_text is the primary document's text with scripts and markup removed, but on inline XBRL filings it begins with a block of XBRL tag values, and some words run together where the page had line breaks. Strip the leading block, add spaces at sentence boundaries, and fetch exhibits from index_url if you need them.

Can I trust financial_facts for comparisons? Use it as a quick headline, and always read period_end, form and fy with each value. See "Things to know" above: values may cover different periods, and a concept a company stopped reporting can be stale. For analysis, pull SEC's full company facts for the concepts you need.

Does it need a proxy? No. SEC's endpoints are public and meant for automated access within the fair access limits, so requests go out directly from Apify.

Can I run it on a schedule? Yes. Save your input as a task, then in Apify Console open Schedules, choose Create new and pick a time or a cron expression such as 0 13 * * 1-5 (weekdays). Remove repeats downstream by accession_number.

How do I export the data? From the run's Storage tab as JSON, CSV, Excel, XML or HTML, or through the Apify API. Drop the rows that have a _type field to keep filings only.

Can I use it from Claude, ChatGPT or another AI assistant?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/sec-edgar-filings.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http sec-edgar-filings "https://mcp.apify.com/?tools=themineworks/sec-edgar-filings".

Is it legal to use EDGAR data? Yes, in general: EDGAR filings are public records that the SEC publishes for anyone to read, and the actor follows SEC's fair access rules. Filings can name officers, directors and insiders, so you are responsible for how you use personal data under laws such as GDPR and CCPA. This is general information, not legal or investment advice.

Integrations

  • Google Sheets: export a run to a sheet, or append each day's new 8-Ks to a watchlist tab.
  • Make, Zapier and n8n: use the Apify app or node to run a daily check and post new filings to Slack or email.
  • Webhooks: have Apify call your URL when a run succeeds, then fetch the dataset.
  • API and client libraries: start runs and read datasets from Python, JavaScript or any HTTP client. The "Copy to your AI assistant" block above has the exact call.
  • MCP clients: Claude, ChatGPT, Cursor, VS Code and other MCP clients can call the actor through https://mcp.apify.com.

More from The Mine Works

Company and business data

Social media and video

Leads and business directories

Marketing, SEO and reviews

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

E-commerce and marketplaces

Food and local services

Developer and AI tools

More tools

Support

Found a bug or need a field we do not return yet? Open an issue on the Issues tab of this page and we will reply there. To ask for a new filings source or data set, email dmineworks@gmail.com.

SEC EDGAR Filings Scraper turns tickers and CIKs into clean filing rows with document links, 8-K items and optional XBRL headline numbers and text, with no API key, from $0.60 per 1,000 filings.