# SEC EDGAR Financials — Company Fundamentals by Ticker (`straightforward_hydra/sec-edgar-financials`) Actor

Company financial statements from SEC XBRL — revenue, net income, assets, equity, EPS, cash flow, margins — by ticker or CIK. Annual & quarterly, with ratios. No API key.

- **URL**: https://apify.com/straightforward\_hydra/sec-edgar-financials.md
- **Developed by:** [Dev D](https://apify.com/straightforward_hydra) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 5 total users, 4 monthly users, 36.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## SEC EDGAR Financials 📊

**Company financial statements straight from the SEC — revenue, net income, assets, equity, EPS, cash flow and margins — by ticker or CIK. Annual and quarterly, with computed ratios. No API key.**

Every US-listed company files its numbers with the SEC in structured XBRL. This Actor maps a ticker to its filer, pulls the official reported figures, and hands you clean, comparable rows — no scraping of 10-K PDFs, no paid fundamentals API.

***

### Four modes

| Mode | What you get |
|---|---|
| **metrics** | A curated set of key financials — revenue, gross/operating income, net income, assets, liabilities, equity, cash, operating cash flow, R\&D, EPS — as tidy rows, annual and/or quarterly. |
| **snapshot** | One row per company: the latest fiscal year's figures **plus computed margins & returns** (net margin, gross margin, ROE, ROA). |
| **concept** | The full time series for one exact XBRL concept (e.g. `NetIncomeLoss`). |
| **frames** | One concept across **all companies** for a period (e.g. every company's `Revenues` for `CY2023`). |

### What you get per row (metrics mode)

| Field | Example |
|---|---|
| `ticker` · `company` · `cik` | AAPL · Apple Inc. · 0000320193 |
| `metric` · `tag` | Net income · NetIncomeLoss |
| `value` · `unit` | 112,010,000,000 · USD |
| `fiscal_year` · `period_type` · `period_end` | 2025 · annual · 2025-09-27 |
| `form` · `filed` | 10-K · 2025-10-31 |

### Examples

**Key financials for Apple & Microsoft (last 10 years)**

```json
{ "mode": "metrics", "tickers": ["AAPL", "MSFT"] }
```

**A one-row fundamentals snapshot with margins & ROE**

```json
{ "mode": "snapshot", "tickers": ["AAPL", "MSFT", "NVDA"] }
```

**Net income history for one company**

```json
{ "mode": "concept", "ticker": "TSLA", "tag": "NetIncomeLoss" }
```

**Every company's 2023 revenue**

```json
{ "mode": "frames", "tag": "Revenues", "period": "CY2023" }
```

### Run it on a schedule

Schedule a quarterly run to refresh a fundamentals database as new 10-Ks and 10-Qs land, power a stock-screener or valuation model, or diff snapshots to catch reporting changes.

### Data source & notes

- **Source:** the SEC's official [XBRL financial data APIs](https://www.sec.gov/edgar/sec-api-documentation) (`data.sec.gov`) — public and keyless.
- **As reported:** values are exactly what companies filed (including later restatements — we keep the most recently filed value per period).
- Companies use different XBRL tags over time; the **metrics** mode tries the common tags per line item, so occasionally a metric is unavailable for a given filer.
- US filers report in us-gaap; foreign filers (20-F) may use ifrs-full — pass `taxonomy` in concept/frames mode.
- Not investment advice — this is raw reported data.

***

#### Keywords

SEC EDGAR, SEC API, company financials, financial statements, fundamentals, XBRL, 10-K, 10-Q, revenue, net income, EPS, balance sheet, income statement, cash flow, financial ratios, net margin, ROE, stock fundamentals, ticker financials, company facts, CIK, financial data API, no API key.

# Actor input Schema

## `mode` (type: `string`):

metrics = curated key financials as rows. snapshot = one row/company (latest year + ratios). concept = full series for one XBRL tag. frames = one tag across all companies for a period.

## `ticker` (type: `string`):

A single company, e.g. "AAPL" or a CIK like "320193".

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

One or more companies (metrics / snapshot / concept modes), e.g. \["AAPL", "MSFT", "NVDA"].

## `annual` (type: `boolean`):

Include annual (10-K / 20-F) figures.

## `quarterly` (type: `boolean`):

Include quarterly (10-Q) figures.

## `lastN` (type: `integer`):

How many most-recent periods to keep per metric.

## `tag` (type: `string`):

Exact us-gaap concept, e.g. "NetIncomeLoss", "Assets", "Revenues", "ResearchAndDevelopmentExpense".

## `taxonomy` (type: `string`):

Usually "us-gaap" (or "dei", "ifrs-full").

## `period` (type: `string`):

Calendar period, e.g. "CY2023" (annual), "CY2023Q1" (quarterly), "CY2023Q1I" (instant/balance-sheet).

## `unit` (type: `string`):

Unit of measure, e.g. "USD", "USD-per-shares", "shares".

## `maxResults` (type: `integer`):

Cap on rows returned.

## Actor input object example

```json
{
  "mode": "metrics",
  "tickers": [
    "AAPL",
    "MSFT"
  ],
  "annual": true,
  "quarterly": false,
  "lastN": 10,
  "taxonomy": "us-gaap",
  "unit": "USD",
  "maxResults": 5000
}
```

# 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 = {
    "tickers": [
        "AAPL",
        "MSFT"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("straightforward_hydra/sec-edgar-financials").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 = { "tickers": [
        "AAPL",
        "MSFT",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("straightforward_hydra/sec-edgar-financials").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "tickers": [
    "AAPL",
    "MSFT"
  ]
}' |
apify call straightforward_hydra/sec-edgar-financials --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=straightforward_hydra/sec-edgar-financials",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5utge1UO1g1eRjoWc/builds/RwN3qPmfvLtVOMihx/openapi.json
