URL Utilities

Parse, detect, and extract IDs from YouTube URLs

No API key required

All URL utilities work offline. Import them from lyra-sdk/url or use client.url.* on any initialized client.

parseURL(url)

Parse any YouTube URL into a structured result.

import { parseURL } from 'lyra-sdk/url'

const result = parseURL('https://youtu.be/dQw4w9WgXcQ')
// { isValid: true, type: 'video', videoId: 'dQw4w9WgXcQ' }

Response

PropertyTypeDescription
isValidbooleanWhether the URL was recognized as a YouTube URL
typestring"video", "playlist", or "channel"
videoIdstringExtracted video ID (if type is "video")
playlistIdstringExtracted playlist ID (if type is "playlist")
channelIdstringExtracted channel ID (if type is "channel")
errorstringError message if the URL could not be parsed

Type Guards

import { isVideoURL, isPlaylistURL } from 'lyra-sdk/url'

isVideoURL('https://youtube.com/watch?v=dQw4w9WgXcQ')  // true
isPlaylistURL('https://youtube.com/playlist?list=PL...')  // true
isVideoURL('https://example.com')                        // false

ID Extractors

Extract specific IDs from YouTube URLs:

import { extractVideoId, extractPlaylistId, extractChannelId, extractUsername } from 'lyra-sdk/url'

extractVideoId('https://youtu.be/dQw4w9WgXcQ')
// 'dQw4w9WgXcQ'

extractPlaylistId('https://youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf')
// 'PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf'

extractChannelId('https://youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA')
// 'UCX6OQ3DkcsbYNE6H8uQQuVA'

extractUsername('https://youtube.com/@MrBeast')
// 'MrBeast'

Supported URL Formats

FormatExample
Watch URLhttps://youtube.com/watch?v=VIDEO_ID
Short URLhttps://youtu.be/VIDEO_ID
Embed URLhttps://youtube.com/embed/VIDEO_ID
Shorts URLhttps://youtube.com/shorts/VIDEO_ID
Playlist URLhttps://youtube.com/playlist?list=PLAYLIST_ID
Channel URLhttps://youtube.com/channel/CHANNEL_ID
Handle URLhttps://youtube.com/@USERNAME

On this page