YouTube Data API v3의 쿼터(기본 10,000 units/일)를 “얼마나 많은 동영상 정보를 가져올 수 있느냐”로 환산해 보면, 핵심은 어떤 메서드를 쓰느냐와 한 번 호출당 최대 몇 개 항목을 리턴하느냐 입니다.
1. 주요 메서드별 단위 비용
| 메서드 | 단위(quotaCost) | 한 호출당 최대 리턴 크기 |
|---|---|---|
| search.list | 100 units | maxResults=50 |
| videos.list | 1 unit | maxResults=50 |
| (그 외 대부분의 조회) | 1 unit | 다양 |
-
search.list: 특정 키워드로 영상 ID를 찾아낼 때 쓰며, 호출당 100 units 소모, 최대 50개 ID 반환
-
videos.list: 영상 ID 목록을 주고 상세 메타(통계·스니펫·태그 등)를 가져올 때 쓰며, 호출당 1 unit 소모, 최대 50개 객체 반환
2. 시나리오별 일일 최대 크롤링 개수
-
이미 ID 리스트가 확보된 상태에서 “영상 상세정보”만 조회
-
사용할 메서드:
videos.list(part=...) -
비용: 1 unit / 호출, 반환 50개 → 비디오당 0.02 unit
-
일일 호출 가능 횟수: 10,000 calls → 10,000×50 = 500,000개 비디오 메타
-
-
“키워드 → ID 검색 → 상세정보 조회” 풀 플로우
-
(1) ID 검색: 10,000 units ÷ 100 unit/호출 = 100 calls → 100×50 = 5,000개 ID 확보
-
(2) 상세정보 조회: 5,000 IDs ÷ 50/호출 = 100 calls → 100×1 unit = 100 units
-
합계 소모: 100×100 + 100×1 = 10,100 units → 약간 오버
-
그러므로 풀 플로우로는 대략 5,000개 비디오 정보를 처리 가능
-
3. part 필드(반환 항목)를 절반으로 줄인다고 크롤링 건수가 늘어날까?
-
결론: 늘어나지 않습니다.
-
이유: YouTube API의 quota 비용은 메서드 단위(search.list=100, videos.list=1)로 책정되며,
part=snippet,statistics,contentDetails…같이 가져오는 필드를 늘리거나 줄여도 unit 비용이 바뀌지 않습니다. -
단, 네트워크 대역폭과 응답 속도 차이는 있을 수 있으나, quota 상 허용 호출 횟수―즉 크롤링 개수―는 동일합니다.
4. 더 많이 크롤링하려면?
-
쿼터 상향 요청: Google Cloud Console → IAM & Admin → Quotas → YouTube Data API → quota limit 증가 청구
-
캐싱·중복 배제: 이미 가져온 건은 재조회하지 않도록 로컬/Redis 캐싱
-
멀티 프로젝트 분산 호출: 서비스 계정별(프로젝트별)로 quota를 분산 사용
요약
-
videos.list만으로 순수 상세 메타만 땡겨올 땐: 하루 최대 50만 개
-
검색→상세정보 풀 파이프라인으로 땡겨올 땐: 하루 최대 5천 개
-
part항목 수 절반으로 줄인다 해도 quota 소비량엔 변화 없음
필요하신 더 구체적 예제나, Python·Node.js 샘플 코드도 추가로 드릴 수 있습니다!