mcpField
M
marketscreener

marketscreener

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

About marketscreener

marketscreener is a scraper and command-line client for public MarketScreener data, including quotes, financials, analyst consensus, news, and transcript listings. It is intended for users researching global stocks, ETFs, and indices without registration; full transcript text is listed as premium.

Key features

  1. 01Quotes and company profiles
  2. 02Financials and valuation metrics
  3. 03Analyst consensus and ratings
  4. 04News, calendars, and insider trades
  5. 05Transcript listings and search
  6. 06Historical charts and technical indicators

Use cases

  1. 01Researching company financials and valuation
  2. 02Checking analyst targets and recommendations
  3. 03Finding transcript listings and corporate news
  4. 04Reviewing market calendars and insider trades

MCP support

This is a client and CLI for scraping public MarketScreener pages; the input does not specify MCP server management or MCP integration.

Install

Copy the command and run it in a terminal.

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

After installing, type/marketscreenerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
ENDPOINTS.md
scripts/
marketscreener_cli.py
marketscreener_client.py

Details

From the project README

MarketScreener — Datos Financieros y Earnings Transcripts Globales

Scraper de MarketScreener (plataforma de S&P Capital IQ) que accede a datos gratuitos sin registro: earnings transcripts, cotizaciones, perfiles, financials históricos, valuación, consenso de analistas, noticias, insider trading y ratings.

URL base: https://www.marketscreener.com País soportado: Global (20,000+ stocks, ADRs argentinos incluidos) Requiere registro: ❌ No, todo es scraping directo


⚠️ Lo que MarketScreener ofrece GRATIS (sin registro)

FuncionalidadDisponible GratisRequiere Pago
Earnings Transcripts (contenido completo)—🔒 Premium
Earnings Transcripts (listado con fechas, quarters, URLs)✅—
Cotizaciones (hasta 15 min retraso)✅—
Perfil de empresa (descripción, sector, empleados, web)✅—
Datos financieros (Income Statement, Balance Sheet, Cash Flow)✅ (años recientes)🔒 Más años
Valuación (PE, PB, EV/EBITDA, market cap, dividend yield)✅—
Consenso de analistas (target price, recomendaciones, revisiones)✅—
Ratings (Surperformance Score: Trader, Investor, Global)✅—
Noticias (histórico completo)✅—
Calendario (earnings, dividends, splits, AGM)✅—
Insider Trading (transacciones de ejecutivos)✅🔒 Más detalle
Accionistas (top shareholders)✅🔒 Lista completa
Gobierno corporativo (board, management)✅—
Gráficos (históricos, velas, indicadores técnicos)✅—
Búsqueda de símbolos✅—
Screener avanzado—🔒 Premium
Datos financieros históricos >3 años—🔒 Premium

Cobertura

TipoCobertura
Stocks US✅ Todas (AAPL, MSFT, etc.)
ADRs argentinos✅ GGAL, TGS, BMA, YPF, PAM, etc.
Stocks globales✅ Europa, Asia, Latinoamérica
ETFs✅
Índices✅
Bonos❌ No disponible
Forex / Crypto❌ No disponible

Autenticación

No requiere API key ni registro. Todo el contenido es scraping directo de páginas públicas HTML.


Uso Rápido

from marketscreener_client import MarketScreenerClient

client = MarketScreenerClient()

# Último earnings transcript de GGAL
transcript = client.get_transcript("GGAL")
print(transcript["title"])
print(transcript["prepared_remarks"][:500])

# Cotización de AAPL
quote = client.get_quote("AAPL")
print(f"${quote['price']} ({quote['change_pct']}%)")

# Perfil de empresa
profile = client.get_profile("GGAL")
print(profile["name"], profile["industry"])

# Financials
fin = client.get_financials("AAPL", statement="income")
print(fin["2025"]["revenue"])

# Consenso de analistas
consensus = client.get_consensus("AAPL")
print(f"Target: ${consensus['target_mean']}, Recomendación: {consensus['rating']}")

Scripts Disponibles

ScriptDescripción
marketscreener_client.pyCliente completo con todas las funcionalidades (transcripts, quotes, profile, financials, valuation, consensus, news, ratings, insider, calendar, search)
marketscreener_cli.pyCLI rápida para consultas diarias

Buenas Prácticas

  1. Rate limiting: usar 1 request por segundo como mínimo para evitar bloqueos
  2. User-Agent: siempre usar un User-Agent de navegador real
  3. Cachear: los datos de transcripts no cambian después de publicados, cachear localmente
  4. HTML Parsing: usar BeautifulSoup para parsear HTML, no regex
  5. IDs numéricos: cada empresa tiene un ID numérico único en MarketScreener (ej: AAPL=4849, GGAL=13491328)
  6. Errores 404: si no se encuentra una página, puede que la empresa no esté cubierta

Comments

Markdown supported