Social Fetch
YouTube

List YouTube channel videos

Lists videos for a YouTube channel. Pass `channelId` or `handle` to identify the channel. Optional query `sortBy` controls ordering, `cursor` continues from `data.page.nextCursor`, and `includeExtras=true` may add richer per-video metadata when available. An empty `data.videos` array can still accompany `data.lookupStatus: "found"` when the channel resolves but no videos are returned for the current page.

Operation

GET/v1/youtube/channels/videos

Headers

x-api-keystringrequired(header)

API key (`sfk_...`)

Parameters

channelIdstring(query)

Optional YouTube channel id for the request.

min 1 chars · max 4096 chars

handlestring(query)

Optional YouTube channel handle for the request.

sortBystring(query)

Optional sort order for the returned YouTube videos.

one of: latest, popular

cursorstring(query)

Opaque pagination cursor returned by a previous response.

min 1 chars

includeExtrasboolean(query)

Optional flag to include richer per-video metadata when available.

Response fields

data
objectrequired

Endpoint-specific response payload.

datalookupStatus
stringrequired

Whether the channel was resolved for this request.

one of: found, not_found

datavideos
arrayrequired

YouTube videos returned for the resolved channel. This array may be empty when the channel resolves but there are no videos in the returned page.

datavideos[]id
stringrequired

YouTube video identifier.

min 1 chars

datavideos[]url
stringrequirednullable

Canonical public YouTube URL for the video.

datavideos[]title
stringrequirednullable

Title shown for the YouTube video.

datavideos[]thumbnailUrl
stringrequirednullable

Best available thumbnail image URL for the video.

datavideos[]viewCount
integerrequirednullable

View count for the video when available.

≥ 0

datavideos[]viewCountText
stringrequirednullable

Human-readable view count label when available.

datavideos[]publishedAt
stringrequirednullable

ISO-8601 timestamp for when the video was published, when available.

datavideos[]publishedTimeText
stringrequirednullable

Human-readable relative publish time text when available.

datavideos[]durationSeconds
integerrequirednullable

Duration of the video in seconds when available.

≥ 0

datavideos[]durationText
stringrequirednullable

Human-readable duration label for the video when available.

datavideos[]channelTitle
stringrequirednullable

Channel title shown alongside the video when available.

datavideos[]channelThumbnailUrl
stringrequirednullable

Channel thumbnail image URL shown alongside the video when available.

datavideos[]description
stringnullable

Video description text when available.

datavideos[]commentCount
integernullable

Comment count for the video when available.

≥ 0

datavideos[]commentCountText
stringnullable

Human-readable comment count label when available.

datavideos[]likeCount
integernullable

Like count for the video when available.

≥ 0

datavideos[]likeCountText
stringnullable

Human-readable like count label when available.

datavideos[]publishDate
stringnullable

Publish date text when available.

datavideos[]genre
stringnullable

Video category or genre label when available.

datavideos[]durationMs
integernullable

Duration of the video in milliseconds when available.

≥ 0

datavideos[]durationFormatted
stringnullable

Alternative formatted duration label when available.

datapage
objectrequired

Pagination information for the current response.

datapagenextCursor
stringrequirednullable

Cursor to pass in the next request when another page exists.

datapagehasMore
booleanrequired

Whether another page of videos is available.

meta
objectrequired

Metadata describing the request and billing outcome.

metarequestId
stringrequired

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integerrequired

Credits charged for this request.

≥ 0

metaversion
stringrequired

Public API version that served the response.

one of: v1

Code example

Responses

YouTube videos for the requested channel. Check `data.lookupStatus` for `found` vs `not_found`.

Error codes

bad_requestinsufficient_creditsinternal_errorlookup_failedtemporarily_unavailableunauthorized

On this page