인증 방식
🔑 API Key
요금
일 10,000 유닛 무료, 이후 $0.2~
Base URL
www.googleapis.com/youtube/v3
태그
YouTube, 영상
서비스 소개
YouTube Data API v3는 채널 정보, 동영상 목록, 검색, 댓글, 구독자 수 등 YouTube의 데이터를 조회하는 API입니다. 하루 10,000 유닛 무료 할당량으로 중소규모 서비스는 무료로 사용할 수 있습니다. 마케팅 분석, 콘텐츠 크리에이터 도구, 채널 모니터링 등에 활용됩니다.
🚀 시작하기
- 1
Google Cloud Console 프로젝트 생성
console.cloud.google.com → 새 프로젝트 생성
- 2
YouTube Data API v3 활성화
API 및 서비스 → 라이브러리 → "YouTube Data API v3" 검색 → 사용
- 3
API 키 발급
사용자 인증 정보 → API 키 만들기 → YouTube Data API로 제한 설정
📋 응답 예시
{
"items": [{
"id": { "videoId": "dQw4w9WgXcQ" },
"snippet": {
"title": "영상 제목",
"channelTitle": "채널명",
"publishedAt": "2024-01-01T00:00:00Z",
"description": "설명..."
}
}],
"pageInfo": { "totalResults": 1000000 }
}💡 코드 예제
JavaScriptJavaScript (채널·영상 조회)
const YT_KEY = process.env.YOUTUBE_API_KEY
// 키워드 검색
async function searchVideos(query: string, maxResults = 10) {
const url = new URL('https://www.googleapis.com/youtube/v3/search')
url.searchParams.set('key', YT_KEY!)
url.searchParams.set('q', query)
url.searchParams.set('type', 'video')
url.searchParams.set('maxResults', String(maxResults))
url.searchParams.set('part', 'snippet')
url.searchParams.set('relevanceLanguage', 'ko')
url.searchParams.set('regionCode', 'KR')
const res = await fetch(url.toString())
return (await res.json()).items
}
// 채널 정보 조회
async function getChannel(channelId: string) {
const res = await fetch(
`https://www.googleapis.com/youtube/v3/channels?key=${YT_KEY}&id=${channelId}&part=snippet,statistics`
)
const data = await res.json()
const ch = data.items[0]
return {
title: ch.snippet.title,
subscribers: ch.statistics.subscriberCount,
views: ch.statistics.viewCount,
videos: ch.statistics.videoCount,
}
}PythonPython
from googleapiclient.discovery import build
youtube = build('youtube', 'v3', developerKey='YOUR_API_KEY')
# 채널 영상 목록
request = youtube.search().list(
part='snippet',
channelId='CHANNEL_ID',
maxResults=10,
order='date',
type='video',
)
response = request.execute()
for item in response['items']:
print(item['snippet']['title'])