finlight Logo

Friday, June 26, 2026

Primeiros passos com a API de notícias financeiras da finlight

Finlight - Content Manager

Primeiros passos com a API de notícias financeiras da finlight

As notícias financeiras em tempo real são caóticas. Dezenas de fontes, formatos diferentes, nenhuma estrutura e nenhum sinal. A finlight transforma essa enxurrada de informação em dados limpos, estruturados e enriquecidos por IA que você consulta em uma única requisição, com sentimento e as empresas mencionadas em cada notícia.

Este guia leva você do zero à sua primeira chamada de API em cerca de cinco minutos. Ao final, você terá buscado as últimas notícias de uma ação, lido a resposta e visto como ativar um fluxo em tempo real.

O que você ganha

A finlight é uma API de notícias financeiras com quatro formas de consumir os mesmos dados enriquecidos:

  • REST. Consulte notícias sob demanda (este guia).
  • WebSocket. Receba artigos em tempo real assim que são publicados.
  • Webhooks. Tenha as notícias enviadas para o seu próprio endpoint.
  • Servidor MCP. Deixe um assistente de IA (Claude, ChatGPT) consultar as notícias por você.

Cada artigo retorna estruturado e enriquecido com:

  • Sentimento (positive, neutral ou negative) mais uma pontuação de confiança.
  • Entidades de empresa: tickers, ISIN, listagens em bolsa, setor e indústria.
  • Cobertura em 9 idiomas e 13 categorias (mercados, economia, cripto, tecnologia e mais).

Passo 1: Obtenha sua chave de API

  1. Crie uma conta gratuita em app.finlight.me.
  2. Abra o painel e gere uma chave de API.
  3. Guarde-a em local seguro. Você a enviará em toda requisição no cabeçalho X-API-KEY.

O plano gratuito é somente REST e ótimo para testar. Veja finlight.me/pricing para os limites atuais e o que cada plano desbloqueia.

Passo 2: Instale o cliente (opcional)

Você pode chamar a API com HTTP puro, mas os SDKs oficiais cuidam de autenticação, novas tentativas e tipos para você.

# TypeScript / Node.js
npm install finlight-client
# Python
pip install finlight-client

Prefere HTTP puro? Avance. Cada exemplo abaixo também mostra a versão em cURL.

Passo 3: Sua primeira requisição

Vamos buscar os artigos mais recentes sobre a Apple (AAPL). Isso chama POST /v2/articles com um filtro tickers.

# cURL
curl -X POST https://api.finlight.me/v2/articles \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tickers": ["AAPL"],
    "pageSize": 5
  }'
// TypeScript
import { FinlightApi } from 'finlight-client';

const client = new FinlightApi({ apiKey: 'YOUR_API_KEY' });

const response = await client.articles.fetchArticles({
  tickers: ['AAPL'],
  pageSize: 5,
});

console.log(`Got ${response.articles.length} articles`);
for (const article of response.articles) {
  console.log(article.publishDate, article.sentiment, article.title);
}
# Python
from finlight_client import FinlightApi, ApiConfig
from finlight_client.models import GetArticlesParams

client = FinlightApi(config=ApiConfig(api_key="YOUR_API_KEY"))

response = client.articles.fetch_articles(
    GetArticlesParams(tickers=["AAPL"], pageSize=5)
)

print(f"Got {len(response.articles)} articles")
for article in response.articles:
    print(article.publishDate, article.sentiment, article.title)

Passo 4: Leia a resposta

A resposta é um envelope paginado. Cada artigo inclui sua fonte, manchete, resumo e enriquecimento:

{
  "status": "ok",
  "page": 1,
  "pageSize": 5,
  "articles": [
    {
      "link": "https://www.example.com/apple-earnings",
      "title": "Apple beats expectations on services revenue",
      "summary": "Apple reported quarterly results above analyst estimates...",
      "source": "www.example.com",
      "publishDate": "2026-06-18T14:32:00.000Z",
      "language": "en",
      "sentiment": "positive",
      "confidence": "0.93",
      "images": ["https://www.example.com/img/apple.jpg"]
    }
  ]
}

Dois sinalizadores permitem pedir mais quando você precisa:

  • includeContent: true retorna o texto completo do artigo extraído, não apenas o resumo.
  • includeEntities: true retorna o array companies (tickers, ISIN, listagens em bolsa) de cada artigo.

Dica: mantenha includeContent e includeEntities desativados em visualizações de lista leves e ative-os apenas quando precisar do detalhe. Isso mantém as respostas pequenas e rápidas.

Passo 5: Vá para o tempo real (quando estiver pronto)

Fazer polling é suficiente no começo, mas para painéis ao vivo e sinais de trading você vai querer que as notícias sejam enviadas no momento em que são publicadas. É para isso que serve o WebSocket: mesmos filtros, sem polling.

// TypeScript
import { FinlightApi } from 'finlight-client';

const client = new FinlightApi({ apiKey: 'YOUR_API_KEY' });

client.websocket.connect({ tickers: ['AAPL'] }, (article) => {
  console.log('New article:', article.sentiment, article.title);
});

O streaming via WebSocket está disponível nos planos pagos. Veja a documentação do WebSocket para a configuração completa.

Próximos passos

Você fez sua primeira chamada e viu o formato dos dados. A partir daqui:

  • Leia a documentação completa da API para endpoints, parâmetros e os guias de WebSocket e webhook.
  • Aprenda filtragem avançada. Combine tickers, países, categorias e uma linguagem de consulta para obter exatamente as notícias que você quer (artigo em breve).
  • Compare os planos quando estiver pronto para ir além do plano gratuito.

Dúvidas? Entre no Discord ou envie um e-mail para info@finlight.me.

Comece a construir gratuitamente →