# SEC 10-K & 10-Q XBRL Financial Statements & Earnings API (`mehdad-datalabs/sec-10k-10q-xbrl-financial-statements-earnings-api`) Actor

Extract audited SEC EDGAR 10-K (Annual) & 10-Q (Quarterly) XBRL financial statements into clean JSON/CSV. Get standardized Revenue, Net Income, Net Profit Margin %, Diluted EPS, Operating Cash Flow, Cash, Total Assets & Liabilities. Built for AI agents (MCP), n8n & stock screeners.

- **URL**: https://apify.com/mehdad-datalabs/sec-10k-10q-xbrl-financial-statements-earnings-api.md
- **Developed by:** [Mehdad Sharifi](https://apify.com/mehdad-datalabs) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 extracted financial statement periods

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## SEC 10-K & 10-Q XBRL Financial Statements, Revenue, EPS & Balance Sheet API

Extract official audited SEC EDGAR Form 10-K (Annual) and Form 10-Q (Quarterly) XBRL financial statements directly into clean JSON, CSV, or Excel datasets. Instantly pull standardized Revenue, Net Income, Net Profit Margin (%), Diluted EPS, Operating Income, Operating Cash Flow, R\&D Spend, Cash and Equivalents, Total Assets, Total Liabilities, and Shareholders Equity for any US public company.

Built for AI financial research agents (Claude MCP and Cursor), algorithmic stock screeners, equity analysts, DCF valuation models, and n8n and Make automation workflows—with zero SEC API keys or residential proxies required.

***

### Why Choose This SEC 10-K & 10-Q XBRL Financial Statements API?

| Feature | Benefit |
| :--- | :--- |
| Standardized US-GAAP XBRL Normalization | Automatically resolves changing accounting tags across industries into clean, uniform financial columns (revenueUsd, netIncomeUsd, epsDiluted, totalAssetsUsd). |
| True Quarterly vs. Annual Isolation | Filters out messy 6-month and 9-month cumulative XBRL tags so your 10-Q rows represent true 90-day quarterly performance and 10-K rows represent full 365-day fiscal years. |
| Automatic Profit Margin Calculation | Computes netProfitMarginPct automatically for every quarter and fiscal year. |
| Zero API Keys or Proxy Costs | Connects directly to official SEC EDGAR XBRL CompanyFacts endpoints—no USD 99 per month financial data subscriptions required. |
| AI Agent & MCP Server Ready | Plug directly into Claude Desktop, Cursor, LangChain, n8n, Make, or Zapier for automated fundamental equity analysis. |

***

### What Data Does This Actor Extract? (Sample JSON Output)

Every quarterly (10-Q) or annual (10-K) financial reporting period is flattened into a clean, structured JSON record:

```
{
  "ticker": "NVDA",
  "companyName": "NVIDIA CORP",
  "cik": "0001045810",
  "fiscalYear": 2026,
  "fiscalPeriod": "Q2",
  "formType": "10-Q",
  "periodEndDate": "2026-07-26",
  "filingDate": "2026-08-26",
  "accessionNumber": "0001045810-26-000129",
  "revenueUsd": 30040000000.0,
  "netIncomeUsd": 16599000000.0,
  "netProfitMarginPct": 55.26,
  "operatingIncomeUsd": 18642000000.0,
  "epsDiluted": 0.67,
  "operatingCashFlowUsd": 14489000000.0,
  "researchAndDevelopmentUsd": 3090000000.0,
  "cashAndEquivalentsUsd": 34800000000.0,
  "totalAssetsUsd": 85227000000.0,
  "totalLiabilitiesUsd": 27070000000.0,
  "stockholdersEquityUsd": 58157000000.0
}
```

***

### How to Use SEC 10-K & 10-Q XBRL Financial Statements Scraper

1. Enter Stock Tickers: Add one or more US public stock ticker symbols (e.g., NVDA, AAPL, MSFT, TSLA, GOOGL, AMZN, META). The Actor resolves tickers to 10-digit SEC Central Index Keys (CIKs) automatically.
2. Choose Reporting Period Filter: Select ALL for both 10-K and 10-Q periods, ANNUAL_10K strictly for full fiscal year reports, or QUARTERLY_10Q strictly for quarterly reports.
3. Set Max Financial Periods Per Ticker: Choose how many historical quarters or years to extract per company (default: 12, up to 100).
4. Run & Export: Click Start and download your dataset in JSON, CSV, Excel, or XML, or connect directly via the Apify REST API.

***

### Standardized US-GAAP XBRL Metrics Reference

| Output Column | Financial Statement Source | US-GAAP XBRL Concepts Resolved |
| :--- | :--- | :--- |
| revenueUsd | Income Statement (Top Line) | Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet |
| netIncomeUsd | Income Statement (Bottom Line) | NetIncomeLoss, ProfitLoss, NetIncomeLossAvailableToCommonStockholdersBasic |
| netProfitMarginPct | Calculated Ratio (%) | Automatically computed as (netIncomeUsd / revenueUsd) \* 100 |
| operatingIncomeUsd | Income Statement (EBIT) | OperatingIncomeLoss |
| epsDiluted | Income Statement (Per Share) | EarningsPerShareDiluted, EarningsPerShareBasic |
| operatingCashFlowUsd | Statement of Cash Flows | NetCashProvidedByUsedInOperatingActivities |
| researchAndDevelopmentUsd | Operating Expenses | ResearchAndDevelopmentExpense |
| cashAndEquivalentsUsd | Balance Sheet (Liquidity) | CashAndCashEquivalentsAtCarryingValue |
| totalAssetsUsd | Balance Sheet (Assets) | Assets |
| totalLiabilitiesUsd | Balance Sheet (Debt & Obligations) | Liabilities |
| stockholdersEquityUsd | Balance Sheet (Book Value) | StockholdersEquity |

***

### Transparent Pay-Per-Event Pricing

You only pay for the exact financial reporting periods extracted:

- Actor Startup (apify-actor-start): USD 0.01 per run.
- Extracted Financial Period (financial-period-extracted): USD 0.005 per parsed quarterly or annual financial statement row (USD 5.00 per 1,000 financial periods).
- Free Tier Friendly: With Apify's free USD 5.00 monthly credit, you can extract nearly 1,000 audited quarterly and annual financial statement periods every month for free.

***

### Top Use Cases

- AI Financial Research Agents (Claude MCP & Cursor): Give LLMs and AI agents direct access to verified, audited SEC numbers so they never hallucinate company revenue, earnings, or cash balances.
- Automated DCF & Valuation Models in Google Sheets / Excel: Pull 10 years of historical 10-K and 10-Q income statement, balance sheet, and cash flow data straight into spreadsheets via API.
- Quantitative Fundamental Stock Screeners: Screen hundreds of US equities by revenue growth, net profit margin expansion, R\&D intensity, and cash-to-debt ratios in Python.
- Financial Newsletter & Earnings Chart Automation: Connect this Actor to n8n or Make to automatically generate quarterly earnings summary tables when companies file new 10-Q or 10-K reports.

***

### Frequently Asked Questions (FAQ)

#### What is SEC EDGAR XBRL CompanyFacts data?

The U.S. Securities and Exchange Commission requires all public operating companies to tag every number in their Form 10-K (annual) and Form 10-Q (quarterly) financial statements using eXtensible Business Reporting Language (XBRL). While raw SEC XBRL files contain thousands of complex accounting tags and duplicate cumulative date ranges, this Actor normalizes the official SEC XBRL data into clean, standardized rows.

#### Why is SEC XBRL data more reliable than scraped finance websites?

Many free stock websites use delayed third-party feeds or rounded estimates. SEC XBRL data comes directly from the company's legally audited Form 10-K and Form 10-Q filings submitted to the U.S. government under Sarbanes-Oxley certification.

#### How can I connect this SEC 10-K & 10-Q Financials API to Python, Google Sheets, or n8n?

You can trigger this Actor via the Apify REST API, the apify-client Python or Node.js SDK, or the native Apify integration node inside n8n, Make, Clay, and Zapier to export clean financial statement tables automatically.

***

### Explore Our Complete 20-API Financial, Biotech & B2B Intelligence Suite

- [SEC Form 4 Insider Trading Scraper & XML Parser API](https://apify.com/mehdad-datalabs/sec-form-4-insider-trading-scraper-xml-parser-api)
- [SEC Form 13F Institutional Holdings & Hedge Fund Whale Scraper](https://apify.com/mehdad-datalabs/sec-13f-institutional-holdings-hedge-fund-whale-scraper)
- [SEC Form N-PORT Mutual Fund & ETF Portfolio Holdings API](https://apify.com/mehdad-datalabs/sec-nport-etf-mutual-fund-holdings-xml-scraper)
- [SEC Form 8-K Corporate Events, M\&A & Executive Change Scraper](https://apify.com/mehdad-datalabs/sec-8k-corporate-events-ma-executive-change-scraper)
- [SEC Schedule 13D & 13G Activist Investor & 5%+ Ownership API](https://apify.com/mehdad-datalabs/sec-schedule-13d-13g-activist-investor-ownership-api)
- [SEC Form S-1 IPO Pipeline & Form 144 Insider Sale Notice API](https://apify.com/mehdad-datalabs/sec-ipo-s1-form144-insider-sale-scraper)
- [SEC Form D Startup Funding, VC Raise & Founder B2B Lead API](https://apify.com/mehdad-datalabs/sec-form-d-startup-funding-vc-b2b-lead-scraper)
- [SEC DEF 14A Executive Compensation & Proxy Statement API](https://apify.com/mehdad-datalabs/sec-def14a-ceo-executive-compensation-proxy-scraper)
- [SEC Form 20-F & 6-K Global ADR & Foreign Stock Filings API](https://apify.com/mehdad-datalabs/sec-20f-6k-foreign-adr-international-stock-scraper)
- [CFPB Fintech & Bank Consumer Complaint Intelligence API](https://apify.com/mehdad-datalabs/cfpb-fintech-bank-consumer-complaint-b2b-scraper)
- [FDIC US Bank Directory, Deposits, Assets & B2B Lead API](https://apify.com/mehdad-datalabs/fdic-us-bank-directory-deposits-assets-b2b-scraper)
- [FDA 510(k) Medical Device Clearances & MedTech B2B Lead API](https://apify.com/mehdad-datalabs/fda-510k-medical-device-clearances-medtech-b2b-scraper)
- [FDA Drug, Device & Food Recall Enforcement & Legal Lead API](https://apify.com/mehdad-datalabs/fda-product-recalls-safety-enforcement-b2b-scraper)
- [US Pharmacy, Clinical Lab & Medical Supply B2B Lead API](https://apify.com/mehdad-datalabs/us-pharmacy-medical-lab-dme-b2b-lead-scraper)
- [US Public Company B2B Directory, SIC & HQ Phone API](https://apify.com/mehdad-datalabs/us-public-company-b2b-profile-sic-hq-phone-scraper)
- [US Federal Government Contract Awards & DoD B2B Lead Scraper](https://apify.com/mehdad-datalabs/us-federal-government-contract-awards-dod-b2b-scraper)
- [FDA Drug Approvals, NDA/BLA Biotech Catalyst & Pharma API](https://apify.com/mehdad-datalabs/fda-drug-approvals-biotech-catalyst-pharma-b2b-scraper)
- [ClinicalTrials.gov Phase 1-3 Biotech Catalyst & B2B Lead API](https://apify.com/mehdad-datalabs/clinical-trials-biotech-catalyst-cro-b2b-lead-scraper)
- [US Doctor, Dentist & Medical Clinic B2B Lead Scraper API](https://apify.com/mehdad-datalabs/us-doctor-dentist-clinic-healthcare-b2b-lead-scraper)

# Actor input Schema

## `tickers` (type: `array`):

Enter US stock ticker symbols to extract audited 10-K (Annual) and 10-Q (Quarterly) financial metrics.

## `periodType` (type: `string`):

Choose 'ALL' for both 10-K and 10-Q periods, 'ANNUAL_10K' for full fiscal years only, or 'QUARTERLY_10Q' for quarterly reports only.

## `maxPeriodsPerTicker` (type: `integer`):

Maximum number of recent financial reporting periods (quarters/years) to extract per company.

## Actor input object example

```json
{
  "tickers": [
    "NVDA",
    "AAPL",
    "MSFT"
  ],
  "periodType": "ALL",
  "maxPeriodsPerTicker": 12
}
```

# Actor output Schema

## `dataset` (type: `string`):

Clean table of audited quarterly and annual Revenue, Net Income, EPS, Cash, Assets, Liabilities, and Cash Flow

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("mehdad-datalabs/sec-10k-10q-xbrl-financial-statements-earnings-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("mehdad-datalabs/sec-10k-10q-xbrl-financial-statements-earnings-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call mehdad-datalabs/sec-10k-10q-xbrl-financial-statements-earnings-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mehdad-datalabs/sec-10k-10q-xbrl-financial-statements-earnings-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/nWXNhHlY67iiTr4ko/builds/wOLc8CYJIwaDt9VYE/openapi.json
