Skip to main content
POST
/
api
/
v1
/
youtube
/
channel-videos
List channel videos
curl --request POST \
  --url https://app.dumplingai.com/api/v1/youtube/channel-videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "channelId": "UCxcTeAKWJca6XyJ37_ZoKIQ"
}'
{
  "success": true,
  "videos": [
    {
      "id": "<string>",
      "title": "<string>",
      "thumbnail": "<string>",
      "url": "<string>",
      "type": "<string>",
      "publishDateText": "<string>",
      "publishDate": "2023-11-07T05:31:56Z",
      "viewCountText": "<string>",
      "viewCountInt": 123,
      "lengthText": "<string>",
      "channel": {}
    }
  ],
  "shorts": [
    {
      "id": "<string>",
      "title": "<string>",
      "thumbnail": "<string>",
      "url": "<string>",
      "type": "<string>",
      "publishDateText": "<string>",
      "publishDate": "2023-11-07T05:31:56Z",
      "viewCountText": "<string>",
      "viewCountInt": 123,
      "lengthText": "<string>",
      "channel": {}
    }
  ],
  "continuationToken": "<string>"
}

Description

This endpoint retrieves all videos from a YouTube channel with detailed information including views, publish dates, and metadata. Supports pagination for channels with many videos.

Endpoint

POST https://app.dumplingai.com/api/v1/youtube/channel-videos

Headers

  • Content-Type: application/json
  • Authorization: Bearer <API_KEY> (required)

Request Body

{
  "channelId": "string", // Optional. YouTube channel ID (e.g., "UCxcTeAKWJca6XyJ37_ZoKIQ")
  "handle": "string", // Optional. YouTube channel handle (e.g., "@channelname")  
  "sort": "string", // Optional. Sort order: "latest" or "popular". Default: "latest"
  "continuationToken": "string", // Optional. Token for pagination from previous response
  "includeExtras": "string" // Optional. Include like/comment counts and descriptions (slower response)
}
Note: At least one of channelId or handle is required.

Accepted Values for sort

ValueDescription
latestSort by most recently published
popularSort by most popular (views/engagement)

Responses

Success (200)

Returns an array of videos from the specified channel with pagination support.
{
  "videos": [
    {
      "type": "video",
      "id": "5EWaxmWgQMI",
      "url": "https://www.youtube.com/watch?v=5EWaxmWgQMI",
      "title": "Russell Wilson Hopes To Finish Career As A Steeler",
      "description": "Welcome to The Pat McAfee Show LIVE...", // Only if includeExtras is enabled
      "thumbnail": "https://i.ytimg.com/vi/5EWaxmWgQMI/hqdefault.jpg",
      "channel": {
        "title": "The Pat McAfee Show",
        "thumbnail": "https://yt3.googleusercontent.com/..."
      },
      "viewCountText": "110,447 views",
      "viewCountInt": 110447,
      "publishedTimeText": "9 days ago", 
      "publishedTime": "2025-01-23T22:48:53.914Z",
      "lengthText": "37:25",
      "lengthSeconds": 2245,
      "badges": ["4K", "CC"]
    }
  ],
  "continuationToken": "4qmFsgLlFhIYV..." // Present if more videos are available
}
  • Content-Type: application/json
  • X-RateLimit-Limit: The rate limit for the user
  • X-RateLimit-Remaining: The remaining number of requests for the user

Bad Request (400)

Returned if the request is invalid or missing required parameters.
{
  "error": "At least one parameter is required: 'channelId' or 'handle'"
}

Bad Gateway (502)

Returned if the external service is unavailable or returns invalid data.
{
  "error": "Failed to retrieve YouTube channel videos"
}

Internal Server Error (500)

Returned if there’s an unexpected server error.
{
  "error": "An unexpected server error occurred while fetching YouTube channel videos"
}

Example Request

curl -X POST https://app.dumplingai.com/api/v1/youtube/channel-videos \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
  "handle": "@ThePatMcAfeeShow",
  "sort": "latest",
  "includeExtras": "true"
}'

Example Response

{
  "videos": [
    {
      "type": "video", 
      "id": "5EWaxmWgQMI",
      "url": "https://www.youtube.com/watch?v=5EWaxmWgQMI",
      "title": "Russell Wilson Hopes To Finish Career As A Steeler, Reflects On NFL Career With Pat McAfee",
      "description": "Welcome to The Pat McAfee Show LIVE from Noon-3PM EST Mon-Fri...",
      "thumbnail": "https://i.ytimg.com/vi/5EWaxmWgQMI/hqdefault.jpg",
      "channel": {
        "title": "",
        "thumbnail": null
      },
      "viewCountText": "110,447 views",
      "viewCountInt": 110447,
      "publishedTimeText": "9 days ago",
      "publishedTime": "2025-01-23T22:48:53.914Z", 
      "lengthText": "37:25",
      "lengthSeconds": 2245,
      "badges": []
    }
  ],
  "continuationToken": "4qmFsgLlFhIYV..."
}

Notes

  • Either channelId or handle must be provided
  • Channel handles should include the @ symbol (e.g., “@channelname”)
  • The continuationToken from the response can be used to fetch additional videos
  • Setting includeExtras to “true” will include video descriptions and engagement metrics but may slow down the response
  • This endpoint uses 1 credit per request
  • Results are paginated - use the continuationToken to retrieve additional pages

Rate Limiting

Rate limit headers (X-RateLimit-Limit and X-RateLimit-Remaining) are included in the response to indicate the user’s current rate limit status.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
  • Option 1
  • Option 2

Fetch videos from a channel with optional pagination.

channelId
string
required
handle
string
continuationToken
string

Token from a previous response for pagination.

limit
integer
Required range: 1 <= x <= 50
sort
enum<string>

Sort order for the result set.

Available options:
latest,
popular,
newest
includeExtras
boolean

Include engagement counts and descriptions. Slower response.

requestSource
enum<string>

Optional identifier describing where the API request originated.

Available options:
API,
WEB,
MAKE_DOT_COM,
ZAPIER,
N8N,
PLAYGROUND,
DEFAULT_AUTOMATION,
AGENT_PREVIEW,
AGENT_LIVE,
AUTOPILOT,
STUDIO

Response

A page of channel videos.

success
boolean

Present on some responses from the upstream provider.

videos
object[]

Present when returning long-form uploads.

shorts
object[]

Present when returning Shorts.

continuationToken
string | null