Friday, June 26, 2026
Быстрый старт с финансовым новостным API finlight
Быстрый старт с финансовым новостным API finlight
Финансовые новости в реальном времени — это хаос. Десятки источников, разные форматы, никакой структуры и никакого сигнала. finlight превращает этот поток в чистые, структурированные, обогащённые ИИ данные, которые можно запросить одним обращением — вместе с тональностью и компаниями, о которых идёт речь в каждой новости.
Это руководство проведёт вас с нуля до первого вызова API примерно за пять минут. К концу вы получите последние новости по акции, разберётесь в ответе и узнаете, как включить поток данных в реальном времени.
Что вы получаете
finlight — это API финансовых новостей с четырьмя способами получить одни и те же обогащённые данные:
- REST. Запрос новостей по требованию (это руководство).
- WebSocket. Поток статей в реальном времени по мере их публикации.
- Webhooks. Доставка новостей на ваш собственный эндпоинт.
- MCP-сервер. Позвольте ИИ-ассистенту (Claude, ChatGPT) запрашивать новости за вас.
Каждая статья возвращается структурированной и обогащённой и содержит:
- Тональность (
positive,neutralилиnegative) плюс оценку уверенности. - Сущности компаний: тикеры, ISIN, информацию о листингах на биржах, сектор и отрасль.
- Покрытие на 9 языках и 13 категорий (рынки, экономика, криптовалюта, технологии и другие).
Шаг 1: Получите API-ключ
- Создайте бесплатный аккаунт на app.finlight.me.
- Откройте панель управления и сгенерируйте API-ключ.
- Храните его в надёжном месте. Вы будете передавать его в каждом запросе в заголовке
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.
