{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Channel Scraper: Videos & Channel Stats",
    "description": "YouTube channel scraper: every video of any channel with exact views and likes, comments, publish time and duration, plus the channel's subscribers, total views, video count, joined date, location and links. Sort newest, popular or oldest, filter by date. Shorts and live too. No login.",
    "version": "0.1",
    "x-build-id": "cXKRmfIK7q0uEpK3e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deepmine~youtube-channel-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deepmine-youtube-channel-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/deepmine~youtube-channel-scraper/runs": {
      "post": {
        "operationId": "runs-sync-deepmine-youtube-channel-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/deepmine~youtube-channel-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-deepmine-youtube-channel-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "📺 Channel links",
            "type": "array",
            "description": "Channel links or @handles, e.g. https://www.youtube.com/@MrBeast, @mkbhd or https://www.youtube.com/channel/UC... Each channel gives up to 🎬 Max videos (and the Shorts and live streams below). A link ending in /videos, /shorts or /streams reads that tab only. You can import a CSV or Google Sheet of links.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "🎬 Max videos per channel",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Regular videos per channel (the Videos tab). You pay per video saved. 0 = none. Left out (API): 50, or 0 when you set only Shorts or live streams. All three maximums 0: one row per channel with its info only (subscribers, views, videos, description, links), charged as one video."
          },
          "maxResultsShorts": {
            "title": "📱 Max Shorts per channel",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Shorts per channel (the Shorts tab). 0 = none.",
            "default": 0
          },
          "maxResultStreams": {
            "title": "🔴 Max live streams per channel",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Live streams and past streams per channel (the Live tab). 0 = none.",
            "default": 0
          },
          "sortVideosBy": {
            "title": "🔃 Sort by",
            "enum": [
              "NEWEST",
              "POPULAR",
              "OLDEST"
            ],
            "type": "string",
            "description": "Order of each channel's videos, as the channel's Latest / Popular / Oldest buttons. Empty = newest first."
          },
          "oldestPostDate": {
            "title": "📅 Published after",
            "type": "string",
            "description": "Keep only videos published on or after this date, e.g. 2026-09-01 or 30 days. Videos the date leaves out are not charged. Empty = any date."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: Apify datacenter proxy works for every YouTube call this Actor makes.",
            "default": {
              "useApifyProxy": true
            }
          },
          "sortingOrder": {
            "title": "Search: sort by",
            "type": "string",
            "description": "Order of search results. Empty = YouTube's relevance. Values: relevance, date, views, rating."
          },
          "dateFilter": {
            "title": "Search: upload date",
            "type": "string",
            "description": "Only search results uploaded in this period. Empty = any time. Values: hour, today, week, month, year."
          },
          "lengthFilter": {
            "title": "Search: video length",
            "type": "string",
            "description": "Only search results of this length. Empty = any length. Values: under4, between420, plus20."
          },
          "videoType": {
            "title": "Search: type",
            "type": "string",
            "description": "Search for videos or for movies. Empty = videos. Values: video, movie."
          },
          "searchFeatures": {
            "title": "Search: features",
            "type": "array",
            "description": "Only search results with all of these, e.g. HD and Subtitles/CC. Empty = no feature filter. Values: isLive, is4K, isHD, hasSubtitles, hasCC, is360, isVR180, is3D, isHDR, hasLocation, isBought.",
            "items": {
              "type": "string"
            }
          },
          "sortChannelShortsBy": {
            "title": "sortChannelShortsBy",
            "type": "string",
            "description": "NEWEST, POPULAR or OLDEST: order of the Shorts read for channels (the Shorts tab's Latest / Popular / Oldest). Empty = the sortVideosBy order."
          },
          "transcriptionAndSubtitle": {
            "title": "Subtitles",
            "type": "string",
            "description": "Subtitles aren't part of YouTube Channel Scraper; the videos are saved without them. YouTube Scraper (apify.com/deepmine/youtube-scraper) downloads them.",
            "default": "NONE"
          },
          "subtitlesLanguage": {
            "title": "Subtitle language",
            "type": "string",
            "description": "Subtitles aren't part of YouTube Channel Scraper; the videos are saved without them. YouTube Scraper (apify.com/deepmine/youtube-scraper) downloads them.",
            "default": "en"
          },
          "subtitlesFormat": {
            "title": "Subtitle format",
            "type": "string",
            "description": "Subtitles aren't part of YouTube Channel Scraper; the videos are saved without them. YouTube Scraper (apify.com/deepmine/youtube-scraper) downloads them.",
            "default": "srt"
          },
          "preferAutoGeneratedSubtitles": {
            "title": "Prefer automatic subtitles",
            "type": "boolean",
            "description": "Take YouTube's automatic subtitles before a person-made track.",
            "default": false
          },
          "isHD": {
            "title": "isHD",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding isHD to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "hasSubtitles": {
            "title": "hasSubtitles",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding hasSubtitles to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "hasCC": {
            "title": "hasCC",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding hasCC to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "is3D": {
            "title": "is3D",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding is3D to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "isLive": {
            "title": "isLive",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding isLive to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "isBought": {
            "title": "isBought",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding isBought to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "is4K": {
            "title": "is4K",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding is4K to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "is360": {
            "title": "is360",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding is360 to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "hasLocation": {
            "title": "hasLocation",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding hasLocation to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "isHDR": {
            "title": "isHDR",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding isHDR to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "isVR180": {
            "title": "isVR180",
            "type": "boolean",
            "description": "true = only search results with this feature, the same as adding isVR180 to searchFeatures. Accepted so saved inputs from other YouTube scrapers run."
          },
          "aiVideoDescription": {
            "title": "aiVideoDescription",
            "type": "boolean",
            "description": "Accepted so saved inputs from other YouTube scrapers run: not offered, ignored (AI text columns are not written; subtitles are always in the row)."
          },
          "aiVideoSummary": {
            "title": "aiVideoSummary",
            "type": "boolean",
            "description": "Accepted so saved inputs from other YouTube scrapers run: not offered, ignored (AI text columns are not written; subtitles are always in the row)."
          },
          "saveSubsToKVS": {
            "title": "saveSubsToKVS",
            "type": "boolean",
            "description": "Accepted so saved inputs from other YouTube scrapers run: not offered, ignored (AI text columns are not written; subtitles are always in the row)."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}