February 18, 2026

How to Access SEC Filings: 10-K, 10-Q, 8-K and Earnings Press Releases via API

featured image

Every serious financial product eventually hits the same wall - you need structured, reliable access to SEC filings.

Not PDFs you scrape.
Not fragile HTML parsers.
Not delayed third-party summaries.

You need:

  • Direct EDGAR access
  • Machine-readable financial statements
  • Item-level extraction
  • Real-time filing detection
  • Earnings press releases the moment they’re filed

The challenge isn’t that the data doesn’t exist. It’s that EDGAR was designed for disclosure, not developers. Filings contain multiple documents, exhibits, XBRL files, and different structures depending on form type.

This is where a proper SEC API becomes essential.

Let’s walk through how to retrieve 10-K, 10-Q, 8-K filings — and how earnings press releases (Exhibit 99.1) can be accessed.

Form 10-K is the annual report. It includes audited financial statements, risk factors, business overview, legal proceedings, and management discussion.

From a developer perspective, there are two common needs:

  1. Discover the filing (metadata)
  2. Retrieve or extract its contents

The first step is always metadata retrieval. You need the accession number, which uniquely identifies a filing in EDGAR.

1GET https://api.sec.finfeedapi.com/v1/filings

You can filter by:

  • form_type=10-K
  • ticker=AAPL
  • filing_date_start=2024-01-01
  • filing_date_end=2024-12-31

This returns structured metadata including:

  • accession_number
  • filing_date
  • report_date
  • primary_document
  • XBRL availability

Once you have the accession number, you can retrieve the actual filing.

To download the raw 10-K document:

1GET https://api.sec.finfeedapi.com/v1/download

Required:

  • accession_number=0000000000-00-000000
  • file_name=d123456d10k.htm

The file is streamed directly from the SEC archive and can be HTML, XML, PDF, TXT, or exhibit format.

If you don’t want raw HTML and instead need structured content, use the extractor endpoint:

1GET /v1/extractor

This classifies 10-K filings by Part and Item structure, making it much easier to isolate sections like:

  • Item 1A (Risk Factors)
  • Item 7 (MD&A)

For financial modeling use cases, the XBRL converter is often the most powerful feature:

1GET /v1/xbrl-converter

With the accession number, you receive financial statements converted into JSON — revenue, assets, liabilities, cash flow, footnotes — ready for direct integration into analytics systems.

Form 10-Q follows a similar structure to 10-K but represents quarterly reporting. It includes unaudited financial statements and updated risk disclosures.

From an API standpoint, the workflow is identical.

You filter:

1form_type=10-Q

Retrieve metadata via /v1/filings, then:

  • Download the primary document via /v1/download
  • Extract structured sections via /v1/extractor
  • Convert XBRL to JSON via /v1/xbrl-converter

Because 10-Q follows Part I and Part II structure, you can extract specific items like:

  • Part I, Item 1 (Financial Statements)
  • Part II, Item 1A (Risk Factors)

This is particularly useful for automated quarterly comparison systems.

Form 8-K is different.

It’s event-driven.

Companies file 8-Ks to report material events such as:

  • Earnings announcements
  • Acquisitions
  • Executive changes
  • Material agreements
  • Regulation FD disclosures

To retrieve 8-K filings:

1GET /v1/filings
2form_type=8-K

What makes 8-K especially useful is that it is structured by Item numbers. For example:

  • 2.02 — Results of Operations (earnings)
  • 1.01 — Entry into Material Agreement
  • 2.01 — Completion of Acquisition
  • 7.01 — Regulation FD

You can narrow filings further using:

1items_contain=2.02

This allows you to isolate earnings-related 8-K filings.

Yes — and this is a core feature.

The /v1/filings endpoint supports filtering by:

  • form_type
  • ticker
  • cik
  • filing date range
  • report date range
  • item content
  • sorting and pagination

Multiple form types can be provided as comma-separated values:

1form_type=10-K,8-K,10-Q

For deeper filtering, including keyword-based searches inside documents, you can use:

1GET /v1/full-text

With parameters such as:

  • text_contains=earnings,results
  • form_type=8-K
  • date filters

This is helpful when building event-driven intelligence systems.

Both — and this distinction matters.

If you need the original filing exactly as submitted to the SEC, use:

1GET /v1/download

This supports:

  • HTML
  • XML (XBRL)
  • TXT
  • PDF
  • Exhibits (including Exhibit 99.1)
  • FilingSummary.xml

Files are retrieved from the EDGAR archive. If you prefer structured classification, use:

1GET /v1/extractor

For 8-K filings, content is grouped by Item number.
For 10-K and 10-Q filings, content follows their official part and item hierarchy.

If your goal is financial statement normalization, use:

1GET /v1/xbrl-converter

This is one of the most common developer questions.

In practice, most public companies file earnings press releases under:

Form 8-K — Item 2.02 (Results of Operations and Financial Condition)

The press release itself is typically attached as:

Exhibit 99.1

If the earnings release was filed as part of the 8-K, it can be downloaded.

The workflow looks like this:

First, find relevant 8-K filings:

1GET /v1/filings
2form_type=8-K
3items_contain=2.02

Retrieve the accession number.

Next, identify the exhibit filename. Exhibit names often look like:

  • d123456dexhibit99.htm
  • d123456dex99.htm

Then download the exhibit:

1GET https://api.sec.finfeedapi.com/v1/download

Required:

  • accession_no=0000000000-00-000000
  • file_name=d123456dexhibit99.htm

If the earnings release was included as Exhibit 99.1, it is fully retrievable.

Important limitation:
If a company publishes earnings only on its website and does not attach the press release to the 8-K filing, it will not be available in EDGAR.

However, most large issuers follow the Item 2.02 + Exhibit 99.1 convention.

For applications that require low latency — such as earnings monitoring systems — polling APIs may not be enough.

The WebSocket connection:

1wss://api.sec.finfeedapi.com

Delivers:

  • A short historical backlog
  • Real-time filings
  • accession_no
  • form type
  • CIK
  • timestamps

This allows automatic detection of new 8-K earnings filings and immediate retrieval of associated exhibits.

Final Thoughts

Accessing SEC filings is no longer just about downloading documents. To support various use-cases, SEC filings data needs to be:

  • reliable
  • historically accessible
  • machine-readable
  • filterable by form type and item
  • retrievable at the exhibit level
  • streamable in real time

FinFeedAPI’s SEC API provides structured access to EDGAR filings — including 10-K, 10-Q, 8-K, XBRL financial statements, and Exhibit 99.1 earnings press releases — so developers, analysts, and institutions can work with regulatory disclosures as data… not as static documents.

👉 If your organization relies on financial reporting, earnings intelligence, compliance monitoring, or event-driven research, structured SEC data is foundational infrastructure. Explore the FinFeedAPI SEC API and build on filings the way they were meant to be consumed.

👉 Explore the SEC API and grab your FREE API key today.

Stay up to date with the latest FinFeedAPI news

By subscribing to our newsletter, you accept our website terms and privacy policy.

Recent Articles