docs / youtube
YouTube
Video details, search, comments and transcripts.
base /youtube/v15 endpoints
post
/youtube/v1/search1 creditsearch videos/channels/playlists
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | optional | — | Search keywords. Provide `query` for a new search, or `continuation` for the next page. |
| type = all | optional | all · video · channel · playlist · movie | Restrict results to one result kind. |
| limit = 20 | optional | 1–200 | How many items to return (1-200). Paged internally; clamped to range. |
| continuation | optional | — | Next-page token from a previous response's `continuation` (provide this instead of the primary id to fetch the next page). |
post
/youtube/v1/video_detail1 creditvideo metadata: title/views/likes/date/channel/description (+ duration/keywords/thumbnails/caption-langs best-effort)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| video_id | required | — | YouTube video id (11 chars) or any watch/youtu.be/shorts/embed URL. |
post
/youtube/v1/comments1 creditvideo comments (text/author/likes/replies), paginated
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| video_id | optional | — | YouTube video id (11 chars) or any watch/youtu.be/shorts/embed URL. |
| limit = 20 | optional | 1–200 | How many items to return (1-200). Paged internally; clamped to range. |
| continuation | optional | — | Next-page token from a previous response's `continuation` (provide this instead of the primary id to fetch the next page). |
post
/youtube/v1/channel1 creditchannel detail: subs/videoCount/description/links
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| channel_id | required | — | Channel id (UC…), an @handle, or a channel URL — any one resolves the channel. |
post
/youtube/v1/transcript1 creditvideo transcript/captions (timed segments + full text) select any language the video has via 'lang'; format=text|segments
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| video_id | required | — | YouTube video id (11 chars) or any watch/youtu.be/shorts/embed URL. |
| lang = en | optional | — | Preferred caption language code (e.g. en, es, de). Falls back to an available track; see available_languages in the response. |
| format = segments | optional | segments · text | Output shape. 'text' omits the per-cue segments[] array. |
Example request · search
curl -X POST https://api.reefapi.com/youtube/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"lofi hip hop","type":"video","limit":20}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}