About

YouTube clips are data with no list: collecting means picking up URLs, and one HTML page has the rest

The Data API has no clips endpoint. Two ways to get the source video, range and title from one clip URL

This is for anyone who wants to collect YouTube clips (youtube.com/clip/<id>). By the end you'll know where clip URLs can come from, and how to pull the source video ID, start and end, and clip title out of a single URL.

Here's the short version. Getting the details of one clip is easy. A list of clips doesn't exist anywhere.

"Just get them from the API" doesn't work

I assumed YouTube Data API v3 had something like a clips list. After going through the docs, there is no endpoint that deals with clips. The video page has no "clips of this video" list either. I also searched the web for a public clip directory and found none. What came up were personal bookmarking tools and research video datasets that have nothing to do with YouTube's clip feature.

You can't guess clip IDs and enumerate them either. The example clip UgytZKpehg-hEMBSn3F4AaABCQ comes from the video ScPX26pdQik, and the two look unrelated.

So I split the job into two steps.

No list to fetch. Pick up URLs, then read one page each.1. Collect URLsStudio: clips of my videosLibrary: Your clipsSearch engine: site:Shared links: SNS, forumsyoutube.com/clip/UgytZK...2. Fill metadataFrom the clip page HTMLclipConfig.startTimeMs 29000clipConfig.endTimeMs 39700videoId ScPX26pdQikog:title (clip title)yt-dlp -J also gives the range3. Optional: cut transcriptData API v3 has no clips endpoint.Clip IDs do not look derived from video IDs,so you cannot guess them.

Step 1: where to pick up URLs

There's exactly one place where you see all of them: clips other people made from your own channel's videos. According to YouTube Help, creators can see clips made from their videos in YouTube Studio and in the Library in the app. It's limited to your own channel and has no API, so you'd have to scrape the screen. I haven't opened that screen myself yet.

Clips you made yourself are under "Your clips" in the Library. To reach clips on other channels, all you can do is put site:youtube.com/clip "keyword" into a search engine or collect links shared on social media and forums. A search engine only shows the part it has indexed, and social media skews toward popular moments. The reach and downsides of each route are in a table in the details below.

Step 2: getting the details from one URL

The clip page HTML has everything. On 2026-09-29 I fetched one public clip with curl and checked. Inside clipConfig were startTimeMs 29000 and endTimeMs 39700, the source videoId was there, and og:title held the clip title with ✂️ in front.

Running the same clip through yt-dlp --skip-download -J gives section_start 29.0, section_end 39.7 and the channel name. But yt-dlp's title is the source video's title, not the clip's.

So the choice is simple. If you need the clip title, parse the HTML. If you need to download just that range, use yt-dlp. HTML parsing also breaks when YouTube changes the page, while yt-dlp keeps up through updates.

Once you know the range, you can cut just that part out of the source video's transcript. That's handy when you want to search clips by what's being said.

What I don't know yet

I haven't checked how the page responds when a clip is deleted or the source goes private, or whether clip views and the clip's author are in the HTML. If you plan to crawl, read YouTube's Terms of Service and think about request pacing first.

If you're building a tool or pipeline that collects video data and you're stuck on data the API doesn't have, feel free to ask negabaro.

Where to pick up clip URLs

RouteReachGoodNot so good
YouTube Studio / LibraryClips others made from your videosThe only place you see all of themYour channel only, no API
Library: Your clipsClips you madeSimpleOnly yours
Search engine site:youtube.com/clipThe indexed partReaches other channelsPatchy and skewed
Social media, forumsWhatever got sharedPopular moments gatherCrawling cost, check the rules

HTML parsing or yt-dlp

HTML parsingyt-dlp -J
Clip titleIn og:titleNo (title is the source title)
RangeMillisecondsSeconds
Download only the rangeNoYes
When it breaksWhen YouTube changes the HTMLyt-dlp updates keep up

What I actually saw (2026-09-29, macOS)

# inside the clip page HTML
"clipConfig":{"postId":"UgytZKpehg-hEMBSn3F4AaABCQ","startTimeMs":"29000","endTimeMs":"39700"}
"videoId":"ScPX26pdQik"
<meta property="og:title" content="✂️ air">

# yt-dlp
yt-dlp --skip-download -J "https://www.youtube.com/clip/UgytZKpehg-hEMBSn3F4AaABCQ"
# section_start: 29.0 / section_end: 39.7 / channel: Scott The Woz

Step-by-Step

1

Collect clip URLs: Studio for your channel, Library for your own clips, search engines and social media for others

2

From the clip page HTML, extract clipConfig (startTimeMs, endTimeMs), videoId and og:title

3

To download just the range, use section_start and section_end from yt-dlp -J (its title is the source title)

4

If needed, cut that range out of the source transcript

Use Cases

Tools that collect and organize fan-made highlight clips Seeing which moments of your videos get clipped
← In YouTube collection, search.list is the scarce resource: use it to find channels, then switch to 1-unit calls When 59% of the videos on your map block embedding: show why, not a black error frame →