YouTube channel

Paginated channel uploads

Changed on

List a channel's videos (paginated). tab=videos (default) is the uploads feed (~100/page); tab=shorts and tab=streams (live) return those feeds (~48/page).

First request: provide channel (@handle, URL, or UC... ID). Subsequent requests: provide continuation token from previous response (and repeat the same tab and sort).

Sorting — sort=latest|popular|oldest

sort is opt-in, and omitting it is not the same as sort=latest: the two read different YouTube feeds.

tab=videos, no sorttab=videos + any sort
sourceuploads playlistchannel Videos tab
page size~100~30
playlist_infopopulatednull
Shortsmixed inexcluded (use tab=shorts)
members-only videosexcludedincluded, flagged members_only: true

So the two feeds are different sets, not one list in two orders: the uploads playlist interleaves Shorts with long-form uploads, while the Videos tab holds long-form only and adds membership content. Paging a full catalogue with sort set therefore costs ~3.3x the pages (and ~3.3x the credits) of the unsorted feed — omit sort when you just want newest-first. tab=shorts / tab=streams read the same feed either way; sort only reorders them.

?channel=@NASA                                 # uploads feed, newest first, ~100/page
?channel=@NASA&sort=popular                    # Videos tab, most-viewed first, ~30/page
?channel=@NASA&tab=streams&sort=oldest         # oldest live streams first
?continuation=<token>&tab=streams&sort=oldest  # page 2 - repeat tab AND sort

Credit cost: 1 credit per page.

get/api/v2/youtube/channel/videos

Request

  • Base URL
    https://transcriptapi.com
  • Auth
    HTTP bearer

Query parameters

channelstring nullable

Channel identifier: @handle, channel URL, or UC... channel ID

tabstring

Which feed: videos (default, uploads), shorts, or streams (live). Pass the same tab when paginating shorts/streams.

sortstring nullable

Sort order. Omit it to keep the current uploads feed (~100/page, Shorts mixed in, members-only videos excluded). Any explicit value switches tab=videos to YouTube's channel-tab feed (~30/page, long-form only, members-only videos included and flagged with members_only), so omitting sort is not the same as sort=latest. Repeat the same value when paginating.

continuationstring nullable

Continuation token from previous page

Response

Successful Response

continuation_tokenstring nullable
has_moreboolean

Changes

    • warning

      the optional response header X-RateLimit-Limit removed for the status 429

    • warning

      the optional response header X-RateLimit-Remaining removed for the status 429

    • warning

      the optional response header X-RateLimit-Reset removed for the status 429

    • info

      added the new optional query request parameter sort

    • info

      added the optional property // to the response with the status