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

SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, XBRL

Pricing

from $4.00 / 1,000 filing fetched (incl. full-text search hit)s

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

SEC EDGAR Filings Scraper: 10-K, 10-Q, 8-K, XBRL

SEC EDGAR API and 10-K scraper: get 10-K, 10-Q, 8-K and other filings by ticker or CIK from official SEC APIs, with document links, key XBRL financials, optional Risk Factors and MD&A text, and EDGAR full-text search.

Pricing

from $4.00 / 1,000 filing fetched (incl. full-text search hit)s

Rating

0.0

(0)

Developer

SmartMoney Data

SmartMoney Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

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

Pull SEC filings for a list of companies from SEC EDGAR: form, dates, document links, 8-K item codes, key XBRL figures, and optional 10-K or 10-Q section text. Data comes from official SEC endpoints only (data.sec.gov, EDGAR Archives, and full-text search).

Use it to:

  • Pull the latest 10-K, 10-Q, and 8-K for a watchlist of tickers.
  • Build a revenue, net income, EPS, and assets series from XBRL company facts.
  • Grab Risk Factors and MD&A text for research or LLM context.
  • Find filings that mention a phrase (EDGAR full-text search).
  • Feed a compliance or fintech pipeline with accession numbers and archive links.

Not affiliated with or endorsed by the SEC. Output is not investment advice.

Quick start

  1. Set Your contact email (userAgentContact) to your own real email. The SEC requires a reachable contact in the User-Agent. The prefilled your-bot@example.com is only a placeholder.
  2. Leave the sample tickers (AAPL, MSFT) and form (10-K), or replace them with your list. CIKs work too, with or without leading zeros.
  3. Click Start. You get one dataset row per filing, with archive links. Open a document_url to check a number against the original filing.

Example input

This matches the form prefill. Two companies, two 10-Ks each: 4 filings, about $0.02.

{
"tickersOrCiks": ["AAPL", "MSFT"],
"formTypes": ["10-K"],
"maxFilings": 25,
"maxFilingsPerCompany": 2,
"mode": "filings",
"includeXbrlFinancials": true,
"extractSections": false,
"userAgentContact": "you@yourcompany.com"
}

Replace userAgentContact before a real run. Other shapes that work: mode: "financialsTimeSeries" for metric history, extractSections: true for Item 1A / Item 7 / Item 8 text, or fullTextQuery instead of (or with) tickers.

Example output

Filing row (filings mode, shortened). financials is included when includeXbrlFinancials is on and is not charged extra. sections is filled only when extractSections is on.

{
"record_type": "filing",
"company_name": "Apple Inc.",
"cik": "0000320193",
"ticker": "AAPL",
"sic_description": "Electronic Computers",
"form": "10-K",
"filed_date": "2025-10-31",
"period_end": "2025-09-27",
"accession_number": "0000320193-25-000079",
"document_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
"index_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.html",
"filing_txt_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079.txt",
"item_codes": null,
"financials": {
"revenue": 416161000000,
"revenue_tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
"net_income": 112010000000,
"eps_diluted": 7.46,
"assets": 359241000000
},
"sections": null,
"error": null
}

Other row types: financialsTimeSeries returns metric, tag, value, start, end, fy, fp, form, filed_date, accession_number, frame, plus company ids. Full-text hits return form, accession_number, filed_date, ciks, display_names, items, file_type, score. A bad ticker returns record_type: "error" and is not charged.

For 10-K and 10-Q, XBRL values are matched to that filing's accession number when SEC data allows it. On other forms the row shows the latest reported values. Check *_unit_period: a 10-Q figure can be year-to-date.

Pricing

Pay per event. Apify platform usage is included in the event price. You don't pay for compute units separately.

EventWhen it is chargedPricePer 1,000
filing-fetchedEach filing row, and each full-text hit$0.004$4.00
xbrl-fact-fetchedEach fact row in financialsTimeSeries$0.001$1.00

Apify also adds a tiny automatic Actor-start fee of $0.00005 per run. Error rows are free. Section text and XBRL on filing rows are not extra events. You can set a maximum cost per run in Apify Console.

Worked examples: 100 filings = $0.40. The prefill (4 filings) = $0.016. Financial history for 20 companies, 40 facts each = 800 × $0.001 = $0.80.

Input fields

FieldDefaultNotes
userAgentContactrequiredYour real email. Sent only to the SEC in the User-Agent
tickersOrCiksAAPL, MSFTTickers and/or CIKs. Optional if you set fullTextQuery
formTypes10-K in the sampleEmpty means all forms. 10-K also returns 10-K/A
dateFrom / dateTo—Filing date, YYYY-MM-DD, inclusive
maxFilings25Cap for the whole run in filings mode
maxFilingsPerCompany2 in the sampleStops one company using the whole cap. In financials mode, fact rows per company
modefilingsfilings or financialsTimeSeries
includeXbrlFinancialstrueAttach revenue, net income, diluted EPS, assets
extractSectionsfalseItem 1A, Item 7, Item 8 text. Slower, not extra
sectionMaxChars20000Truncate each extracted section
fullTextQuery—EDGAR full-text phrase, up to 100 hits
maxRequestsPerSecond8Capped at 8 (SEC fair-access limit is 10)

Tips, limits, FAQ

The Actor reads each company's recent-filings list (at least the last year or the last 1,000 filings, whichever is more). Very old filings of very active filers can be missing. Section extraction is best-effort and only runs on 10-K and 10-Q. XBRL uses common US-GAAP tags; unusual tags, IFRS, or no XBRL means empty figures. Several form types are balanced so 8-Ks do not crowd out 10-Ks.

Is it legal? It uses public EDGAR records and official SEC APIs, within the SEC fair-access policy (declared contact, at most 8 requests per second, backoff on 429/503). It is not affiliated with the SEC. You are responsible for how you use the output. Some filings name individuals because the law requires it; the Actor returns that text as published and adds nothing.

Why an email? The SEC requires every automated client to identify a contact. It is sent only in the request header to the SEC.

Does 10-K include amendments? Yes. 10-K/A is returned when you ask for 10-K.

Can I mix tickers and CIKs? Yes.

No match on financials? The company may not file XBRL under the tags this Actor looks up. Use document_url and confirm on EDGAR.

Integrations: run it via the Apify API, a schedule, Make, Zapier, n8n, or LangChain/MCP through Apify.