Youtube · Arazzo Workflow

YouTube My Channel Uploads

Version 1.0.0

Resolve the authenticated user's uploads playlist, list its items, then batch-fetch video details.

1 workflow 1 source API 1 provider
View Spec View on GitHub GoogleMediaSocialStreamingVideoVideosArazzoWorkflows

Provider

youtube

Workflows

mine-channel-uploads
List the authenticated user's uploads and inspect the latest video.
Reads the authenticated user's channel to find the uploads playlist, lists the playlist items, and retrieves full video details for the most recent upload.
3 steps inputs: apiKey, maxResults outputs: latestVideoViewCount, uploads, uploadsPlaylistId
1
getMyChannel
youtube.channels.list
Read the authenticated user's channel and capture the uploads playlist id from contentDetails.relatedPlaylists.
2
listUploads
youtube.playlistItems.list
List the items in the uploads playlist and capture the first video id.
3
getVideoDetails
youtube.videos.list
Fetch full details and statistics for the most recent uploaded video.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: YouTube My Channel Uploads
  summary: Resolve the authenticated user's uploads playlist, list its items, then batch-fetch video details.
  description: >-
    Surfaces a creator's own catalog. It reads the authenticated user's channel
    to obtain the uploads playlist id from contentDetails.relatedPlaylists, lists
    the items in that uploads playlist, and then fetches full video details for
    the first uploaded video. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: youtubeDataApi
  url: ../openapi/youtube-data-api-openapi.yml
  type: openapi
workflows:
- workflowId: mine-channel-uploads
  summary: List the authenticated user's uploads and inspect the latest video.
  description: >-
    Reads the authenticated user's channel to find the uploads playlist, lists
    the playlist items, and retrieves full video details for the most recent
    upload.
  inputs:
    type: object
    required:
    - apiKey
    properties:
      apiKey:
        type: string
        description: The Google API key used to authorize each YouTube Data API request.
      maxResults:
        type: integer
        description: Maximum number of uploads to list.
        default: 25
  steps:
  - stepId: getMyChannel
    description: >-
      Read the authenticated user's channel and capture the uploads playlist id
      from contentDetails.relatedPlaylists.
    operationId: youtube.channels.list
    parameters:
    - name: part
      in: query
      value: snippet,contentDetails
    - name: mine
      in: query
      value: true
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      uploadsPlaylistId: $response.body#/items/0/contentDetails/relatedPlaylists/uploads
      channelTitle: $response.body#/items/0/snippet/title
  - stepId: listUploads
    description: List the items in the uploads playlist and capture the first video id.
    operationId: youtube.playlistItems.list
    parameters:
    - name: part
      in: query
      value: snippet,contentDetails
    - name: playlistId
      in: query
      value: $steps.getMyChannel.outputs.uploadsPlaylistId
    - name: maxResults
      in: query
      value: $inputs.maxResults
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      items: $response.body#/items
      firstVideoId: $response.body#/items/0/contentDetails/videoId
  - stepId: getVideoDetails
    description: Fetch full details and statistics for the most recent uploaded video.
    operationId: youtube.videos.list
    parameters:
    - name: part
      in: query
      value: snippet,statistics
    - name: id
      in: query
      value: $steps.listUploads.outputs.firstVideoId
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      viewCount: $response.body#/items/0/statistics/viewCount
  outputs:
    uploadsPlaylistId: $steps.getMyChannel.outputs.uploadsPlaylistId
    uploads: $steps.listUploads.outputs.items
    latestVideoViewCount: $steps.getVideoDetails.outputs.viewCount

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/youtube-mine-channel-uploads-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.