gauss314/skills

macrotrends

Scraper de Macrotrends: financial statements, ratios, employee count con 15+ años de data histórica. Sin API key.

First seen Jun 5, 2026

Installation

$ npx skills add gauss314/skills --skill macrotrends

Also in this package

Other skills from gauss314/skills · top by installs.

npx skills add gauss314/skills

Browse all from gauss314/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 237
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseMIT

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,016 B
  • docs SUMMARY.md 134 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 238 installs

SKILL.md

Macrotrends — Financial Data Scraper

Scraper de Macrotrends que extrae datos financieros históricos: income statements, balance sheets, cash flow statements, financial ratios y employee count con hasta 15+ años de data para ~6,500 tickers de mercados US (NYSE, NASDAQ, AMEX), incluyendo ADRs internacionales de +30 países.

Los datos vienen en JSON embebido en la página (no requiere API key, solo requests + BeautifulSoup).


⚠️ Aviso Legal

  • Macrotrends no tiene API pública oficial. Este scraper accede a datos públicamente disponibles en la web.
  • Respetá los términos de servicio de Macrotrends.
  • Implementá rate limiting (mín 2 segundos entre requests, recomendado 3s).
  • El sitio puede cambiar su estructura HTML/JS, rompiendo el scraper.

Instalación

pip install requests beautifulsoup4

Scripts

Script Descripción
[fetchfinancials.py](./scripts/fetchfinancials.py) Script principal: statements, ratios, employees

Uso rápido

# Income statement anual
python scripts/fetch_financials.py --ticker NVDA --income

# Todo lo disponible (income + balance + cashflow + ratios + employees)
python scripts/fetch_financials.py --ticker AAPL --all

# Statements trimestrales
python scripts/fetch_financials.py --ticker MSFT --income --quarterly
python scripts/fetch_financials.py --ticker MSFT --balance --quarterly

# Ratios anuales o trimestrales
python scripts/fetch_financials.py --ticker NVDA --ratios
python scripts/fetch_financials.py --ticker GGAL --ratios --quarterly

# Employee count
python scripts/fetch_financials.py --ticker NVDA --employees

# Output a archivo JSON
python scripts/fetch_financials.py --ticker AAPL --all --output data.json

# Silencioso (solo JSON)
python scripts/fetch_financials.py --ticker NVDA --all --quiet

Endpoints disponibles

Flag Data Frecuencias Períodos
--income Income Statement Anual, Trimestral ~15 años / ~60 quarters
--balance Balance Sheet Anual, Trimestral ~15 años / ~60 quarters
--cashflow Cash Flow Solo anual ~15 años
--ratios Financial Ratios (20 ratios) Anual, Trimestral ~15 años / ~60 quarters
--employees Employee Count Anual ~15 años
--all Todos los anteriores Según --quarterly -

Flags adicionales

Flag Descripción
--quarterly Usa frecuencia trimestral (donde esté disponible)
--output Archivo JSON de salida (default: stdout)
--slug Slug manual (si el search no funciona)
--delay Delay entre requests (default: 3.0s)
--quiet Modo silencioso

Resolución ticker → slug

Macrotrends usa URLs con el formato /stocks/charts/{TICKER}/{SLUG}/financial-statements.

El slug se resuelve automáticamente via el search endpoint interno. Ejemplos:

Ticker Slug
AAPL apple
NVDA nvidia
MSFT microsoft
GGAL grupo-financiero-galicia-sa
TSLA tesla

Si el search falla, se puede pasar el slug manualmente:

python scripts/fetch_financials.py --ticker GGAL --slug grupo-financiero-galicia-sa --all

Datos disponibles por statement

Income Statement (22 campos)

Revenue, COGS, Gross Profit, R&D, SG&A, Operating Income, Net Income, EBITDA, EBIT, EPS, Shares Outstanding, etc.

Balance Sheet (23 campos)

Cash, Receivables, Inventory, Total Assets, Total Liabilities, Shareholders Equity, Debt, Retained Earnings, etc.

Cash Flow (29 campos)

Net Income, Depreciation, Working Capital Changes, Capex, Free Cash Flow, Dividends, Stock Repurchases, etc.

Financial Ratios (20 ratios)

Current Ratio, Debt/Equity, Gross/Operating/Net Margins, ROE, ROA, ROI, Book Value/Share, FCF/Share, etc.

Employee Count

Año a año, empleados totales.

Ver referencia completa de campos en [references/STATEMENTSREFERENCE.md](./references/STATEMENTSREFERENCE.md).


Cobertura de Mercados

Macrotrends cubre ~6,500 tickers que cotizan en NYSE, NASDAQ y AMEX (incluyendo ADRs).

Tipo Cantidad Ejemplos
US Common Stocks ~5,300 AAPL, NVDA, MSFT
ADRs Internacionales ~276+ GGAL (Argentina), BABA (China), TM (Japón), PBR (Brasil), SAN (España), BP (UK)
ETFs & Fondos ~91 SPY, QQQ, VTI
Class A/B Shares ~22 BRK.A, BRK.B

Ver detalle completo de mercados, ADRs por país y cómo buscar tickers en [references/MARKETSREFERENCE.md](./references/MARKETSREFERENCE.md).


Rate Limits

Comportamiento Recomendación
Requests seguidos sin delay 429 Too Many Requests
Delay recomendado 3 segundos entre requests
Tickers por ejecución ~5-6 como máximo (para evitar bloqueo)
Backoff Si recibís 429, esperá 30-60s

Errores comunes

Error Causa Solución
429 Too Many Requests Rate limit Aumentar --delay o esperar
slug not found No se pudo resolver el ticker Usar --slug manualmente
No data found for X Endpoint no disponible Verificar que el ticker existe en Macrotrends
originalData not found Página cambió estructura Reportar issue

Estructura del skill

skills/macrotrends/
├── SKILL.md                              # Este archivo
├── references/
│   ├── STATEMENTS_REFERENCE.md           # Referencia de campos
│   └── MARKETS_REFERENCE.md             # Cobertura de mercados y ADRs
└── scripts/
    └── fetch_financials.py               # Script principal