YouTube 채널 프로필은(는) 무엇을 하나요?
scripts/channel_profile.py는 YouTube Data API v3를 통해 공개 채널 데이터를 읽고 마크다운 보고서를 출력합니다(--json 옵션으로 JSON 출력 가능). 공식 API만 사용합니다. YouTube 웹 페이지를 로드하지 않으며, 디스크에 아무것도 쓰지 않습니다.
실행 전 준비 사항
- 사용자는 YouTube Data API v3가 활성화된 Google Cloud 프로젝트와 해당 API로 제한된 API 키가 필요합니다.
- 키는
YOUTUBE_API_KEY환경 변수에 저장합니다. 프롬프트, 파일, 채팅에 절대 넣지 말고 절대 출력하지 마세요. 설정되지 않은 경우 중단하고 사용자에게 설정하도록 요청하세요. 다른 곳에서 키를 찾지 마세요. - 하나의 의존성을 설치합니다:
pip install -r scripts/requirements.txt(requests).
실행
python3 scripts/channel_profile.py @핸들
python3 scripts/channel_profile.py https://www.youtube.com/@핸들 --videos 100
python3 scripts/channel_profile.py UCxxxxxxxxxxxxxxxxxxxxxx --json
옵션: --videos N (읽을 최근 업로드 수, 기본값 50, 최대 500), --json, --no-search, --cpm-low 및 --cpm-high (기본값 0.25 및 4.00).
채널 찾는 방법
- 채널 ID 또는
/channel/UC...URL:channels.list에id사용. @핸들또는/@핸들URL:channels.list에forHandle사용./user/URL:forUsername사용./c/URL은 핸들로 시도합니다.- 일치하는 것이 없으면
search.list로 최적 일치 항목을 찾고 보고서에 그렇게 명시합니다. 의존하기 전에 제목과 ID를 확인하세요.--no-search는 이 대체 검색을 끕니다. - 동영상 링크, 재생목록 링크, YouTube 외부 주소는 거부됩니다. 채널 링크를 요청하세요.
할당량
| 호출 | 비용 |
|---|---|
channels.list | 1 단위 |
playlistItems.list | 업로드 50개당 1 단위 |
videos.list | 동영상 50개당 1 단위 |
search.list (대체 검색 전용) | 자체 버킷에서 1회 호출 |
기본 실행 비용은 10,000 단위 일일 기본 할당량 중 3 단위입니다. 2026년 6월 1일부터 search.list는 하루 100회 호출이라는 자체 버킷을 갖습니다. 그 이전에는 검색 한 번이 기본 할당량에서 100 단위를 소비했으므로, 이전 가이드에서는 100이라고 말할 수 있습니다. 실패한 호출도 할당량을 소비합니다. 할당량은 태평양 시간 자정에 재설정됩니다. 모든 보고서는 사용된 할당량을 마지막에 표시합니다.
보고 내용
YouTube에서 반환된 대로:
- 구독자 수(YouTube에서 유효숫자 3자리로 내림 처리). 소유자가 숫자를 숨긴 경우 보고서는 "Hidden"이라고 표시하고 추정치를 제공하지 않습니다.
- 총 채널 조회수 및 공개 동영상 수.
- 각 최근 동영상의 조회수, 좋아요, 댓글 수.
스크립트가 도출하고 *로 표시하는 항목:
- 업로드 주기: 마지막 N개 업로드 간 중간 일수, 월간 업로드 수((N - 1) 간격 / 경과 일수 x 30.44), 마지막 업로드 이후 경과 일수.
- 최근 동영상의 중간 및 평균 조회수. 라이브 및 예정된 스트리밍은 제외됩니다.
- 추세: 마지막 10개 업로드의 중간 조회수와 그 이전 10개 업로드의 중간 조회수 비교. 최신 동영상은 조회수가 모이는 시간이 더 적습니다.
- 참여율: 동영상별 (좋아요 + 댓글) / 조회수, 그 다음 중간값. 좋아요가 숨겨진 동영상은 제외됩니다. 댓글이 비활성화된 동영상은 댓글 0개로 계산합니다.
- Shorts 대 일반 동영상 비율(길이 기준). 이는 휴리스틱입니다: API에 Shorts 플래그가 없으므로 180초 이하를 Shorts로 간주합니다.
- 최근 상위 5개 동영상(조회수 기준).
- 예상 월 조회수: 지난 30일 이내에 게시된 동영상의 현재 조회수 합계. 이는 과거 카탈로그 조회수는 제외합니다. 샘플이 30일을 포함하지 않는 경우 보고서에 그렇게 명시하고 더 큰
--videos값을 요청합니다. 이 확인은 업로드 재생목록이 일반적인 경우처럼 최신순으로 정렬되어 있다고 가정합니다.
YouTube API 정책 III.E.4.h는 YouTube 자체 합계 옆에만 파생 수치를 표시하고 YouTube 출처가 아님을 명확히 표시하도록 요구합니다. 보고서는 이 두 가지를 모두 수행합니다. 별표(*)가 있는 수치를 인용할 때마다 해당 메모를 유지하세요.
수익 산정 방법
하한 = 예상 월 조회수 / 1,000 x US$0.25
상한 = 예상 월 조회수 / 1,000 x US$4.00
US$0.25 ~ US$4.00은 Social Blade가 게시한 기본 CPM 범위입니다(socialblade.com/youtube/calculator). 보고서는 실제 숫자가 포함된 공식을 출력합니다. 이는 광고 수익만을 대상으로 합니다. 후원, 멤버십, 쇼핑, 제휴 수익, 팬 후원은 제외됩니다. 실제 RPM은 틈새 시장, 시청자 국가 및 형식에 따라 다릅니다. Shorts 수익은 다른 조건으로 풀링됩니다. YouTube 파트너 프로그램 외부의 채널은 광고 수익을 얻지 못합니다. 항상 예상 범위라고 부르고, 수입이라고 부르지 마세요.
오류
| 종료 코드 | 의미 | 조치 |
|---|---|---|
| 0 | 보고서 출력됨 | |
| 2 | 잘못된 입력, 키 누락, 또는 채널을 찾을 수 없음 | 입력 수정, 또는 사용자에게 키나 올바른 링크 요청 |
| 3 | 할당량 소진 | 중단. 사용자에게 태평양 시간 자정에 재설정된다고 알림. 루프로 재시도하거나 키를 전환하지 마세요 |
| 4 | 기타 API 오류(예: 잘못된 키 또는 API가 활성화되지 않음) | 사용자에게 메시지 표시 |
| 5 | 네트워크 오류 | 한 번 재시도 후 보고 |
오류는 실패 전에 사용된 할당량을 출력합니다. 모든 메시지와 보고서는 출력 전에 키가 제거됩니다.
규칙
- 공식 API만 사용합니다. 빈틈을 메우기 위해 YouTube 페이지를 스크래핑하지 마세요. 빈틈을 보고하세요.
- 실행 후 아무것도 캐싱하지 마세요. 원시 API 응답을 저장하지 마세요. 사용자가 보고서를 보관하는 경우, API 통계는 30일 이상 저장해서는 안 됩니다(정책 III.E.4.b).
- 공개 데이터만 사용합니다. 시청자 인구 통계는 공개되지 않습니다:
creator-audience스킬을 참조하세요.
2026년 11월 5일 YouTube Data API 참조, 할당량 페이지, 수정 내역 및 개발자 정책에 대해 확인함. 스크립트 테스트는 오프라인에서 픽스처에 대해 실행됨. 여기서 라이브 API에 대해 실행된 적은 없음.