{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"entry_sha256":"e4142e41c0bb3a8136b16108cb98c1491199bb8130807924820c91477cd077a0","entry":{"id":"google/youtube-data-api","name":"YouTube Data API v3 (keys, quota and compliance audit)","vendor":"Google","summary":"Enable the YouTube Data API in a Google Cloud project and create an API key or OAuth client. The default quota is small (10,000 units a day plus 100 search and 100 upload calls); more quota, and public uploads from new projects, require passing a YouTube API Services compliance audit.","aliases":["youtube-api","youtube-data-api-v3"],"category":"social","group":"B","homepage":"https://developers.google.com/youtube/v3","docs":["https://developers.google.com/youtube/v3/getting-started","https://developers.google.com/youtube/v3/guides/quota_and_compliance_audits","https://developers.google.com/youtube/terms/developer-policies"],"status":"researched","last_verified":null,"last_researched":"2026-10-25","sources":[{"id":"getting-started","url":"https://developers.google.com/youtube/v3/getting-started","title":"YouTube Data API – Getting started","accessed":"2026-10-25","supports":"Need a Google Account, a Cloud project, enable the API, API key or OAuth credentials; writes need user authorisation; default 100 search.list, 100 videos.insert and 10,000 units/day for other endpoints; reads usually 1 unit, writes usually 50 units; every request costs at least 1 unit","kind":"official"},{"id":"quota-audits","url":"https://developers.google.com/youtube/v3/guides/quota_and_compliance_audits","title":"YouTube Data API – Quota and compliance audits","accessed":"2026-10-25","supports":"More quota requires an audit via the Audit and Quota Extension Form; team contacts you as soon as possible (no timeframe); periodic audits use the Periodic Audit Form; appeals form; change of control form for mergers and acquisitions","kind":"official"},{"id":"audit-form","url":"https://support.google.com/youtube/contact/yt_api_form","title":"YouTube API Services – Audit and Quota Extension Form","accessed":"2026-10-25","supports":"Form used to request an audit and quota extension; denials can be appealed","kind":"official"},{"id":"appeals-form","url":"https://support.google.com/youtube/contact/yt_api_appeals","title":"YouTube API Services – Appeals Form","accessed":"2026-10-25","supports":"Appeal a failed audit or denied quota extension","kind":"official"},{"id":"developer-policies","url":"https://developers.google.com/youtube/terms/developer-policies","title":"YouTube API Services – Developer Policies","accessed":"2026-10-25","supports":"Exactly one API project per API client; no extra projects for quota; privacy policy required before use; show YouTube as source with brand features; delete user data within 7 days of request; non-authorised statistics stored at most 30 days; YouTube may audit any time; extra quota only for the approved use case; suspension for non-compliance","kind":"official"},{"id":"videos-insert","url":"https://developers.google.com/youtube/v3/docs/videos/insert","title":"YouTube Data API – Videos insert","accessed":"2026-10-25","supports":"Videos uploaded from unverified API projects created after 28 July 2020 are restricted to private viewing until the project passes an audit","kind":"official"},{"id":"phyllo-quota","url":"https://www.getphyllo.com/post/is-the-youtube-api-free-in-2026-quota-limits-costs-when-to-pay","title":"Phyllo – Is the YouTube API free in 2026? (vendor blog)","accessed":"2026-10-25","supports":"People report quota extension reviews take weeks to months, with follow-up questions; vendor with an alternative product","kind":"community"}],"allowed_domains":["console.cloud.google.com","support.google.com"],"account_model":{"summary":"Everything lives in one Google Cloud project owned by your Google Account or organisation. YouTube's policies require exactly one Cloud project per API client (your app), and quota, audits and the API key or OAuth client all belong to that project. End users' YouTube channels are reached through OAuth, not through your own account.","accounts":[{"name":"Google Account or Google Workspace/Cloud organisation","kind":"organisation","owned_by":"the company or the person","required":true},{"name":"Google Cloud project (one per API client)","kind":"project","owned_by":"the company or the person","parent":"Google Account or Google Workspace/Cloud organisation","required":true,"note":"Using several projects for one app to get more quota breaks the policies."}],"notes":["Public data reads can use an API key; anything on a user's channel (uploads, edits, private data) needs OAuth 2.0 user authorisation."]},"prerequisites":[{"entry":"google/cloud-project-run","note":"Any Google Cloud project works; Cloud Run, Firestore and the domain parts are not needed."},{"entry":"google/oauth-verification","note":"Only if you use OAuth with YouTube scopes for public users; whether each YouTube scope counts as sensitive [to verify]."}],"identity_requires":["project_name","app_name","privacy_policy_url"],"have_ready":[{"kind":"app_privacy_policy_url","description":"Public privacy policy that users must accept before using the API features, linking to Google's privacy policy","why":"Required by the YouTube Developer Policies and checked in audits.","needed_for":["audit"],"auto_check":"website_live","source":"developer-policies"},{"kind":"live_website","description":"Live app or website showing how YouTube data is used and displayed (with YouTube branding)","needed_for":["audit"],"auto_check":"website_live","source":"developer-policies"},{"kind":"demo_video","description":"Screencast or test account showing the API client in use [to verify which the audit asks for]","why":"Policies require you to provide test accounts when audited.","needed_for":["audit"],"auto_check":"none","source":"developer-policies"},{"kind":"other","description":"Quota estimate by endpoint (calls per day multiplied by unit cost) and a clear use case","why":"Extra quota is granted for a specific use case only.","needed_for":["audit"],"auto_check":"none","source":"developer-policies"}],"steps":[{"id":"project","title":"Choose the one Cloud project for this app","summary":"Create or pick a Google Cloud project dedicated to this API client.","route":"guided","depends_on":[],"gate":"human_submit","url":"https://console.cloud.google.com/projectcreate","sources":["getting-started","developer-policies"]},{"id":"enable-api","title":"Enable YouTube Data API v3","summary":"In the API Library, enable \"YouTube Data API v3\" for the project.","route":"guided","depends_on":["project"],"gate":"human_submit","url":"https://console.cloud.google.com/apis/library/youtube.googleapis.com","sources":["getting-started"]},{"id":"api-key","title":"Create an API key for public data","summary":"In Credentials, create an API key and restrict it to YouTube Data API v3 (and to your app's referrers, IPs or package) so it cannot be abused [to verify restriction options for your platform].","route":"guided","depends_on":["enable-api"],"gate":"human_submit","url":"https://console.cloud.google.com/apis/credentials","capture":{"env":"YOUTUBE_API_KEY","kind":"api_key","mask_pattern":"^AIza[0-9A-Za-z_-]{35}$"}},{"id":"oauth-client","title":"Create an OAuth client for channel actions","summary":"For uploads, edits or private data, configure the OAuth consent screen and create an OAuth client ID. Apps for the public need Google OAuth verification (see google/oauth-verification).","route":"guided","depends_on":["enable-api"],"gate":"human_submit","url":"https://console.cloud.google.com/apis/credentials","optional":true,"sources":["getting-started"]},{"id":"check-quota","title":"Check quota and estimate usage","summary":"Open the Quotas page. Default is 10,000 units a day for most endpoints plus 100 search.list and 100 videos.insert calls. Reads usually cost 1 unit, writes 50. Work out whether you need more.","route":"guided","depends_on":["enable-api"],"gate":"none","url":"https://console.cloud.google.com/apis/api/youtube.googleapis.com/quotas","sources":["getting-started"]},{"id":"audit","title":"Pass the compliance audit (for more quota or public uploads)","summary":"Make sure the app complies with the YouTube API Services Terms and Developer Policies, then submit the Audit and Quota Extension Form. A YouTube API Services team member contacts you. New projects (after 28 July 2020) need this before uploads can be anything but private.","route":"guided","depends_on":["check-quota"],"gate":"third_party_review","url":"https://support.google.com/youtube/contact/yt_api_form","lead_time":{"official":{"text":"No timeframe given; YouTube says the team will contact you as soon as possible.","source":"quota-audits"},"reported":{"text":"People report several weeks to several months, often with follow-up questions (vendor blog).","source":"phyllo-quota"}},"recovery":[{"hiccup":"Uploaded videos are stuck as private","fix":"The project is unverified and was created after 28 July 2020; pass the audit to lift the restriction. Staying under quota does not help.","source":"videos-insert"},{"hiccup":"403 quotaExceeded","fix":"Reduce calls (cache, avoid search.list, batch ids into list calls) or apply for more quota through the audit form; do not create extra projects.","source":"developer-policies"},{"hiccup":"Audit failed or quota denied","fix":"Fix the compliance issues named, then appeal with the Appeals Form.","source":"appeals-form"}],"optional":true}],"outputs":[{"name":"YOUTUBE_API_KEY","description":"API key for public YouTube Data API calls","secret":true,"example_format":"AIza…","environments":["development","production"],"from_step":"api-key"},{"name":"YOUTUBE_OAUTH_CLIENT_ID","description":"OAuth 2.0 client id for user-authorised calls","secret":false,"example_format":"1234567890-abc123.apps.googleusercontent.com","from_step":"oauth-client"},{"name":"YOUTUBE_OAUTH_CLIENT_SECRET","description":"OAuth 2.0 client secret (web server apps only)","secret":true,"example_format":"GOCSPX-…","from_step":"oauth-client"}],"terms_notes":[{"kind":"rules_say","severity":"red","title":"One project per app","text":"You must create exactly one API project for each API client. Spreading one app across several projects to get more quota breaks the Developer Policies and can lead to suspension.","source":"developer-policies"},{"kind":"rules_say","severity":"red","title":"Quota is tied to your approved use case","text":"Extra quota may only be used for the use case that was approved; a new use case needs a new audit.","source":"developer-policies"},{"kind":"rules_say","severity":"amber","title":"Data retention limits","text":"Non-authorised statistics may be stored for at most 30 days, and user data must be deleted within 7 calendar days of a deletion request.","source":"developer-policies"},{"kind":"rules_say","severity":"amber","title":"YouTube can audit you at any time","text":"YouTube may monitor and audit your use at any time; you must not interfere and must provide test accounts when asked.","source":"developer-policies"},{"kind":"rules_say","severity":"yellow","title":"Tell YouTube about a change of control","text":"After a merger, acquisition or similar change of control, submit the Change of Control Form.","source":"quota-audits"}],"renewals":[{"what":"Re-audit when you need more quota again (an audit within the last 12 months can be reused via the same form) or when contacted for a periodic audit","every":"when requested (periodic audits) [to verify any fixed cycle]","source":"quota-audits"}],"pricing_notes":{"free_tier":"Default 10,000 units/day plus 100 search.list and 100 videos.insert calls per project.","notes":"The official docs describe quota, not charges; extra quota is obtained by audit, not purchase [to verify].","source":"getting-started"},"stripe_projects":false,"api_provisioning":{"available":"partial","notes":"Enabling the API and creating API keys can be scripted with Google Cloud APIs (Service Usage, API Keys) [to verify]; the audit and quota extension are form-only.","source":"quota-audits"},"detect":{"env_names":["YOUTUBE_API_KEY"],"packages":["googleapis","google-api-python-client"]}}}