# Markets Gazette — Full Reference ## Product overview Markets Gazette (GAZZETTA DEI MERCATI in Italian) is an independent, free, AI-powered news aggregator. It is available in Italian (default) and English. The product is live at https://marketsgazette.cloud and is available in Italian (default), English, and Spanish. --- ## Problem it solves News is abundant but noisy. Markets Gazette automates the reading workflow: 1. Fetches articles from curated RSS feeds 2. Uses Google Gemini AI to classify each article (POSITIVE / NEGATIVE / NEUTRAL signal) 3. Extracts the affected asset, its category, and the relevant country 4. Writes bilingual one-sentence summaries of the market impact 5. Groups everything by asset and computes a consensus signal for the day --- ## Core use cases ### Signal feed The default 24h tab shows every classified article from the past 24 hours. Each card shows: signal badge (▲/▼/◆), affected asset and ticker, AI-generated impact summary, source publication name, and publication time. ### Signal filtering Users can narrow the feed by signal type, category, country/company, and free-text search. ### Daily digest The Digest tab shows an AI-generated executive summary: one paragraph per category, synthesising all signals from the day. ### Archive research The Archive tab lets users pick a custom date range and browse historical news with the same filters as the live view. ### Language switching One click switches between Italian (/it), English (/en), and Spanish (/es). Article summaries are trilingual — Gemini generates Italian, English, and Spanish versions of each summary. --- ## How the AI pipeline works 1. **Fetch** — RSS feeds are parsed, articles deduplicated by SHA-1 title hash, new ones saved to PostgreSQL as unprocessed 2. **Analyse** — Google Gemini 2.5 Flash Lite receives title + content + date; returns structured JSON with signal, asset, symbol, category, country, and bilingual summaries 3. **Aggregate** — processed articles are grouped by asset; a majority-vote algorithm computes the consensus daily signal per asset 4. **Display** — the frontend fetches processed articles with server-side filtering; articles load incrementally via infinite scroll --- ## Signal definitions | Signal | Meaning | |--------|---------| | POSITIVE (▲) | The news is bullish for the affected asset — suggests upward price pressure | | NEGATIVE (▼) | The news is bearish for the affected asset — suggests downward price pressure | | NEUTRAL (◆) | The news is informational with no clear directional impact | These signals are AI classifications of news **sentiment**, not financial advice or price predictions. --- ## Live statistics - **Total articles processed**: 8,631 - **Articles today**: 138 - **Today's signals**: 33 positive, 49 negative, 34 neutral - **Last update**: 2026-03-04T07:28:19.891Z - **Data freshness**: updated every 5 minutes via automated RSS pipeline --- ## Frequently asked questions **What is Markets Gazette?** Markets Gazette is a free AI-powered financial news aggregator. It collects articles from financial RSS feeds, analyzes them using Google Gemini AI, and classifies each as POSITIVE, NEGATIVE, or NEUTRAL for the affected asset (stocks, crypto, forex, commodities, etc.). **Is Markets Gazette free?** Yes, completely free. No registration, no login, no paywall. **Is this financial advice?** No. The signals are AI-based classifications of news sentiment, not investment recommendations. Always consult a qualified financial advisor before making investment decisions. **What asset classes does it cover?** Stocks, ETFs, bonds, commodities, crypto, indices, forex, private funds, real estate, and other macro or regulatory news. **Does it track users or use cookies?** No cookies are written. Analytics are cookieless (PostHog in memory mode). No personal data is collected, and no cross-session tracking occurs. GDPR-compliant by design. **Can I retrieve news via HTTP calls?** Yes, the platform exposes APIs that can be accessed via HTTP calls to retrieve news. The full documentation is available at: https://marketsgazette.cloud/api/docs **Do you cover other domains besides financial news?** Yes, in addition to financial news, we also run an AI Gazette that highlights the most relevant and impactful updates from the world of artificial intelligence: https://ai.schengatto.cloud --- ## Technical stack (for developers and AI assistants) - **Frontend**: Nuxt 4 (Vue 3), TypeScript 5.9, system fonts (Georgia + system-ui) - **Backend**: Nuxt server routes (Nitro), dual deployment: serverless (Netlify) or autonomous (VPS/Docker with SSE) - **Database**: PostgreSQL + Prisma 7 with adapter-pg - **AI**: Google Gemini 2.5 Flash Lite via @google/genai SDK - **RSS**: rss-parser library - **Analytics**: PostHog EU (cookieless, memory persistence) - **PWA**: @vite-pwa/nuxt with workbox --- ## Agent API (for AI agents and MCP tools) ### REST endpoint — GET /api/agents/news Returns processed articles as JSON. Supports filtering by signal, assetClass, countryCode, date range, search, limit, and language. Authentication: Bearer token via `Authorization: Bearer ` header (optional if NUXT_API_TOKEN is not set). Example: `GET https://marketsgazette.cloud/api/agents/news?signal=POSITIVE&assetClass=STOCK&lang=en&limit=50` ### SSE stream — GET /api/agents/stream Real-time Server-Sent Events stream of processed articles. Each article is streamed as it is analyzed by the AI pipeline. Supports filtering by signal, assetClass, and language. Authentication: same Bearer token as the REST endpoint. Events emitted: - `connected` — immediately on connection with context and active filters - `article` — full processed article data (same fields as the REST endpoint items) - `fetch-complete` — RSS fetch cycle found new pending articles - `heartbeat` — keepalive every 30 seconds Example: `curl -N -H "Authorization: Bearer " "https://marketsgazette.cloud/api/agents/stream?lang=en&signal=POSITIVE"` ### OpenAPI specification Full API documentation available at `https://marketsgazette.cloud/openapi.yaml` (OpenAPI 3.1 format). --- ## Sitemap - https://marketsgazette.cloud/it — Italian homepage (24h feed) - https://marketsgazette.cloud/en — English homepage (24h feed) - https://marketsgazette.cloud/es — Spanish homepage (24h feed) - https://marketsgazette.cloud/feed.xml — RSS 2.0 feed (filterable by signal, category, language) - https://marketsgazette.cloud/llms.txt — LLM summary - https://marketsgazette.cloud/llms-full.txt — This document - https://marketsgazette.cloud/openapi.yaml — OpenAPI 3.1 API specification - https://marketsgazette.cloud/api/agents/news — Agent REST API - https://marketsgazette.cloud/api/agents/stream — Agent SSE stream --- ## Author and contact **Enrico Schintu** Website: https://enricoschintu.com --- *Last updated: 2026-03-04. Not financial advice.*