AI K 운영 2026.10.28 (수) 22:19
KOREA.STREAM COMMERCIAL DATA API v1 REST JSON · CORS 지원 · 99.9% SLA · 실시간 쿼터 헤더

대한민국 실시간 뉴스·포토·인텔리전스 B2B 상용 API

발급받은 상용 API 키(ks_live_...) 하나로 국내 29개 분야 한글 뉴스, 글로벌 7개 섹션 영문 뉴스, 고화질 실시간 이미지(포토) 뉴스는 물론 다매체 집중 빅이슈, 급상승 키워드, 24대 브랜드평판지수, AI·디지털 무역적자 지표까지 표준 JSON 규격으로 즉시 연동할 수 있습니다.

한글 뉴스 피드/api/v1/news/ko29개 분야 · 키워드 추출 · 원문 링크
영문 뉴스 피드/api/v1/news/enKorea · K-Culture · K-Biz · Global
고화질 이미지 뉴스/api/v1/news/photo고해상도 포토 · 현장 리드문 · 다중 이미지
빅이슈·평판·적자/issues · /reputation · /lab클러스터링 · 24대 평판 · 무역적자

1. 인증 방식 (Authentication) & 쿼터 응답 헤더

모든 /api/v1/* 엔드포인트는 관리자 콘솔(/admin#apikeys)에서 발급된 상용 API 키(ks_live_...)로 인증합니다. 아래 3가지 방식 중 편한 방법을 사용하세요.

방식 A — X-API-Key 헤더 (권장)

X-API-Key: ks_live_a1b2c3d4_YourSecretKeyHere

방식 B — Authorization Bearer 헤더

Authorization: Bearer ks_live_a1b2c3d4_YourSecretKeyHere

방식 C — URL 쿼리 파라미터

GET /api/v1/news/ko?limit=10&api_key=ks_live_...

모든 성공 응답에는 실시간 잔여 한도를 확인할 수 있는 HTTP 헤더(X-API-Plan, X-RateLimit-Limit, X-RateLimit-Remaining, X-Quota-Daily-Limit, X-Quota-Daily-Remaining, X-Quota-Monthly-Remaining)와 JSON meta.quota 객체가 함께 포함됩니다.

2. 라이브 API 플레이그라운드 (Interactive Tester)

발급받은 ks_live_... API 키를 입력하고 원하는 엔드포인트를 선택해 브라우저에서 즉시 실제 응답을 확인해 보세요.

API 키를 입력한 뒤 [실시간 호출]을 클릭하세요.

3. 상용 API 엔드포인트 상세 규격

엔드포인트필요 스코프주요 파라미터제공 데이터 요약
GET /api/v1/news/ko
별칭: /api/v1/news
news_kocategory (all, top, politics, business, stock, realestate, tech, ai, semicon 등 29종)
q (검색어), source (언론사), hours (1~720), limit (1~200), offset
국내 29개 분야 실시간 한글 뉴스 제목, 언론사, 원문 링크(origin_url), 추출 키워드(keywords), 발행 시각(UTC/KST)
GET /api/v1/news/ennews_ensection (all, korea, kculture, kbiz, world, us, business, tech)
q, source, hours (1~720), limit (1~200), offset
글로벌 미디어가 보도한 한국 뉴스·K-컬처·한국 경제 및 세계 영어 뉴스 피드
GET /api/v1/news/photo
별칭: /api/v1/photo
photocategory (all, top, politics, economy, world, culture, sports, trends, en)
q, source, limit (1~150), offset
실시간 고화질 보도사진 썸네일(thumbnail_url), 다중 고해상도 이미지 배열(images), 현장 리드문(snippet), 원문 및 포토뷰어 링크
GET /api/v1/issues
GET /api/v1/issues/{id}
issueshours (6~336), limit (1~100)다수 언론사가 동시 집중 보도 중인 빅이슈 클러스터 목록 및 이슈별 시계열 기사 전체
GET /api/v1/keywords
GET /api/v1/trends
keywordslimit (1~60)24시간 뉴스 핵심 키워드 순위, Google Trends KR 급상승 검색어, 한국 유튜브 인기 동영상, 전국 날씨·원달러 환율
GET /api/v1/reputation
GET /api/v1/reputation/{slug}
reputationslug (24대 부문 슬러그), limit (1~100)24대 부문 빅데이터 브랜드평판지수(참여·미디어·소통·커뮤니티 4대 지수 및 통합 점수·등급)
GET /api/v1/lab/deficit
GET /api/v1/lab/{slug}
labslug (13대 경제·산업 실험실 슬러그)대한민국 AI·디지털 무역적자 실시간 계기판(ChatGPT·생성형 AI·클라우드·한은 지식서비스·WTO 디지털 교역) 및 실험실 섹터 리포트
GET /api/v1/briefing/todaybriefing없음오늘의 한글 주요뉴스·영문 뉴스·이미지 뉴스·빅이슈·키워드·날씨·환율·AI 무역적자 올인원 브리핑 번들
GET /api/v1/categories
GET /api/v1/me
모든 유효 키없음지원 카테고리·섹션 전체 카탈로그 조회 및 내 API 키 플랜·스코프·잔여 쿼터 확인

4. 언어별 빠른 연동 예제 (Quickstart)

cURL — 한글·영문·이미지 뉴스

curl -s "https://korea.stream/api/v1/news/ko?category=business&limit=10" \
  -H "X-API-Key: ks_live_YOUR_API_KEY"

curl -s "https://korea.stream/api/v1/news/en?section=korea&limit=10" \
  -H "X-API-Key: ks_live_YOUR_API_KEY"

curl -s "https://korea.stream/api/v1/news/photo?category=all&limit=10" \
  -H "X-API-Key: ks_live_YOUR_API_KEY"

Python (requests)

import requests

API_KEY = "ks_live_YOUR_API_KEY"
HEADERS = {"X-API-Key": API_KEY}

# 한글 뉴스 · 영문 뉴스 · 이미지 뉴스 가져오기
ko = requests.get("https://korea.stream/api/v1/news/ko", params={"category": "all", "limit": 20}, headers=HEADERS).json()
en = requests.get("https://korea.stream/api/v1/news/en", params={"section": "all", "limit": 20}, headers=HEADERS).json()
ph = requests.get("https://korea.stream/api/v1/news/photo", params={"category": "all", "limit": 20}, headers=HEADERS).json()

print("Quota left:", ko["meta"]["quota"]["daily_remaining"])
for art in ko["items"][:3]:
    print(art["source"], art["title"], art["origin_url"])

JavaScript / TypeScript (fetch)

const API_KEY = "ks_live_YOUR_API_KEY";
const headers = { "X-API-Key": API_KEY };

const [koRes, enRes, photoRes] = await Promise.all([
  fetch("https://korea.stream/api/v1/news/ko?category=all&limit=10", { headers }),
  fetch("https://korea.stream/api/v1/news/en?section=all&limit=10", { headers }),
  fetch("https://korea.stream/api/v1/news/photo?category=all&limit=10", { headers }),
]);

const koData = await koRes.json();
const enData = await enRes.json();
const photoData = await photoRes.json();
console.log(koData.items, enData.items, photoData.items);