Integração com IA
Copie esta documentação e cole no seu agente, ou configure-o para ler api.1nforma.ai/llms.txt

1nforma.ai — API de notícias do mercado brasileiro

Notícias e análises do mercado financeiro brasileiro, estruturadas para máquinas. Cada item traz sentimento, tickers, tópicos, scores de impacto/urgência e clustering de histórias (story_id).

Base URL: https://api.1nforma.ai Documentação para IAs: https://api.1nforma.ai/llms.txt

Autenticação

Toda requisição exige uma chave de API (formato 1nf_...). Envie por um destes meios:

Erros de autenticação/limite:

Cada endpoint tem um custo em unidades de cota: busca/stats/related/MCP = 2, item único = 1, feeds = 1.

GET /v1/news — busca

Parâmetros (todos opcionais):

Exemplo:

curl -s "https://api.1nforma.ai/v1/news?ticker=PETR4&size=10" \
  -H "Authorization: Bearer 1nf_SUA_CHAVE"

Resposta:

{
  "items": [
    {
      "id": "abc123",
      "source": "narrativa",
      "headline": "…",
      "body": "markdown completo ou null",
      "published_at": "2026-06-10T12:00:00+00:00",
      "language": "pt-BR",
      "tickers": ["PETR4"],
      "topics": ["petroleo"],
      "sentiment": "positive",
      "sentiment_score": 0.82,
      "impact_score": 0.6,
      "urgency_score": 0.3,
      "summary": "resumo curto ou null",
      "story_id": "cluster-id ou null",
      "publisher": "1nforma.ai",
      "license": "1nforma-partner-v1"
    }
  ],
  "next_cursor": "2026-06-09T18:30:00+00:00"
}

Paginação: passe next_cursor da resposta anterior como cursor na próxima chamada. O cursor é inclusivo no timestamp — itens publicados no mesmo segundo do corte podem repetir; deduplique por id.

GET /v1/news/{id} — item único

Retorna o item ou 404 {"error":"not_found"} (ids inexistentes e itens fora do seu escopo respondem o mesmo 404).

Relaciona por proximidade semântica do conteúdo, dentro de uma janela de 7 dias. Na ausência de ranking semântico, cai para a mesma história (story_id) e, depois, para tickers em comum. Os itens vêm ordenados do mais próximo ao mais distante.

GET /v1/stats/sentiment — distribuição de sentimento

{ "window_hours": 168, "counts": { "positive": 41, "negative": 17, "neutral": 92 }, "sample": 150 }

GET /v1/stats/facets — contagens por facet

Retorna os top 50: { "facets": { "PETR4": 12, "VALE3": 9 }, ... }

GET /v1/stats/timeline — volume no tempo

GET /v1/sources — fontes disponíveis

Lista as fontes visíveis para a SUA chave: { "sources": ["narrativa", "premarket-us"] }

Feeds — RSS 2.0 e JSON Feed 1.1

https://api.1nforma.ai/feeds/{source}.rss?key=1nf_SUA_CHAVE
https://api.1nforma.ai/feeds/{source}.json?key=1nf_SUA_CHAVE

Parâmetros extras: ticker (filtro) e limit (padrão 50, máximo 100 — nos feeds o nome é limit mesmo).

MCP — para agentes de IA (Claude, Cursor, etc.)

Servidor MCP remoto (streamable HTTP) com autenticação Bearer:

URL: https://api.1nforma.ai/mcp/mcp

Claude Code:

claude mcp add --transport http 1nforma https://api.1nforma.ai/mcp/mcp \
  --header "Authorization: Bearer 1nf_SUA_CHAVE"

Cursor (~/.cursor/mcp.json ou Settings → MCP) — aceita URL + headers direto:

{
  "mcpServers": {
    "1nforma": {
      "url": "https://api.1nforma.ai/mcp/mcp",
      "headers": { "Authorization": "Bearer 1nf_SUA_CHAVE" }
    }
  }
}

Claude Desktop — a UI de "Connectors" só faz login OAuth e NÃO tem campo para chave de API. A conexão é por edição do arquivo de config, com a ponte mcp-remote (embrulha o HTTP em stdio e injeta o header). Requer Node.js.

Arquivo: macOS ~/Library/Application Support/Claude/claude_desktop_config.json · Windows %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "1nforma": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "--http",
        "https://api.1nforma.ai/mcp/mcp",
        "--header",
        "Authorization: Bearer 1nf_SUA_CHAVE"
      ]
    }
  }
}

Reinicie o Claude Desktop depois de salvar. O header é um único argumento — preserve o espaço, sem aspas internas.

ChatGPT — o Developer Mode conecta MCP apenas por OAuth e não aceita chave de API estática. O 1nforma tem OAuth: cole a URL do servidor (https://api.1nforma.ai/mcp/mcp) como conector e o ChatGPT descobre o fluxo sozinho. Você informa o e-mail e recebe um código de uso único para autorizar.

Dois pré-requisitos, e vale conferir os dois antes de tentar:

1. **Do seu lado**: conectores MCP personalizados vivem no Developer Mode do ChatGPT, que depende do plano e, em contas de workspace, de liberação do administrador. Se você não vê a opção de adicionar conector, o bloqueio está aí — não na 1nforma. 2. **Do nosso lado**: a sua chave precisa estar **habilitada para OAuth** e ter o **e-mail** associado a ela. Chaves emitidas só para uso via REST/Bearer vêm sem isso — peça a habilitação informando o e-mail que você vai usar.

Se o e-mail digitado não corresponder a uma chave habilitada, a tela devolve o mesmo formulário de código (é proposital, para não revelar quais e-mails existem) — então um pedido que não avança costuma ser o item 2, não erro de digitação.

Nos demais clientes (Claude Code, Claude Desktop, Cursor) nada disso se aplica: basta a chave no header.

Tools disponíveis:

Exemplos — o que pedir e o que esperar

Conectado, peça em linguagem natural; o agente escolhe a tool certa. Exemplos:

| Você pede | Tool chamada | O que recebe | |---|---|---| | "Monte o morning call de hoje" | daily_briefing(depth="completo") | 6 blocos (externo, Brasil macro, político, corporativo, commodities, Twitter). O **editorial** de cada bloco é específico dele; as **manchetes** são as de maior impacto da janela, não segmentadas por bloco | | "Manchetes de PETR4 nas últimas 24h" | news_headlines(ticker="PETR4", hours=24) | Manchetes com resumo, sentimento e score de impacto | | "Qual o cenário macro de hoje?" | editorial_latest(kind="cenario") | O cenário editorial mais recente, com corpo completo | | "Resuma o fechamento da B3 de ontem" | editorial_latest(kind="fechamento") | A nota de fechamento da B3 mais recente | | "Como está o pulso do mercado no X/Twitter?" | twitter_pulse(hours=24) | Análise de narrativa + headlines market-moving do X | | "Me dê os indicadores de juros atuais" | market_data(category="Juros") | Selic, CDI etc. estruturados (requer plano com dados) | | "O que está em alta no noticiário agora?" | news_trending(hours=24) | Tickers mais citados na janela | | "Sentimento das notícias de VALE3 esta semana" | news_search + news_stats | Itens filtrados + distribuição de sentimento |

Para o morning call, cole o "Prompt pack" (abaixo) no system prompt do agente — ele fixa a ordem dos blocos e o tom.

Boas práticas

Acesso

Chaves de API para veículos de notícias, desenvolvedores e agentes de IA — sob consulta. Healthcheck público: https://api.1nforma.ai/healthz

Prompt pack — Morning call

Cole no system prompt do seu Claude/ChatGPT (conectado ao MCP 1nforma):

> Você é um analista montando um morning call em PT-BR. Chame daily_briefing(depth="completo"). > Escreva em prosa corrida, nesta ordem de blocos: cenário externo, Brasil macro, político, > corporativo, commodities, Twitter. Use os dados de cada bloco; não invente números. > Tom direto, sem jargão, sem citar fontes ou instituições.