Back to blog
Guide · Jul 11, 2026 · 10 min read · Updated Aug 21, 2026

What Is URL on YouTube? Guide to Formats and IDs

What is URL on YouTube? Learn every YouTube link format, how to extract video and playlist IDs, and how to fetch transcripts reliably.

Chandler Caseyby Chandler Casey

What is a URL on YouTube?

If you searched what is URL on YouTube, the short answer is simple:

A YouTube URL is the web address that points to a specific YouTube resource, such as a video, Short, playlist, channel, or embed.

For example, https://www.youtube.com/watch?v=dQw4w9WgXcQ is a YouTube URL for a single video. That address contains a video identifier, optional tracking or playback parameters, and enough structure for a browser or API client to know what content to load.

For developers, this matters because users rarely send you a clean, uniform YouTube link format. They paste watch URLs, youtu.be short links, Shorts URLs, playlist links, mobile links, and sometimes malformed fragments copied from chat apps. If your app needs transcripts, metadata, or downstream AI processing, you need to normalize those inputs before calling an API.

This guide explains what a YouTube URL is, how each format works, how to safely extract IDs, and how to send any supported YouTube URL into TranscriptFetch using the YouTube Transcript API, the docs, and the API reference.

What is URL on YouTube and how does it work?

A YouTube URL has the same basic structure as any other web URL: a domain, a path, and sometimes query parameters. If you want the formal web standard behind that structure, see RFC 3986 and the MDN URL API documentation.

In practice, a YouTube link usually tells you two things:

  • what kind of resource it is, such as a video, playlist, or channel
  • which identifier matters, such as a video ID in v= or a playlist ID in list=

That is why the exact format matters for transcript retrieval. A transcript belongs to a specific video, not to a playlist or a channel page. A playlist URL can help you discover videos to process, but each transcript request still happens at the video level.

How to find a YouTube video URL on desktop and mobile

If your question is simply how to find YouTube video URL, here is the plain-English version.

On desktop

  • Open the video in your browser.
  • Copy the address from the address bar, or click Share and copy the link YouTube gives you.

On mobile

  • Open the video in the YouTube app.
  • Tap Share.
  • Tap Copy link.

YouTube’s sharing behavior and user-facing link formats come from YouTube’s own product surfaces, and related help documentation lives under the YouTube Help Center.

Why understanding YouTube URL format matters

A YouTube link is not just a string. It usually carries one or more identifiers:

  • A video ID, often in v= or in the path
  • A playlist ID, often in list=
  • A channel identifier, sometimes in /channel/, /@handle, or /c/
  • Optional playback state, such as start time
  • Optional attribution or share parameters

If you parse the wrong part, you can:

  • request the wrong transcript
  • fail on Shorts or embed URLs
  • lose playlist context
  • treat a channel URL like a video URL
  • accept invalid domains that only look like YouTube

YouTube documents its platform resources in the official YouTube Data API, including videos, channels, playlists, and playlistItems.

Anatomy of a YouTube URL

A YouTube URL typically has three parts:

  1. Domain: where the resource lives
  2. Path: what kind of resource it is
  3. Query parameters: extra identifiers or playback instructions
text
https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=43s&list=PL1234567890ABCDEF
|------ domain -------| |path| |-------------- query parameters ---------------|

Breakdown:

  • Domain: www.youtube.com
  • Path: /watch
  • Query parameters:
    • v=dQw4w9WgXcQ identifies the video
    • t=43s starts playback at 43 seconds
    • list=PL1234567890ABCDEF indicates playlist context

For transcript APIs, the most important field is usually the video ID. Playlist and channel identifiers matter when you are processing many videos, but they are not themselves transcript resources.

Common YouTube URL formats

These are the YouTube link patterns developers see most often in production.

TypePatternExampleMain identifier
Watch videohttps://www.youtube.com/watch?v=VIDEO_IDhttps://www.youtube.com/watch?v=dQw4w9WgXcQVIDEO_ID from v
Short linkhttps://youtu.be/VIDEO_IDhttps://youtu.be/dQw4w9WgXcQVIDEO_ID from path
Shortshttps://www.youtube.com/shorts/VIDEO_IDhttps://www.youtube.com/shorts/dQw4w9WgXcQVIDEO_ID from path
Embedhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/embed/dQw4w9WgXcQVIDEO_ID from path
Playlisthttps://www.youtube.com/playlist?list=PLAYLIST_IDhttps://www.youtube.com/playlist?list=PL1234567890ABCDEFPLAYLIST_ID from list
Watch within playlisthttps://www.youtube.com/watch?v=VIDEO_ID&list=PLAYLIST_IDhttps://www.youtube.com/watch?v=dQw4w9WgXcQ&list=PL1234567890ABCDEFVIDEO_ID, PLAYLIST_ID
Channel by IDhttps://www.youtube.com/channel/CHANNEL_IDhttps://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9TtwCHANNEL_ID from path
Channel handlehttps://www.youtube.com/@handlehttps://www.youtube.com/@YouTubeCreatorshandle from path
Custom channel URLhttps://www.youtube.com/c/Namehttps://www.youtube.com/c/YouTubeCreatorscustom name
User channel URLhttps://www.youtube.com/user/Namehttps://www.youtube.com/user/YouTubeusername
Mobile watchhttps://m.youtube.com/watch?v=VIDEO_IDhttps://m.youtube.com/watch?v=dQw4w9WgXcQVIDEO_ID from v
Music watchhttps://music.youtube.com/watch?v=VIDEO_IDhttps://music.youtube.com/watch?v=dQw4w9WgXcQVIDEO_ID from v

A common beginner question is what is a YouTube URL versus a youtu.be link. The answer is that both are YouTube URLs. The youtu.be version is simply YouTube’s shortened share format.

How to extract video, playlist, and channel IDs

Video ID

A YouTube video ID is the unique string that identifies one video. For standard YouTube videos, 11-character video IDs are the established norm in practice.

Common places to find it:

  • watch?v=dQw4w9WgXcQ → read v
  • youtu.be/dQw4w9WgXcQ → read the first path segment
  • /shorts/dQw4w9WgXcQ → read the segment after /shorts/
  • /embed/dQw4w9WgXcQ → read the segment after /embed/

Playlist ID

Look for the list query parameter:

text
https://www.youtube.com/playlist?list=PL1234567890ABCDEF

Here, the playlist ID is PL1234567890ABCDEF.

You may also see playlist context attached to a normal watch URL:

text
https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=PL1234567890ABCDEF

That URL contains both a video ID and a playlist ID.

Channel identifier

There are several channel URL formats:

  • /channel/UC... → direct channel ID
  • /@handle → handle
  • /c/name → custom channel path
  • /user/name → legacy username path

If you need stable machine processing, channel IDs are best. Handles are also useful. Custom and legacy paths may require resolution before you can work with them consistently. YouTube’s official product and API materials are the right references here, especially the channels resource.

Which parameters matter for transcript retrieval

These are the parameters developers should recognize immediately.

v

The primary video identifier on watch URLs.

text
/watch?v=dQw4w9WgXcQ

list

The playlist identifier.

text
/watch?v=dQw4w9WgXcQ&list=PL1234567890ABCDEF

A playlist itself does not have a transcript. It is a collection of videos. If you ingest a playlist, you still need to iterate its videos and fetch transcripts one by one.

t

Playback start time, often from shared links.

Examples:

  • t=43s
  • t=90

This usually does not change the transcript resource. It only affects playback position.

start

Another start-time parameter, common in embeds.

text
/embed/dQw4w9WgXcQ?start=60

si

A newer share-related parameter commonly appended by YouTube.

text
https://youtu.be/dQw4w9WgXcQ?si=abcd1234

In most transcript workflows, si can be ignored.

feature

A context or source indicator, such as share source or app surface.

text
/watch?v=dQw4w9WgXcQ&feature=youtu.be

This is usually non-essential for content retrieval.

How to validate and normalize YouTube URLs

A good normalizer does four things:

  1. validates the hostname
  2. identifies the resource type from path and query
  3. extracts the correct identifier
  4. strips irrelevant parameters

This is where messy real-world inputs stop being harmless. A transcript workflow that accepts any pasted string without validation will eventually fail on malformed links, fake domains, or channel URLs that were never video URLs to begin with.

JavaScript function to normalize YouTube URLs and extract IDs

javascript
function normalizeYouTubeUrl(input) {
  let url;
  try {
    url = new URL(input);
  } catch {
    return { valid: false, error: 'Invalid URL' };
  }

  const host = url.hostname.replace(/^www\./, '').toLowerCase();
  const allowedHosts = new Set([
    'youtube.com',
    'm.youtube.com',
    'music.youtube.com',
    'youtu.be'
  ]);

  if (!allowedHosts.has(host)) {
    return { valid: false, error: 'Unsupported hostname' };
  }

  const path = url.pathname;
  const params = url.searchParams;

  let type = null;
  let videoId = null;
  let playlistId = null;
  let channelId = null;
  let handle = null;

  if (host === 'youtu.be') {
    type = 'video';
    videoId = path.split('/').filter(Boolean)[0] || null;
  } else if (path === '/watch') {
    videoId = params.get('v');
    playlistId = params.get('list');
    type = videoId ? 'video' : playlistId ? 'playlist' : null;
  } else if (path.startsWith('/shorts/')) {
    type = 'video';
    videoId = path.split('/')[2] || null;
  } else if (path.startsWith('/embed/')) {
    type = 'video';
    videoId = path.split('/')[2] || null;
  } else if (path === '/playlist') {
    type = 'playlist';
    playlistId = params.get('list');
  } else if (path.startsWith('/channel/')) {
    type = 'channel';
    channelId = path.split('/')[2] || null;
  } else if (path.startsWith('/@')) {
    type = 'channel';
    handle = path.slice(2);
  } else if (path.startsWith('/c/') || path.startsWith('/user/')) {
    type = 'channel';
  }

  if (!type) {
    return { valid: false, error: 'Unsupported YouTube URL format' };
  }

  const normalized = new URL('https://www.youtube.com/');

  if (type === 'video' && videoId) {
    normalized.pathname = '/watch';
    normalized.searchParams.set('v', videoId);
  }

  if (type === 'playlist' && playlistId) {
    normalized.pathname = '/playlist';
    normalized.searchParams.set('list', playlistId);
  }

  if (type === 'video' && playlistId) {
    normalized.searchParams.set('list', playlistId);
  }

  if (type === 'channel' && channelId) {
    normalized.pathname = `/channel/${channelId}`;
  }

  if (type === 'channel' && handle) {
    normalized.pathname = `/@${handle}`;
  }

  return {
    valid: true,
    type,
    videoId,
    playlistId,
    channelId,
    handle,
    normalizedUrl: normalized.toString()
  };
}

This approach uses the platform URL parser rather than hand-written string slicing. For web apps, that is usually the safest default, and it lines up with the standard URL API in MDN.

Valid and invalid YouTube URLs

Valid YouTube URLs

These are generally safe to accept after normalization:

  • https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • https://youtu.be/dQw4w9WgXcQ
  • https://m.youtube.com/watch?v=dQw4w9WgXcQ
  • https://music.youtube.com/watch?v=dQw4w9WgXcQ
  • https://www.youtube.com/shorts/dQw4w9WgXcQ
  • https://www.youtube.com/embed/dQw4w9WgXcQ
  • https://www.youtube.com/playlist?list=PL1234567890ABCDEF

Invalid or unsafe inputs

Reject or flag these:

  • non-YouTube domains pretending to be YouTube
  • youtube.com/watch with no v
  • youtu.be/ with no path ID
  • random text pasted instead of a URL
  • URLs with broken encoding or truncated query strings
  • copied links where the ID includes trailing punctuation, such as ) or .

Support and non-support checklist

CaseUsually processable?Notes
Public videoYesBest case for transcript retrieval
Public ShortYesNormalize to the underlying video ID
Public playlistYesUse the playlist to discover videos, then fetch each video transcript separately
Public channel URLYesChannel resolution may be needed before video-level work
Live streamSometimesCaption or transcript availability depends on whether captions are generated or published, and whether the video is still live or archived
Private videoNoAccess restricted
Deleted videoNoResource unavailable
Region-blocked videoSometimesAvailability depends on whether the video and its captions are accessible from the retrieval path
Malformed URLNoNormalize or reject before API call

If you are building around captions or subtitles, YouTube’s own help materials on captions and subtitle features are the right baseline for understanding creator-side availability.

How to fetch a transcript from any YouTube URL

For TranscriptFetch users, the practical workflow is:

  1. accept the raw YouTube URL
  2. normalize it
  3. extract the video ID
  4. call the transcript endpoint for that video

Shorts, watch URLs, embeds, and youtu.be links all resolve to the same core concept for transcript retrieval: a video ID.

Example workflow

javascript
const parsed = normalizeYouTubeUrl('https://youtu.be/dQw4w9WgXcQ?si=abcd1234');

if (!parsed.valid) {
  throw new Error(parsed.error);
}

if (parsed.type !== 'video' || !parsed.videoId) {
  throw new Error('Expected a YouTube video URL');
}

console.log(parsed.videoId); // dQw4w9WgXcQ
console.log(parsed.normalizedUrl); // https://www.youtube.com/watch?v=dQw4w9WgXcQ

Then fetch the transcript.

from transcriptfetch import TranscriptFetch

client = TranscriptFetch(api_key="YOUR_API_KEY")

transcript = client.youtube.transcripts.get(
    video_id="dQw4w9WgXcQ"
)

print(transcript)

If your workflow starts from a playlist or a channel, the process is one level earlier:

  • for a playlist URL, resolve the playlist, enumerate videos, then fetch each transcript
  • for a channel URL, resolve the channel, enumerate videos, then fetch each transcript
  • for a video URL, go straight to transcript retrieval

That is also why URL normalization is worth doing up front. It lets one ingestion path handle watch links, Shorts, short links, embeds, and mobile variants consistently.

FAQ

What is a YouTube URL?

A YouTube URL is the web address for a YouTube resource, such as a video, playlist, channel, Short, or embed.

How do I find a YouTube video URL?

On desktop, copy it from the browser address bar or use Share. On mobile, tap Share and then Copy link.

What is the YouTube video ID from a URL?

It is the unique identifier for a single video. In a watch URL it is usually the value of v. In a youtu.be or Shorts URL it appears in the path.

What does a youtu.be link mean?

It is YouTube’s shortened URL format for a video share link. It still points to the same underlying video ID as a standard watch URL.

Can I get a transcript from any YouTube URL?

You can usually get a transcript only when the URL ultimately resolves to a specific video that has transcript or caption availability. Playlist and channel URLs are starting points for discovery, not transcript resources themselves.