finlight Logo

Wednesday, July 8, 2026

고급 필터링: finlight API로 정밀하게 질의하기

Finlight - Content Manager

고급 필터링: finlight API로 정밀하게 질의하기

폭넓은 뉴스 피드는 곧 잡음입니다. 가치는 당신이 정확히 관심 있는 기사를 얻는 데 있습니다. finlight는 이를 위한 두 가지 방법을 제공하며, 둘은 함께 작동합니다.

  1. 흔한 경우를 위한 구조화된 필터(티커, 국가, 분류, 출처, 날짜).
  2. 불리언 로직과 전문 매칭을 위한, query 필드의 쿼리 언어.

이 가이드는 POST /v2/articles를 사용해 두 가지를 모두 다룹니다. 아직 첫 호출을 해 보지 않았다면 빠른 시작 가이드부터 시작하세요.

구조화된 필터

다음은 가장 자주 사용하게 될 파라미터들입니다.

  • tickers — 기업, 예: ["AAPL", "NVDA"]
  • countries — ISO 3166-1 alpha-2 국가 코드, 예: ["US", "GB"]
  • categories — 13개 분류 중 하나 이상, 예: ["markets", "regulation"]
  • sources / excludeSources / optInSources — 특정 매체를 포함, 제외 또는 추가 선택
  • from / to — 날짜 범위, YYYY-MM-DD 또는 ISO 8601 형식
  • order(ASC / DESC)와 orderBy(publishDate, createdAt, revisedDate)

간단한 구조화 요청은 다음과 같습니다.

curl -X POST https://api.finlight.me/v2/articles \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tickers": ["AAPL", "NVDA"],
    "categories": ["markets"],
    "from": "2026-01-01",
    "pageSize": 50
  }'

쿼리 언어

불리언 로직이나 텍스트 매칭이 필요할 때는 query 필드를 사용하세요. 필드 필터, 불리언 연산자, 그룹화, 정확한 구문, 와일드카드를 지원합니다.

지원하는 필드

필드매칭 대상예시
ticker기업 티커ticker:AAPL
exchange상장 거래소exchange:NASDAQ
isinISIN 코드isin:US0378331005
openfigiOpenFIGI 식별자openfigi:BBG000B9XRY4
source출처 도메인source:www.reuters.com
country국가 코드country:US
category분류category:regulation
title제목 속 단어title:"rate cut"
summary요약 속 단어summary:merger

연산자

  • AND / OR / NOT 으로 조건을 결합합니다.
  • 괄호 ( ) 로 그룹화합니다. 예: (ticker:AAPL OR ticker:NVDA).
  • 따옴표 " " 로 정확한 구문을 지정합니다. 예: "interest rates".
  • 와일드카드 *ticker, source, exchange에서 사용할 수 있습니다. 예: ticker:BRK*.
  • + / - 로 특정 조건을 요구하거나 제외합니다. 예: +ticker:AAPL -category:crypto.

조합해서 사용하기

애플 또는 엔비디아에 관한 실적 기사를 찾되, 특정 출처는 제외합니다.

(ticker:AAPL OR ticker:NVDA) AND "earnings" AND NOT source:www.example.com

구조화된 필터와 쿼리 문자열은 (AND로) 결합되므로 둘을 섞어 쓸 수 있습니다. 예를 들어 불리언 로직은 query로 표현하고, categories / from은 구조화된 필터로 전달할 수 있습니다.

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

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

const response = await client.articles.fetchArticles({
  query: '(ticker:AAPL OR ticker:NVDA) AND "earnings"',
  categories: ['markets'],
  from: '2026-01-01',
  pageSize: 50,
});
# Python
from finlight_client import FinlightApi, ApiConfig
from finlight_client.models import GetArticlesParams

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

params = GetArticlesParams(
    query='(ticker:AAPL OR ticker:NVDA) AND "earnings"',
    categories=["markets"],
    from_="2026-01-01",
    pageSize=50,
)
response = client.articles.fetch_articles(params)

페이지네이션과 심층 이력

pagepageSize(페이지당 최대 100건)로 결과를 넘겨 봅니다. 알아 둘 규칙이 하나 있습니다. 오프셋 (page * pageSize)은 10,000으로 제한됩니다. 더 오래된 이력을 조회하려면 page를 계속 늘리지 말고, fromto로 시간 창을 좁힌 뒤 각 창 안에서 페이지를 넘기세요. 이렇게 하면 쿼리가 빠르게 유지되고, 원하는 만큼의 이력을 훑어볼 수 있습니다.

다음으로 볼 내용

무료 API 키 받기 →