mcpField
S
sec-data

sec-data

github.com/gauss314Data & databases252286 installsUpdated 19w ago
Repository

About sec-data

sec-data is a skill for retrieving structured financial statements from SEC EDGAR filings. It serves analysts and developers who need annual or quarterly income, balance sheet, and cash flow data across US-GAAP and IFRS companies, with automatic concept mapping and FCF calculation.

Key features

  1. 01Fetch income, balance sheet, and cash flow statements
  2. 02Support US-GAAP and IFRS taxonomies
  3. 03Map equivalent concepts automatically
  4. 04Export structured JSON and CSV
  5. 05Calculate free cash flow

Use cases

  1. 01Compare annual or quarterly company statements
  2. 02Retrieve financial data for US and foreign issuers
  3. 03Export filing data for analysis

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gauss314/skills --skill sec-data

After installing, type/sec-datain Claude Code to confirm it loaded.

Bundled filesreferences/FINANCIALS_REFERENCE.mdscripts/fetch_financials.py

Details

From the project README

SEC Data — Financial Statements from SEC EDGAR

Acceso a datos financieros estructurados de la SEC EDGAR mediante la librería secfi + la API JSON de XBRL facts de la SEC.

Obtiene income statements, balance sheets, cash flow statements en formato JSON/CSV estructurado directamente de los filings XBRL.

Soporta US-GAAP (empresas US) e IFRS (empresas extranjeras) con mapping automático de conceptos.


Dependencia

pip install secfi

Requiere pandas y requests (vienen con secfi).


Cómo funciona

La SEC expone datos financieros estructurados via dos endpoints JSON:

EndpointDescripción
Company Factshttps://data.sec.gov/api/xbrl/companyfacts/CIK{CIK}.json — Todos los datos XBRL
Company Concepthttps://data.sec.gov/api/xbrl/companyconcept/CIK{CIK}/us-gaap/{concept}.json — Histórico de un concepto

El flujo típico:

  1. secfi.getCiks() → obtiene el CIK del ticker
  2. Fetch companyfacts/CIK{cik}.json → obtiene todos los datos financieros estructurados
  3. El script mapea automáticamente conceptos US-GAAP ↔ IFRS según la taxonomía
Taxonomías soportadas
TaxonomíaEmpresasFormulariosEjemplos
us-gaapEmpresas US10-K, 10-QAAPL, MSFT, NVDA
ifrs-fullEmpresas extranjeras (Foreign Private Issuers)20-F, 6-KGGAL, BABA, SAP, SPOT

El script detecta automáticamente la taxonomía y resuelve los conceptos usando un mapping US-GAAP ↔ IFRS.


Autenticación

HEADERS = {"User-Agent": "[email protected]"}

La SEC bloquea requests sin User-Agent válido (403 Forbidden). Usar el mismo email que secfi usa internamente.


Script principal: fetch_financials.py

# AAPL (US-GAAP) — todo
python scripts/fetch_financials.py --ticker AAPL --all

# GGAL (IFRS) — todo
python scripts/fetch_financials.py --ticker GGAL --all

# Solo income statement
python scripts/fetch_financials.py --ticker MSFT --income

# Solo balance + cash flow
python scripts/fetch_financials.py --ticker NVDA --balance --cashflow

# Todos los conceptos disponibles (no solo core)
python scripts/fetch_financials.py --ticker AAPL --all --all-concepts

# Output personalizado
python scripts/fetch_financials.py --ticker AAPL --all --output data/aapl

# Solo anual (default)
python scripts/fetch_financials.py --ticker AAPL --all

# Incluir trimestral también
python scripts/fetch_financials.py --ticker AAPL --all --quarterly
Flags disponibles
FlagDescripción
--ticker, -tTicker a consultar (requerido)
--allFetch de income + balance + cashflow
--incomeSolo income statement
--balanceSolo balance sheet
--cashflowSolo cash flow statement
--all-conceptsTodos los conceptos disponibles en la taxonomía (default: solo core)
--annualSolo datos anuales (default)
--quarterlyIncluir datos trimestrales
--output, -oPrefijo de archivos de salida
--quiet, -qSin salida detallada
Output generado
{ticker}_financials.json          → JSON completo con todos los conceptos
{ticker}_financials.csv           → CSV tabular aplanado (concepto x entry)
{ticker}_financials_income_annual.csv  → Matriz concepto x año (income)
{ticker}_financials_balance_annual.csv → Matriz concepto x año (balance)
{ticker}_financials_cashflow_annual.csv → Matriz concepto x año (cash flow)
Mapping IFRS automático

El script incluye un diccionario IFRS_MAP con 33+ conceptos US-GAAP mapeados a sus equivalentes IFRS. Por ejemplo:

US-GAAPIFRS (ifrs-full)
RevenuesRevenueAndOperatingIncome
OperatingIncomeLossProfitLossFromOperatingActivities
NetIncomeLossProfitLoss
StockholdersEquityEquity
NetCashProvidedByUsedInOperatingActivitiesCashFlowsFromUsedInOperatingActivities
Free Cash Flow (FCF)

El script calcula automáticamente el FCF:

FCF = Operating CF - CAPEX

Tanto para US-GAAP como IFRS.


Testeado con

AAPL (US-GAAP) — 55 conceptos extraídos ✅
>> Company facts: 4053 KB
>> Income: 13 conceptos x 17 años
>> Balance: 24 conceptos x 17 años
>> Cash flow: 18 conceptos x 17 años
>> FCF 2025: $98.7B
GGAL (IFRS) — 40 conceptos extraídos ✅
>> Company facts: 724 KB
>> Revenue: $7.72B (2024) · Net Income: $1.76B (2024)
>> Balance: Assets $35.3B · Equity $6.58B
>> Cash flow: Operating $3.80B · FCF $3.57B

Rate Limits

LímiteComportamiento
~10 req/sLímite SEC
Sin API keyPúblico, requiere User-Agent con email
Datos históricosNo cambian — cachear respuestas

Errores comunes

ErrorCausaSolución
403 ForbiddenUser-Agent inválidoUsar [email protected]
404 Not FoundCIK incorrectoVerificar con secfi.getCiks()
Ticker not foundNo está en SECSolo empresas que reportan a SEC
KeyError: us-gaapUsa IFRSEl script lo resuelve automáticamente

Estructura del skill

skills/sec-data/
├── SKILL.md                           # Este archivo
├── references/
│   └── FINANCIALS_REFERENCE.md        # Referencia completa: todos los conceptos + mapping IFRS
└── scripts/
    └── fetch_financials.py            # Script principal con mapping IFRS automático

Comments

Markdown supported