Friday, June 26, 2026

Быстрый старт с финансовым новостным API finlight

Finlight - Content Manager

Быстрый старт с финансовым новостным API finlight

Финансовые новости в реальном времени — это хаос. Десятки источников, разные форматы, никакой структуры и никакого сигнала. finlight превращает этот поток в чистые, структурированные, обогащённые ИИ данные, которые можно запросить одним обращением — вместе с тональностью и компаниями, о которых идёт речь в каждой новости.

Это руководство проведёт вас с нуля до первого вызова API примерно за пять минут. К концу вы получите последние новости по акции, разберётесь в ответе и узнаете, как включить поток данных в реальном времени.

Что вы получаете

finlight — это API финансовых новостей с четырьмя способами получить одни и те же обогащённые данные:

  • REST. Запрос новостей по требованию (это руководство).
  • WebSocket. Поток статей в реальном времени по мере их публикации.
  • Webhooks. Доставка новостей на ваш собственный эндпоинт.
  • MCP-сервер. Позвольте ИИ-ассистенту (Claude, ChatGPT) запрашивать новости за вас.

Каждая статья возвращается структурированной и обогащённой и содержит:

  • Тональность (positive, neutral или negative) плюс оценку уверенности.
  • Сущности компаний: тикеры, ISIN, информацию о листингах на биржах, сектор и отрасль.
  • Покрытие на 9 языках и 13 категорий (рынки, экономика, криптовалюта, технологии и другие).

Шаг 1: Получите API-ключ

  1. Создайте бесплатный аккаунт на app.finlight.me.
  2. Откройте панель управления и сгенерируйте API-ключ.
  3. Храните его в надёжном месте. Вы будете передавать его в каждом запросе в заголовке X-API-KEY.

Бесплатный тариф поддерживает только REST и отлично подходит для тестирования. Актуальные лимиты и возможности каждого тарифа смотрите на finlight.me/pricing.

Шаг 2: Установите клиент (необязательно)

Вы можете обращаться к API через обычный HTTP, но официальные SDK берут на себя аутентификацию, повторные попытки и типизацию.

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

Предпочитаете чистый HTTP? Пропустите этот шаг. В каждом примере ниже также показан вариант с cURL.

Шаг 3: Ваш первый запрос

Давайте получим последние статьи о Apple (AAPL). Этот вызов обращается к POST /v2/articles с фильтром 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)

Шаг 4: Разберитесь в ответе

Ответ представляет собой постраничный конверт. Каждая статья включает источник, заголовок, краткое содержание и обогащённые данные:

{
  "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"]
    }
  ]
}

Два флага позволяют запросить больше данных, когда это нужно:

  • includeContent: true возвращает полный извлечённый текст статьи, а не только краткое содержание.
  • includeEntities: true возвращает массив companies (тикеры, ISIN, информацию о листингах на биржах) для каждой статьи.

Совет: держите includeContent и includeEntities выключенными для лёгких списочных представлений и включайте их только тогда, когда нужны детали. Так ответы остаются компактными и быстрыми.

Шаг 5: Перейдите в реальное время (когда будете готовы)

Опрос (polling) подходит для начала, но для живых дашбордов и торговых сигналов вам захочется получать новости в тот самый момент, когда они публикуются. Для этого есть WebSocket: те же фильтры, без опроса.

// 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);
});

Потоковая передача через WebSocket доступна на платных тарифах. Полную настройку смотрите в документации по WebSocket.

Что дальше

Вы сделали первый вызов и увидели структуру данных. Отсюда можно двигаться так:

  • Прочитайте полную документацию API — эндпоинты, параметры, а также руководства по WebSocket и вебхукам.
  • Освойте продвинутую фильтрацию. Комбинируйте тикеры, страны, категории и язык запросов, чтобы получать ровно те новости, которые вам нужны (статья скоро выйдет).
  • Сравните тарифы, когда будете готовы выйти за пределы бесплатного уровня.

Остались вопросы? Присоединяйтесь к Discord или напишите на info@finlight.me.

Начните разработку бесплатно →