유튜브 api 키 발급 · YouTube Data API 키: 코드에 넣기 전 확인할 것 세 가지(API 제한 · .env 보관 · 교체 순서)
유튜브 API 키 발급은 Google Cloud 콘솔에서 버튼 몇 번이면 끝난다. 코드에 넣기 전에 볼 건 세 가지. 키가 YouTube Data API v3 만 부르도록 제한했는지, 키를 코드 밖 .env 에 두고 git 에서 뺐는지, 키를 바꿀 때 새 키로 실제 호출을 확인한 뒤에 옛 키를 지우는지. 기준은 2026년 10월 13일에 읽은 Google Cloud · YouTube Data API 공식 문서다.
유튜브 API 키 발급 순서 (2026-10-13 공식 문서 기준)
YouTube Data API 시작 문서가 적는 준비는 프로젝트, API 사용 설정, 인증 정보 세 가지.
- Google Cloud 콘솔에서 프로젝트를 만든다. 이미 있으면 그 프로젝트를 고른다.
- 사용 설정된 API 목록(Enabled APIs)에 YouTube Data API 가 있는지 본다. 없으면 API 라이브러리에서 사용 설정한다.
- 사용자 인증 정보 페이지에서 사용자 인증 정보 만들기 → API 키 → 이 키로 부를 API 를 고른 뒤 만들기.
버튼 이름은 Google Cloud API 키 관리 문서 한국어판 표기를 따랐다. API 키로 되는 건 공개 데이터 쪽. 시작 문서는 인증 없는 요청은 공개 데이터만 가져온다고 적고, 사용자 인증이 필요한 메서드를 쓸 거면 OAuth 2.0 인증 문서를 읽으라고 한다. 공개된 채널 · 영상 정보를 읽는 일이면 API 키로 되는 셈이다.
넣기 전에 1: API 키 제한은 쓰는 API 하나로
제한은 키를 만들 때 같이 건다. 2026년 10월 9일에 고쳐진 키 관리 문서 영문판은 콘솔에서 키를 만들려면 API 제한을 하나 이상 걸어야 한다고 적는다(한국어판은 2025년 12월 판이라 이 문장이 아직 없다). 이미 만든 키라면 키 이름 클릭 → API 제한사항 섹션의 키 제한 → 이 키로 부를 API 선택 → 저장. 유튜브 데이터만 읽을 키라면 YouTube Data API v3 하나만 고르면 된다. 같은 문서는 제한 없는 키를 두고 어디서나 쓸 수 있어 안전하지 않다고 적었다. API 키 권장 사항 문서가 드는 이유는 하나, 키가 털렸을 때 피해를 줄이는 것.
애플리케이션 제한도 따로 있다. 키 관리 문서는 운영에 쓰는 앱이라면 이것과 API 제한을 둘 다 걸라고 적는다. HTTP 리퍼러(웹사이트), IP 주소, Android 앱, iOS 앱 네 가지 중에서 키를 쓰는 곳에 맞는 걸 고르는 식. 서버나 cron 작업이 쓰는 키라면 문서상 해당 칸은 IP 주소다.
할당량도 넣기 전에 본다. 시작 문서 기준 기본 할당량은 search.list 100회, videos.insert 100회, 그 밖의 엔드포인트를 합쳐 하루 10,000 단위. 목록을 읽는 요청은 보통 1단위가 든다고 적혀 있다.
넣기 전에 2: 키는 코드 밖 .env 에, 저장소에서는 빼고
권장 사항 문서는 소스 코드에 박아 넣거나 저장소에 둔 키는 가로채이거나 도난당할 수 있다고 적는다. 우리는 키를 .env 한 줄에 두고, 그 파일을 .gitignore 첫 줄로 git 에서 뺐다.
# .env
YOUTUBE_DATA_API_KEY=발급받은_키
# .gitignore
.env
빠졌는지는 git 으로 확인할 수 있다.
git check-ignore -v .env
git 공식 문서 기준으로, 무시되는 파일이면 걸린 규칙과 경로가 함께 찍히고 종료 코드는 0. 하나도 무시되지 않으면 1이다.
요청에 키는 어떻게 싣나? 키를 URL 의 key= 로 붙이면 URL 스캔으로 털릴 수 있다는 게 권장 사항 문서의 설명이고, 대신 x-goog-api-key HTTP 헤더나 클라이언트 라이브러리를 쓰라고 한다.
x-goog-api-key: API_KEY
키 사용 문서는 헤더를 못 쓸 때 key 쿼리 파라미터를 써도 되지만, 그러면 키가 URL 에 들어가 같은 위험이 붙는다고 적었다.
넣기 전에 3: 키를 바꿀 땐 새 키 확인 뒤에 옛 키 삭제
키 관리 문서의 키 순환 순서.
- 사용자 인증 정보 페이지에서 바꿀 키 이름을 누른다.
- 키 순환.
- 새 키 이름을 넣고, 제한사항이 맞는지 확인한 뒤 만들기.
- 새 키 문자열을 복사해 앱이 새 키를 쓰게 바꾼다.
- 모든 앱을 바꾼 뒤, 새 키 세부정보 페이지의 이전 키 섹션에서 이전 키 삭제.
요점은 5번이 맨 끝이라는 것. 앱이 전부 새 키로 바뀐 걸 보고 나서야 옛 키를 지운다. 너무 일찍 지웠더라도 삭제 뒤 30일 안이면 되살릴 수 있다고 문서에 적혀 있다.
언제 바꾸나? 권장 사항 문서는 주기적으로 새 키를 만들고, 앱을 바꾸고, 옛 키를 지우라고 적는다. 우리 보안 검토가 정리한 시점은 조금 더 구체적이었다. 키가 커밋 · 로그 · 세션 기록 · 스크린샷, 또는 AI 에이전트가 붙은 브라우저 화면에 보였을 수 있을 때, 기기를 잃어버렸을 때, 그게 아니면 1년에 한 번.
실제로 겪은 일
10월 7일, 유튜브 공개 통계를 읽는 스크립트에 쓸 API 키가 새로 만들어져
.env에 들어갔다. 같은 날 보안 검토에서 걸린 건, 그 키를 만든 클라우드 콘솔 「사용자 인증 정보」 화면을 쓰는 동안 내 Chrome 에 Playwright 확장이 붙어 있었다는 점. 키 원문이 샌 흔적은 없었지만 보수적으로 바꾸기로 했다. 새 키는 내가 콘솔에서 직접 만들었고,.env를 새 키로 바꾼 뒤 그 키로 부른 호출이 HTTP 200 으로 돌아오는 걸 보고 나서 옛 키를 지웠다. 확장이 붙은 브라우저에서는 클라우드 콘솔과 키 화면을 열지 않고, 키 만들기 · 제한 · 삭제는 사람 손으로 한다는 규칙이 이 일 뒤에 생긴 거다.
내 API 키 설정 점검표
- 키를 쓰는 API 하나(유튜브라면 YouTube Data API v3)로 제한했나. API 제한사항 → 키 제한.
- 애플리케이션 제한(HTTP 리퍼러 · IP 주소 · Android 앱 · iOS 앱) 중 내 환경에 맞는 게 있는지 봤나.
- 키가 코드와 저장소에 없고
.env에 있나.git check-ignore -v .env가 규칙을 찍어 주나. - 요청에 키를 URL
key=대신x-goog-api-key헤더로 싣나. - 기본 할당량(search.list 하루 100회, 그 밖의 엔드포인트 합쳐 하루 10,000 단위)을 내 호출량과 맞춰 봤나.
- 키를 만들거나 키 값을 화면에 띄우는 동안, AI 에이전트의 브라우저 도구가 그 브라우저에 붙어 있지 않나.
- 키를 바꿀 때 새 키로 실제 호출이 성공한 걸 보고 나서 옛 키를 지우나.
- 바꾼 기록에는 날짜와 이유만 남기고, 키 값은 앞뒤 몇 자리도 적지 않는다.
같이 읽을 글
- 10편 — 클로드 코드 보안 설정 · AI 에이전트 보안: 비밀번호 칸 앞에서 멈춘 작업과 그 뒤의 규칙 세 곳: 에이전트가 붙은 브라우저에서 열지 않는 화면(클라우드 콘솔 · 결제 · 계정 설정)을 정한 규칙과, 비밀번호 창 앞에서 멈춘 작업.
다음 글은 claude.md 파일 위치와 작성법. 어디에 두면 Claude Code가 읽는지부터 적는다.
다음에 다뤘으면 하는 질문은 댓글로 남기거나 codenara.contact@gmail.com 으로 보내 주세요. 받은 질문은 다음 글감으로 씁니다.