# SEC EDGAR Financial Facts Scraper (`scrapers_lat/sec-edgar-financials-scraper`) Actor

Scrape SEC EDGAR XBRL financial facts by ticker or CIK. Get reported values for Revenues, Assets, NetIncomeLoss and any us-gaap concept with unit, period, fiscal year, form and filing date.

- **URL**: https://apify.com/scrapers\_lat/sec-edgar-financials-scraper.md
- **Developed by:** [Michael Flores](https://apify.com/scrapers_lat) (community)
- **Categories:** Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Financial Facts Scraper

> Extract reported financial figures from SEC EDGAR XBRL data by ticker or CIK, covering every public company that files structured financials with the United States Securities and Exchange Commission.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![United States](https://img.shields.io/badge/Coverage-United%20States-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>18 fields</strong><br>per record</td>
<td align="center"><strong>United States</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-22</td>
</tr></table>

<br>

### What you get

Each record is one reported datapoint for one financial concept in one unit and reporting period, ready to load into any database, spreadsheet, or financial model:

- **companyName**: registered company name as filed with the SEC
- **ticker**: stock ticker symbol, when the company is in the SEC ticker directory
- **cik**: ten digit SEC Central Index Key for the company
- **concept**: XBRL concept tag, such as Revenues, Assets or NetIncomeLoss
- **label**: human readable label for the concept
- **taxonomy**: XBRL taxonomy the concept belongs to, us-gaap or dei
- **unit**: unit the value is reported in, such as USD, shares or USD/shares
- **value**: the reported numeric value
- **start**: start of the period the value covers, for duration concepts
- **end**: end of the period the value covers
- **fy**: fiscal year the value was reported for
- **fp**: fiscal period, such as FY, Q1, Q2 or Q3
- **form**: filing form the value came from, such as 10-K or 10-Q
- **filed**: date the source filing was filed
- **frame**: SEC reporting frame for the datapoint, when assigned
- **accessionNumber**: accession number of the source filing
- **description**: full definition of the concept from the taxonomy
- **observedAt**: when this datapoint was last seen by the scraper

### Who is it for

| Use case | Who benefits |
|---|---|
| Fundamental analysis | Investors pulling revenue, assets and income time series |
| Financial modeling | Analysts feeding reported figures into valuation models |
| Peer comparison | Teams comparing the same concept across many companies |
| Screening | Quant teams building datasets keyed by concept and period |
| Data pipelines | Developers loading structured financials into dashboards |

### Frequently Asked Questions

**How do I choose which companies to pull?**  
You provide stock tickers such as AAPL or MSFT, or raw CIK numbers, and the actor resolves each ticker to its CIK automatically. You can mix tickers and CIKs in the same run.

**Which financial concepts can I extract?**  
Any concept the company reports in XBRL. Common ones are Revenues, Assets and NetIncomeLoss, but you can request any us-gaap or dei tag, or leave the concept list empty to pull every reported concept for the company.

**Why are there several values for the same concept?**  
Companies report the same concept across many periods and across several filings, and the same period can be restated. Each datapoint carries its period, fiscal year, fiscal period, form and filing date so you can pick exactly the figures you need.

**What units should I expect?**  
Most income and balance sheet figures are in USD, share counts are in shares, and per share figures use USD/shares. You can restrict a run to specific units if you only want one kind.

**What happens if a company has no XBRL data?**  
If a company has not filed structured XBRL facts, the actor records an error row for that company and continues with the rest of the list.



<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [SEC EDGAR Company Filings Scraper](https://apify.com/scrapers_lat/sec-edgar-filings-scraper): Scrape SEC EDGAR company filings by ticker or CIK. Get form type, filing date, accession number...
- [USAspending Federal Award Scraper](https://apify.com/scrapers_lat/usaspending-awards-scraper): Scrape US federal prime awards from USAspending.gov. Get recipient, UEI, award amount, awarding...
- [openFDA Drug Events & Recalls Scraper](https://apify.com/scrapers_lat/openfda-drug-events-scraper): Scrape FDA drug adverse event reports (FAERS) and drug recall and enforcement actions from the...
- [OFAC Sanctions List Scraper](https://apify.com/scrapers_lat/ofac-sanctions-scraper): Download and parse the US Treasury OFAC SDN and Consolidated sanctions lists. Get each sanctioned...
- [Grants.gov Opportunity Scraper](https://apify.com/scrapers_lat/grants-gov-scraper): Extract U.S. federal grant opportunities from the official Grants.gov API. Scrape title, agency...
- [Federal Register Document Scraper](https://apify.com/scrapers_lat/federal-register-scraper): Search and extract documents from the U.S. Federal Register by keyword, document type, agency and...

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with the U.S. Securities and Exchange Commission. It only accesses data that is publicly available through the EDGAR open data APIs. Use it in accordance with the SEC EDGAR access terms.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of financial datapoints to collect across all companies. Optional.
## `tickers` (type: `array`):

Stock ticker symbols to look up, for example AAPL or MSFT. Each ticker is resolved to its SEC CIK.
## `ciks` (type: `array`):

SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.
## `concepts` (type: `array`):

XBRL concept tags to extract, for example Revenues, Assets, NetIncomeLoss. Leave empty to extract every reported concept for the company.
## `taxonomy` (type: `string`):

Which XBRL taxonomy to read concepts from.
## `units` (type: `array`):

Only keep datapoints reported in these units, for example USD, shares, USD/shares. Leave empty to keep all units.

## Actor input object example

```json
{
  "maxItems": 100,
  "tickers": [
    "AAPL",
    "MSFT"
  ],
  "concepts": [
    "Revenues",
    "Assets",
    "NetIncomeLoss"
  ],
  "taxonomy": "us-gaap"
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxItems": 100,
    "tickers": [
        "AAPL",
        "MSFT"
    ],
    "concepts": [
        "Revenues",
        "Assets",
        "NetIncomeLoss"
    ]
};

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

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/sec-edgar-financials-scraper").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 '{
  "maxItems": 100,
  "tickers": [
    "AAPL",
    "MSFT"
  ],
  "concepts": [
    "Revenues",
    "Assets",
    "NetIncomeLoss"
  ]
}' |
apify call scrapers_lat/sec-edgar-financials-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC EDGAR Financial Facts Scraper",
        "description": "Scrape SEC EDGAR XBRL financial facts by ticker or CIK. Get reported values for Revenues, Assets, NetIncomeLoss and any us-gaap concept with unit, period, fiscal year, form and filing date.",
        "version": "0.1",
        "x-build-id": "ba6xGK3g8IKizcktj"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~sec-edgar-financials-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-sec-edgar-financials-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~sec-edgar-financials-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-sec-edgar-financials-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~sec-edgar-financials-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-sec-edgar-financials-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of financial datapoints to collect across all companies. Optional."
                    },
                    "tickers": {
                        "title": "Tickers",
                        "type": "array",
                        "description": "Stock ticker symbols to look up, for example AAPL or MSFT. Each ticker is resolved to its SEC CIK.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ciks": {
                        "title": "CIKs",
                        "type": "array",
                        "description": "SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "concepts": {
                        "title": "Concepts",
                        "type": "array",
                        "description": "XBRL concept tags to extract, for example Revenues, Assets, NetIncomeLoss. Leave empty to extract every reported concept for the company.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "taxonomy": {
                        "title": "Taxonomy",
                        "enum": [
                            "us-gaap",
                            "dei",
                            "all"
                        ],
                        "type": "string",
                        "description": "Which XBRL taxonomy to read concepts from.",
                        "default": "us-gaap"
                    },
                    "units": {
                        "title": "Units",
                        "type": "array",
                        "description": "Only keep datapoints reported in these units, for example USD, shares, USD/shares. Leave empty to keep all units.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
