Wednesday, July 8, 2026
Filtrado avanzado: consultas precisas con la API de finlight
Filtrado avanzado: consultas precisas con la API de finlight
Un feed de noticias amplio es ruido. El valor está en obtener exactamente las historias que te importan. finlight te ofrece dos formas de hacerlo, y funcionan juntas:
- Filtros estructurados para los casos comunes (tickers, países, categorías, fuentes, fechas).
- Un lenguaje de consulta en el campo
querypara lógica booleana y coincidencia de texto completo.
Esta guía cubre ambos usando POST /v2/articles. Si aún no has hecho una primera llamada, empieza por la
guía de inicio rápido.
Filtros estructurados
Estos son los parámetros que usarás con más frecuencia:
tickers— empresas, p. ej.["AAPL", "NVDA"]countries— códigos ISO 3166-1 alpha-2, p. ej.["US", "GB"]categories— una o varias de las 13 categorías, p. ej.["markets", "regulation"]sources/excludeSources/optInSources— incluir, excluir o suscribirse a medios concretosfrom/to— rango de fechas,YYYY-MM-DDo ISO 8601order(ASC/DESC) yorderBy(publishDate,createdAt,revisedDate)
Una petición estructurada sencilla:
curl -X POST https://api.finlight.me/v2/articles \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tickers": ["AAPL", "NVDA"],
"categories": ["markets"],
"from": "2026-01-01",
"pageSize": 50
}'
El lenguaje de consulta
Cuando necesites lógica booleana o coincidencia de texto, usa el campo query. Admite filtros por campo,
operadores booleanos, agrupación, frases exactas y comodines.
Campos admitidos
| Campo | Coincide con | Ejemplo |
|---|---|---|
ticker | ticker de la empresa | ticker:AAPL |
exchange | bolsa de cotización | exchange:NASDAQ |
isin | código ISIN | isin:US0378331005 |
openfigi | id de OpenFIGI | openfigi:BBG000B9XRY4 |
source | dominio de la fuente | source:www.reuters.com |
country | código de país | country:US |
category | categoría | category:regulation |
title | palabras del titular | title:"rate cut" |
summary | palabras del resumen | summary:merger |
Operadores
AND/OR/NOTpara combinar términos.- Paréntesis
( )para agrupar, p. ej.(ticker:AAPL OR ticker:NVDA). - Comillas
" "para una frase exacta, p. ej."interest rates". - Comodines
*enticker,sourceyexchange, p. ej.ticker:BRK*. +/-para exigir o excluir un término, p. ej.+ticker:AAPL -category:crypto.
Juntándolo todo
Encuentra historias de resultados sobre Apple o Nvidia, pero no de una fuente específica:
(ticker:AAPL OR ticker:NVDA) AND "earnings" AND NOT source:www.example.com
Los filtros estructurados y la cadena de consulta se combinan (se unen con AND), así que puedes
mezclarlos. Por ejemplo, envía query para la lógica booleana y categories / from como filtros
estructurados:
// TypeScript
import { FinlightApi } from 'finlight-client';
const client = new FinlightApi({ apiKey: 'YOUR_API_KEY' });
const response = await client.articles.fetchArticles({
query: '(ticker:AAPL OR ticker:NVDA) AND "earnings"',
categories: ['markets'],
from: '2026-01-01',
pageSize: 50,
});
# Python
from finlight_client import FinlightApi, ApiConfig
from finlight_client.models import GetArticlesParams
client = FinlightApi(config=ApiConfig(api_key="YOUR_API_KEY"))
params = GetArticlesParams(
query='(ticker:AAPL OR ticker:NVDA) AND "earnings"',
categories=["markets"],
from_="2026-01-01",
pageSize=50,
)
response = client.articles.fetch_articles(params)
Paginación e historial profundo
Usa page y pageSize (hasta 100 por página) para recorrer los resultados. Hay una regla que conviene
conocer: el desplazamiento (page * pageSize) tiene un tope de 10.000. Para ir más atrás en el
historial, no sigas aumentando page: en su lugar, estrecha la ventana con from y to y pagina dentro
de cada ventana. Así las consultas se mantienen rápidas y puedes recorrer cualquier cantidad de historial.
A dónde ir después
- Tickers y bolsas bien hechos — filtra con precisión empresas con cotización dual.
- Noticias globales por país y categoría.
- Documentación completa.
