Resolve a URL
Turn a YouTube URL (or bare ID) into a video list. Useful for previewing a channel or playlist before submitting it as a bulk job, or for paginating through a large channel one page at a time. Does not fetch transcripts.
/api/v1/resolveQuery parameters
| Name | Type | Description |
|---|---|---|
urlrequired | string | A YouTube URL or bare ID. Accepts video URLs (watch?v=, shorts/, embed/, youtu.be/, live/), channel URLs (@handle, /channel/UC…, /c/name, /user/name), playlist URLs (?list=PL…), or any of these as bare IDs (11-char video ID, UC… channel ID, PL… playlist ID, @handle). |
continuation | string | Opaque token from a previous response. Pass back verbatim to fetch the next page. |
Request
curl -H "Authorization: Bearer yvt_live_..." \
"https://api.youtubevideotranscript.io/api/v1/resolve?url=https://www.youtube.com/@channelname"Response 200 (channel)
{
"type": "channel",
"name": "Channel Display Name",
"video_count": 87,
"videos": [
{
"video_id": "abc12345678",
"title": "Video Title",
"duration_seconds": 142,
"thumbnail": "https://i.ytimg.com/vi/abc12345678/hqdefault.jpg"
}
],
"continuation": "Eg0SC1VDeHl6...etc..."
}Response 200 (playlist)
Same shape, with "type": "playlist".
Response 200 (single video)
If the input is a single video URL or ID, the response is a hint to call the transcript endpoint directly:
{
"type": "video",
"video_id": "abc12345678",
"message": "Single video: call GET /api/v1/transcript/:videoId directly"
}Pagination
The continuation field is opaque and changes shape over time. Treat it as a black box and pass it back verbatim in the next request to fetch the next page. continuation: null means the last page.
# First page
curl -H "Authorization: Bearer yvt_live_..." \
"https://api.youtubevideotranscript.io/api/v1/resolve?url=https://www.youtube.com/@channel"
# Next page: pass the continuation back
curl -H "Authorization: Bearer yvt_live_..." \
"https://api.youtubevideotranscript.io/api/v1/resolve?url=https://www.youtube.com/@channel&continuation=Eg0SC1VDeHl6..."Errors
| Status | Type | When |
|---|---|---|
| 400 | bad_request | url missing, or input couldn't be recognized as a YouTube identifier |
Global 401, 429, and 5xx also apply. See Errors.