4.0 KiB
4.0 KiB
YouTube Routing Reference
App name: youtube
Base URL proxied: www.googleapis.com
API Path Pattern
/youtube/youtube/v3/{resource}
Common Endpoints
Search Videos
GET /youtube/youtube/v3/search?part=snippet&q=coding+tutorial&type=video&maxResults=10
Query parameters:
part- Required:snippetq- Search querytype- Filter:video,channel,playlistmaxResults- Results per page (1-50)order- Sort:date,rating,relevance,title,viewCountvideoDuration-short(<4min),medium(4-20min),long(>20min)
Get Video Details
GET /youtube/youtube/v3/videos?part=snippet,statistics,contentDetails&id={videoId}
Parts available: snippet, statistics, contentDetails, status, player
Get Trending Videos
GET /youtube/youtube/v3/videos?part=snippet,statistics&chart=mostPopular®ionCode=US&maxResults=10
Rate Video
POST /youtube/youtube/v3/videos/rate?id={videoId}&rating=like
Rating values: like, dislike, none
Get My Channel
GET /youtube/youtube/v3/channels?part=snippet,statistics,contentDetails&mine=true
Get Channel Details
GET /youtube/youtube/v3/channels?part=snippet,statistics&id={channelId}
List My Playlists
GET /youtube/youtube/v3/playlists?part=snippet,contentDetails&mine=true&maxResults=25
Create Playlist
POST /youtube/youtube/v3/playlists?part=snippet,status
Content-Type: application/json
{
"snippet": {
"title": "My New Playlist",
"description": "A collection of videos"
},
"status": {
"privacyStatus": "private"
}
}
Privacy values: public, private, unlisted
Delete Playlist
DELETE /youtube/youtube/v3/playlists?id={playlistId}
List Playlist Items
GET /youtube/youtube/v3/playlistItems?part=snippet,contentDetails&playlistId={playlistId}&maxResults=50
Add Video to Playlist
POST /youtube/youtube/v3/playlistItems?part=snippet
Content-Type: application/json
{
"snippet": {
"playlistId": "PLxyz123",
"resourceId": {
"kind": "youtube#video",
"videoId": "abc123xyz"
},
"position": 0
}
}
List My Subscriptions
GET /youtube/youtube/v3/subscriptions?part=snippet&mine=true&maxResults=50
Subscribe to Channel
POST /youtube/youtube/v3/subscriptions?part=snippet
Content-Type: application/json
{
"snippet": {
"resourceId": {
"kind": "youtube#channel",
"channelId": "UCxyz123"
}
}
}
List Video Comments
GET /youtube/youtube/v3/commentThreads?part=snippet,replies&videoId={videoId}&maxResults=100
Add Comment to Video
POST /youtube/youtube/v3/commentThreads?part=snippet
Content-Type: application/json
{
"snippet": {
"videoId": "abc123xyz",
"topLevelComment": {
"snippet": {
"textOriginal": "Great video!"
}
}
}
}
Notes
- Video IDs are 11 characters (e.g.,
dQw4w9WgXcQ) - Channel IDs start with
UC(e.g.,UCxyz123) - Playlist IDs start with
PL(user) orUU(uploads) - Use
pageTokenfor pagination through large result sets - The
partparameter is required and determines what data is returned - Quota costs vary by endpoint - search is expensive (100 units), reads are cheap (1 unit)