# YouTube public data without a Google Cloud project

2026-08-05

> Channels, videos, and comments as JSON. No Cloud console, no API key quota, no YouTube Data API v3 signup.

- Index: https://fetcher.sh/blog.md
- This page (HTML): https://fetcher.sh/blog/youtube-public-data-without-google-cloud

![A 3D render of the YouTube play-button logo](https://images.unsplash.com/photo-1611162616475-46b635cb6868?auto=format&fit=crop&w=1600&q=80)

Photo by Alexander Shatov on [Unsplash](https://unsplash.com/?utm_source=fetcher_sh&utm_medium=referral).

YouTube Data API v3 lives behind a Google Cloud project, a key, and a quota. That is normal if you are a product that ships inside Google’s ecosystem. It is overhead if you want a channel’s public uploads, a video page, or the comment thread under it, as JSON, without standing up billing.

[youtube.fetcher.sh](https://youtube.fetcher.sh) does not use your Cloud project. You search videos, resolve a channel, list uploads, and read comments. No GCP. No console key.

This is public catalog data, not YouTube Studio and not Content ID. Reels and TikTok are other hosts with other ids. A YouTube comment is not an App Store review and not a Maps rating.

## Channels, videos, comments

Search videos, channels, and playlists — filtered the way YouTube filters, by upload date, duration, and sort. Resolve a handle or a `/c/` path to a channel id. List a channel’s videos. Fetch a video and its comments. Hashtags and trending exist on this host too.

`curl -H 'Authorization: Bearer bby_live_…' 'https://youtube.fetcher.sh/api/search/video?query=lofi'`

[Shorts, live streams, and playlists](/blog/youtube-shorts-live-streams-playlists-json) are YouTube-native formats with their own paths. [Comment threads](/blog/comment-threads-youtube-instagram-tiktok-reddit-x) across networks is a separate note. [Creator lookup](/blog/creator-influencer-lookup-public-profiles) sizes a public channel.

Duration filters exist so a Shorts-shaped search does not drown in three-hour talks, and the reverse. Use them. Mixing formats in one list is how a producer books the wrong slot.

## Studio, Cloud, and this host

Studio is how the channel owner uploads, comments as the channel, and reads analytics. Data API v3 is how a product talks to YouTube with a Google project. This host reads the public catalog as JSON without that project.

You cannot upload through fetcher.sh. You cannot claim Content ID. You cannot pull private analytics. You can search, resolve, list, and read comments on public videos. That is most research and most agent retrieval.

Keep Reels and TikTok on their own hosts. A Shorts id is not a Reels shortcode. If the question is “what did they post on Instagram,” you have left YouTube.

## A case: a podcaster pulling a guest’s public catalog

A producer is booking a scientist who posts talks on YouTube. They have a handle, not a channel id. They need the last dozen long-form uploads, not Shorts, and they want to skim comment sentiment on the most-viewed one.

They resolve the handle to a channel id. They list videos with a duration filter so Shorts drop out. They fetch comments on the top video. They never open Cloud. They never request a quota increase.

If they later want Shorts or a live-stream list, those are different paths on the same host — keep the ids straight so a Shorts fetch does not pull a three-hour upload. Need the official API to *upload the episode*? That is Cloud, and it is a different week.

They also keep a column for “this is a playlist of talks” versus “this is the channel’s main uploads.” Conference recordings often live in a playlist and never show up as the latest channel video. The [formats note](/blog/youtube-shorts-live-streams-playlists-json) is that column. This access note is only: you did not need a Cloud project to build it.

## A case: an agent citing a talk that shipped yesterday

A research agent is allowed to retrieve public video pages. Training data does not have yesterday’s conference talk. The agent searches, fetches the video object, optionally pulls comments, and cites the URL from the JSON.

It does not invent a view count from memory. It does not pull Studio analytics. If the video is region-blocked or gone, the envelope says so and the agent stops. Payment is 402 or a key, same as Twitter.

Quota anxiety is a Cloud feeling. Here the constraint is the price of the GET and whether the object is public. If you are about to issue thousands of comment-list calls because you wanted a firehose of every comment YouTube has ever stored, you want a different conversation — and probably a partner API. This host is a page, a channel list, a thread.

A producer’s Monday: resolve the guest, list long-form with a duration floor, list Shorts separately, comments on one video that actually matters. That is Cloud-free and it is not Studio. If they need to upload the episode of their own show, they are in a Google project that week, and this note does not apply.

Quota pages in Cloud Console are not a status we return. Failed public fetches are JSON. Missing videos are JSON. Region blocks are JSON. HTML error pages are what you are not parsing.

## What Studio and Cloud still own

YouTube Data API v3 is still what you want for upload, captions management, and anything that acts as the channel owner. This host reads the public catalog. Filter search the way YouTube itself does. Keep Reels and TikTok on their own hosts. Docs: [youtube.fetcher.sh](https://youtube.fetcher.sh) and [/docs](/docs). Same payment as every other host: 402 or a `bby_live_` key from [/topup](/topup).
