GuidesAPI GuideChangelog
Log In
API Guide

통계 안내

통계 API 를 고르는 방법과 기간·시계열 규칙을 설명합니다. 모든 통계 API 에 적용됩니다.

어떤 API 를 쓰면 되나요

알고 싶은 것메뉴
기간 동안 전체 성과(방송 수, 시청자, 주문)라이브 기간 통계 · VOD 기간 통계
기간 동안 시청자 구성(연령·성별·OS·유입)라이브 기간 시청자 분석 · VOD 기간 시청자 분석
방송 한 건의 성과와 추이라이브 방송 통계 · VOD 방송 통계
방송 한 건의 시청자 구성라이브 방송 시청자 분석 · VOD 방송 시청자 분석
방송을 본 회원 목록(CSV)회원 시청 데이터

조회 기간

규칙내용위반 시
파라미터searchStartDt(포함) ~ searchEndDt(미포함)400 C001
최대 기간31일400 OA002
시작 시각현재보다 미래이면 안 됨400 C001
일 단위 API두 값 모두 KST 자정(UTC T15:00:00Z)400 OA001

예: KST 10월 13일부터 7일

KST요청 값(UTC)
시작(포함)2026-10-13 00:002026-10-12T15:00:00Z
종료(미포함)2026-10-20 00:002026-10-19T15:00:00Z

KST 날짜를 UTC 로 바꾸기

KST 자정은 UTC 로 전날 15:00 입니다. 날짜만 알면 아래처럼 바꿀 수 있습니다.

조회하려는 기간 (KST)searchStartDtsearchEndDt
10월 13일 하루2026-10-12T15:00:00Z2026-10-13T15:00:00Z
10월 13일 ~ 19일 (7일)2026-10-12T15:00:00Z2026-10-19T15:00:00Z
10월 한 달 (31일)2026-09-30T15:00:00Z2026-10-31T15:00:00Z

종료 시각은 마지막 날의 다음 날 자정입니다(미포함).

import java.time.*;

ZoneId KST = ZoneId.of("Asia/Seoul");

// KST 날짜 [from, to) → UTC 문자열
String start = LocalDate.of(2026, 10, 13).atStartOfDay(KST).toInstant().toString(); // 2026-10-12T15:00:00Z
String end   = LocalDate.of(2026, 10, 20).atStartOfDay(KST).toInstant().toString(); // 2026-10-19T15:00:00Z

// 어제 하루
LocalDate today = LocalDate.now(KST);
String yStart = today.minusDays(1).atStartOfDay(KST).toInstant().toString();
String yEnd   = today.atStartOfDay(KST).toInstant().toString();
import java.time.*

val KST: ZoneId = ZoneId.of("Asia/Seoul")

fun kstMidnightUtc(date: LocalDate): String =
    date.atStartOfDay(KST).toInstant().toString()

val start = kstMidnightUtc(LocalDate.of(2026, 10, 13)) // 2026-10-12T15:00:00Z
val end   = kstMidnightUtc(LocalDate.of(2026, 10, 20)) // 2026-10-19T15:00:00Z

// 어제 하루
val today = LocalDate.now(KST)
val yStart = kstMidnightUtc(today.minusDays(1))
val yEnd   = kstMidnightUtc(today)
from datetime import date, datetime, timedelta, timezone
from zoneinfo import ZoneInfo

KST = ZoneInfo("Asia/Seoul")

def kst_midnight_utc(d: date) -> str:
    dt = datetime(d.year, d.month, d.day, tzinfo=KST).astimezone(timezone.utc)
    return dt.strftime("%Y-%m-%dT%H:%M:%SZ")

start = kst_midnight_utc(date(2026, 10, 13))  # 2026-10-12T15:00:00Z
end   = kst_midnight_utc(date(2026, 10, 20))  # 2026-10-19T15:00:00Z

# 어제 하루
today = datetime.now(KST).date()
y_start, y_end = kst_midnight_utc(today - timedelta(days=1)), kst_midnight_utc(today)
// KST 는 서머타임이 없어 항상 UTC+9 입니다.
function kstMidnightUtc(y, m, d) {
  return new Date(Date.UTC(y, m - 1, d) - 9 * 3600 * 1000)
    .toISOString().replace('.000Z', 'Z');
}

const start = kstMidnightUtc(2026, 10, 13); // 2026-10-12T15:00:00Z
const end   = kstMidnightUtc(2026, 10, 20); // 2026-10-19T15:00:00Z

API 별 기간 정렬 규칙

각 API 페이지 상단의 기간 규칙으로 확인할 수 있습니다.

기간 규칙뜻API 수
기간: KST 자정 필요두 값 모두 KST 자정(T15:00:00Z)31
기간: PRE_LIVE 일 때 KST 자정broadcastStatus=PRE_LIVE 일 때만 KST 자정1
기간: 일=KST 자정 · 시간=정시일 단위 버킷이면 KST 자정, 시간 단위면 정시2
기간: 정렬 불필요아무 UTC 시각이나 가능. 그 구간에 시작한 방송을 집계17
기간: 기간 없음방송 단위 API. 방송 시작~종료가 집계 구간15

시계열 단위(interval)

  • 기간 시계열은 서버가 단위를 정합니다. KST 하루 안이면 PT1H(시간), 그보다 길면 P1D(일)입니다.
  • 정해진 단위는 응답 meta.interval 에 담깁니다.
  • 라이브 방송 시계열만 1m/10m/1h 중에서 직접 고릅니다. 라이브 방송의 채널별·유입 경로별 시계열은 1분 단위로 고정입니다.

분포 형식 [{ key, uv }]

연령·성별·OS·회원 유형 분포는 배열로 내려갑니다. 모르는 key 는 "기타"로 처리하세요.

필드key
ageCode10~60, etc
genderCodew 여성, m 남성, e 기타
osAndroid, iOS, Mac OS, Windows, Etc
memberTypeCode0 비회원, 1 회원, 2 관리자

통계 전용 오류

codeHTTP언제
OA001400일 단위 API 인데 기간이 KST 자정(또는 시간 단위 API 인데 정시)에 맞지 않음
OA002400조회 기간이 31일 초과
🏠 소스라이브 🎬 소스클립 🔗 소스링크 📢 소스애드
🧩 API 가이드
🆕 최근 업데이트
💬 도움이 더 필요하신가요?
메일로 문의 카카오톡 채널로 문의
담당자에게 문의하기

궁금한 점이나 불편했던 점을 남겨주시면 담당자가 확인 후 답변드릴게요.

가이드 챗봇
* AI를 활용해 답변해서 사실과 다를 수도 있어요. 더 궁금한 사항은 '담당자에게 문의하기'를 이용해주세요.
💡 궁금한 솔루션(예: 라이브, 링크 등)을 함께 적어주시면 더 정확한 답변을 받을 수 있어요.