Friday, June 26, 2026
finlight 금융 뉴스 API 빠른 시작 가이드
finlight 금융 뉴스 API 빠른 시작 가이드
실시간 금융 뉴스는 대개 어수선합니다. 출처가 너무 많고, 형식도 제각각이며, 구조도 없고, 신호도 없죠. finlight는 이런 정보의 홍수를 깔끔하고 구조화된, AI로 강화된 데이터로 정리해서, 단 한 번의 요청으로 조회할 수 있게 해 줍니다. 여기에는 감성 분석과 각 기사가 다루는 회사 정보까지 함께 담겨 있어요.
이 가이드는 여러분을 약 5분 만에 첫 API 호출까지 안내합니다. 다 읽고 나면 특정 종목의 최신 뉴스를 가져오고, 응답을 이해하며, 실시간 스트림을 켜는 방법까지 알게 될 거예요.
무엇을 얻을 수 있나요
finlight는 금융 뉴스 API로, 동일한 강화 데이터를 가져오는 네 가지 방식을 제공합니다:
- REST. 필요할 때 뉴스를 조회합니다(이 가이드).
- WebSocket. 기사가 발행되는 순간 실시간으로 스트리밍합니다.
- Webhooks. 뉴스를 여러분의 엔드포인트로 푸시합니다.
- MCP 서버. AI 어시스턴트(Claude, ChatGPT)가 여러분 대신 뉴스를 조회하게 합니다.
모든 기사는 구조화되고 강화된 형태로 반환되며, 다음 정보를 포함합니다:
- 감성(
positive,neutral,negative)과 신뢰도 점수. - 회사 엔티티: 티커, ISIN, 거래소 상장 정보, 섹터 및 산업.
- 9개 언어 및 13개 분류(시장, 경제, 암호화폐, 기술 등) 커버리지.
1단계: API 키 발급받기
- app.finlight.me 에서 무료 계정을 만드세요.
- 대시보드를 열고 API 키를 생성하세요.
- 안전한 곳에 보관하세요. 모든 요청의
X-API-KEY헤더에 이 키를 담아 보내야 합니다.
무료 플랜은 REST 전용이며 테스트에 아주 좋습니다. 현재 한도와 각 플랜에서 제공하는 기능은 finlight.me/pricing 에서 확인하세요.
2단계: 클라이언트 설치(선택)
순수 HTTP로도 API를 호출할 수 있지만, 공식 SDK는 인증, 재시도, 타입을 알아서 처리해 줍니다.
# TypeScript / Node.js
npm install finlight-client
# Python
pip install finlight-client
순수 HTTP가 더 편한가요? 이 단계는 건너뛰어도 됩니다. 아래 모든 예제에는 cURL 버전도 함께 있습니다.
3단계: 첫 번째 요청
Apple(AAPL) 에 대한 최신 기사를 가져와 봅시다. 이는 tickers 필터와 함께 POST /v2/articles
를 호출합니다.
# 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단계: 응답 이해하기
응답은 페이지네이션된 봉투(envelope) 형태입니다. 각 기사에는 출처, 헤드라인, 요약, 그리고 강화 정보가 담겨 있습니다:
{
"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단계: 실시간으로 전환하기(준비됐을 때)
처음에는 폴링도 괜찮지만, 실시간 대시보드나 트레이딩 신호를 위해서는 뉴스가 발행되는 순간 푸시되기를 원하게 됩니다. 바로 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 과 webhook 가이드를 확인하세요.
- 고급 필터링을 익히세요. 티커, 국가, 분류, 쿼리 언어를 조합해 원하는 뉴스를 정확히 가져오세요 (곧 게시될 예정입니다).
- 무료 플랜을 넘어설 준비가 됐다면 플랜 비교하기.
궁금한 점이 있나요? Discord 에 참여하거나 info@finlight.me 로 이메일을 보내세요.
