SimplyWallSt — Stock Research & Snowflake Scores

SkillDatabases & data

Financial data on 120K+ global stocks: snowflake scores, valuation, financial health, dividend analysis, insider transactions. No API key.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the SimplyWallSt — Stock Research & Snowflake Scores skill

What this skill tells your AI

The instructions your AI receives, as published by gauss314/skills in skills/simplywallst/SKILL.md and read by ahel’s review.

Extrae datos financieros de SimplyWallSt usando su API REST interna (simplywall.st/api/...). Sin Cloudflare, sin API key, sin registro.

120,000+ stocks globales con snowflake scores (value, income, health, past, future, management), análisis de valuación, dividendos históricos y proyectados, score de salud financiera, insider transactions, y más.


⚠️ Aviso Legal

  • SimplyWallSt no tiene API pública oficial. Esta skill usa endpoints internos del frontend web.
  • Respetá los términos de servicio del sitio.
  • Implementá rate limiting (mín 300ms entre requests).

Instalación

pip install requests

Scripts

ScriptDescripción
fetch_sws.pyCliente completo: listar tickers, company detail, snowflake scores, análisis

Uso rápido

# PRIMERO: Descargar snapshot de tickers (1 vez sola, ~5 min)
python scripts/fetch_sws.py --download-snapshot

# Luego: las búsquedas por ticker usan el snapshot → instantáneas
python scripts/fetch_sws.py --ticker GGAL

# Buscar por nombre
python scripts/fetch_sws.py --search "Galicia"

# Full data con todos los includes (info, score, analysis, extended, raw_data, insider)
python scripts/fetch_sws.py --ticker GGAL --full

# Listar empresas (grid)
python scripts/fetch_sws.py --grid --size 10

# Listar solo tickers disponibles (Argentina)
python scripts/fetch_sws.py --list-tickers --country AR --output tickers_ar.csv

# Snowflake scores de múltiples tickers
python scripts/fetch_sws.py --ticker GGAL,BMA,SUPV --score

# Output a archivo
python scripts/fetch_sws.py --ticker GGAL --full --output ggal_data.json

Endpoints descubiertos

EndpointMétodoDataStatus
/api/grid/filter?include=info,score,gridPOSTListado de empresas con scores y métricas✅ Funciona
/api/company{canonical_url}GETDetail completo de una empresa✅ Funciona

Includes disponibles para Company Detail

IncludeData
infoPerfil corporativo, industria, país, empleados, CEO
scoreSnowflake scores (value, income, health, past, future, management)
analysisPrecio, market cap, P/E, P/B, ROE, ROA, EPS, dividendos, growth
analysis.extendedDividendos históricos, payout ratio, buyback, future EPS
analysis.extended.raw_dataFinancial statements históricos
analysis.extended.raw_data.insider_transactionsInsider trading

Cobertura

CaracterísticaDetalle
Stocks globales120,000+ en 90+ mercados
Mercados Argentina✅ BASE (BCBA) tickers: GGAL, BMA, SUPV, YPFD, etc.
Mercados US✅ NasdaqGS, NYSE, AMEX
ActualizaciónDiaria (precio de cierre)
Snowflake scoresValue, Income, Health, Past, Future, Management
DividendosHistórico 19+ años, proyecciones futuras
Insider transactions✅ (cuando están disponibles)
AnalistasConsensus count y price targets

Flags del script

FlagDescripción
--ticker TICKERTicker(s) separados por coma: GGAL o GGAL,BMA
--search QUERYBuscar por nombre
--fullTodos los includes disponibles
--scoreSolo snowflake scores
--infoSolo info corporativa
--analysisSolo métricas de análisis
--extendedIncluir data extendida
--raw-dataIncluir raw data financiera
--gridListar companies via grid/filter
--list-tickersListar tickers disponibles
--country ARFiltrar por país (solo --grid)
--size NTamaño de página (default: 24)
--limit NLímite de resultados
--download-snapshotDescargar snapshot completo de tickers a assets/
--snapshot PATHUsar snapshot específico (default: auto-buscar en assets/)
--output archivo.jsonGuardar output
--csvOutput en CSV
--delay NDelay entre requests (default: 0.3s)

Ejemplos por tipo de data

Snowflake Scores

python scripts/fetch_sws.py --ticker GGAL --score
# → value=0, income=0, health=4, past=1, future=5, management=0
# → "High growth potential with adequate balance sheet."

Info Corporativa

python scripts/fetch_sws.py --ticker GGAL --info
# → name, industry (Banks), country (AR), employees (10032), year_founded (1905)

Análisis + Dividendos

python scripts/fetch_sws.py --ticker GGAL --analysis --extended
# → P/E, P/B, ROE, ROA, EPS, Debt/Equity, market cap
# → dividend history, payout ratios, future yield

Todos los datos

python scripts/fetch_sws.py --ticker GGAL --full

Trabajar con el grid/filter

El grid/filter devuelve companies listas para consumir con info + scores + grid metrics en un solo request. Ideal para screener:

# Todas las empresas (default: market cap desc)
python scripts/fetch_sws.py --grid --limit 50

# Top 10 Argentina
python scripts/fetch_sws.py --grid --size 10

Nota: El grid/filter no permite filtros por país o ticker directamente. Usar --list-tickers + --country para filtrar client-side.


Snapshot de tickers (recomendado)

El snapshot es un archivo CSV local con todos los listings disponibles que permite resolver tickers al instante sin iterar el grid.

Descargar el snapshot (1 vez, ~10 min)

# Descarga completa (~10 min, genera assets/YY-MM-DD-ticker-snapshot.csv)
python scripts/fetch_sws.py --download-snapshot

Cómo funciona el snapshot completo

El API tiene un límite de 10,000 registros por query. Para obtener todos, el script usa particionado por exchange:

  1. Fase 1: Obtiene top 10K con la query default → extrae los exchanges disponibles
  2. Fase 2: Para cada exchange, fetchea todas las empresas (cada exchange tiene < 10K registros)
  3. Dedup: Combina todo y elimina duplicados por unique_symbol (exchange + ticker)

Resultados del snapshot 26-06-04

MétricaValor
Total listings únicos (unique_symbol)78,454
Países cubiertos83
Exchanges106
Duplicados en el proceso de dedup0
Requests totales~944
Duración~11 min
Tamaño del CSV~6 MB

¿Por qué 78K y no 54K? El API reporta total_records=54,530 para la query default (que filtra por scores mínimos). Pero al particionar por exchange con reglas más simples (exchange_symbol=X + primary_flag=true), se obtienen muchos más — ETFs, fondos, companies sin scores, y ADRs. Las 54K son solo las que cumplen los filtros default.

Verificación de calidad de datos

ControlResultado
unique_symbol duplicados0 — dedup 100% efectivo
Mismo ticker + mismo exchange repetido3 casos — todos son falsos positivos (leading zeros: 1150115)
Tickers cross-listed (múltiples exchanges)8,751 — legítimo, una empresa listada en varios mercados
Países con más listingsUS (16,274), CN (7,016), IN (6,074), CA (5,221), JP (4,764)

Sin snapshot

Sin snapshot, --ticker GGAL tarda ~30s iterando el grid. Con snapshot, es instantáneo.

Formato del snapshot

CampoDescripción
ticker_symbolSímbolo (GGAL, BMA, MSFT, etc.)
nameNombre de la empresa
exchange_symbolExchange (BASE, NasdaqGS, NYSE)
canonical_urlRuta API para company detail
unique_symbolExchange + Ticker (clave única)
countryCódigo ISO país
industryIndustria
employeesN° empleados
year_foundedAño fundación
score_value/income/health/past/future/management/totalSnowflake scores
share_pricePrecio actual
market_capMarket cap (moneda local)
pe_ratio, pb_ratioMúltiplos

Snapshot específico

python scripts/fetch_sws.py --snapshot assets/26-06-04-ticker-snapshot.csv --ticker GGAL

Mapa Exchange → País

ExchangePaísListingsDescripción
OTCPKUS6,138OTC Markets Pink (EEUU)
TSEJP4,693Tokyo Stock Exchange (Japón)
BSEIN3,833BSE India (antes Bombay SE)
SZSECN3,723Shenzhen Stock Exchange (China)
SHSECN3,293Shanghai Stock Exchange (China)
SEHKHK3,019Hong Kong Exchange
NYSEUS2,574New York Stock Exchange
ASXAU2,527Australian Securities Exchange
TSXCA2,381Toronto Stock Exchange (Canadá)
NasdaqGMUS2,304NASDAQ Global Market
NSEIIN2,241National Stock Exchange of India
KOSEKR2,075Korea Exchange (KOSPI)
TSXVCA1,999TSX Venture Exchange (Canadá)
KOSDAQKR1,997KOSDAQ (Corea)
LSEGB1,963London Stock Exchange
NasdaqCMUS1,854NASDAQ Capital Market
BATSUS1,575BATS Exchange (EEUU)
NasdaqGSUS1,532NASDAQ Global Select
BMEES1,514Bolsas y Mercados Españoles
TPEXTW1,430Taipei Exchange (Taiwán)
AIMGB1,310AIM (London Stock Exchange)
TWSETW1,292Taiwan Stock Exchange
KLSEMY1,172Bursa Malaysia
ENXTPAFR1,147Euronext Paris
XTRADE1,135Xetra (Deutsche Börse)
BOVESPABR1,120B3 (Brasil)
TASEIL1,029Tel Aviv Stock Exchange
SETTH993Stock Exchange of Thailand
IDXID985Indonesia Stock Exchange
OMSE852OMX Nordic (Estocolmo)
WSEPL849Warsaw Stock Exchange
OBNO811Oslo Børs (Noruega)
CNSXCA777Canadian Securities Exchange
JSEZA754Johannesburg Stock Exchange
DBDE648Deutsche Börse (Frankfurt)
SNSECL647Santiago Stock Exchange (Chile)
CPSEDK636Copenhagen Stock Exchange
BITIT625Borsa Italiana
SWXCH588SIX Swiss Exchange
IBSEIE577Irish Stock Exchange
HOSEVN572Ho Chi Minh Stock Exchange
HNXVN417Hanoi Stock Exchange
SGXSG398Singapore Exchange
DSEBD443Dhaka Stock Exchange
DFMAE70Dubai Financial Market
ADXAE85Abu Dhabi Securities Exchange
BASEAR84Bolsa de Buenos Aires (Argentina)
BMVMX147Bolsa Mexicana de Valores
BVLPE102Bolsa de Valores de Lima (Perú)
BVCCO56Bolsa de Valores de Colombia
.........106 exchanges en total

El mapping completo de los 106 exchanges está en references/REFERENCE.md.


Estructura del skill

skills/simplywallst/
├── SKILL.md                              # Este archivo
├── references/
│   └── REFERENCE.md                      # Documentación completa de endpoints y data
├── scripts/
│   └── fetch_sws.py                      # Script principal
└── assets/
    └── YY-MM-DD-ticker-snapshot.csv      # Snapshot de tickers (generado)

📖 Documentación detallada: Consultá references/REFERENCE.md para la documentación exhaustiva con ejemplos de respuesta, campos, y consideraciones técnicas.

Signals

GitHub stars
240
Forks
35
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
simplywallst
Source
github.com/gauss314/skills