{
  "properties": {
    "channelUrls": {
      "description": "Public YouTube channel URLs, @handles, or UC… channel IDs. One row set is produced for each channel.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "prefill": [
        "https://www.youtube.com/@Apify"
      ],
      "title": "Channel URLs",
      "type": "array"
    },
    "includeLinks": {
      "default": true,
      "description": "In channel profile mode, include the external links shown on the public About page, with their titles and favicons.",
      "prefill": true,
      "title": "Include public external links",
      "type": "boolean"
    },
    "includePlaylists": {
      "default": false,
      "description": "In channel profile mode, add a snapshot of the channel's public playlists, shows, courses, and podcasts to the same row. Use the playlists mode for one row per playlist.",
      "prefill": false,
      "title": "Nest playlists in the profile row",
      "type": "boolean"
    },
    "includePostComments": {
      "default": false,
      "description": "Collect public comments on each Community Post, up to the per-post limit. Adds one detail and one or more comment requests per post.",
      "prefill": false,
      "title": "Include post comments",
      "type": "boolean"
    },
    "includePostDetails": {
      "default": true,
      "description": "Open each Community Post's public detail page to fill its exact ISO publish date and exact like count. Adds one request per post.",
      "prefill": false,
      "title": "Fetch exact post dates and likes",
      "type": "boolean"
    },
    "includePosts": {
      "default": false,
      "description": "In channel profile mode, add a snapshot of the channel's public Community Posts to the same row. Use the posts mode for one row per post.",
      "prefill": false,
      "title": "Nest Community Posts in the profile row",
      "type": "boolean"
    },
    "maxPlaylists": {
      "default": 20,
      "description": "Maximum playlist, show, course, or podcast rows to collect per channel. Applies to the playlists mode and to nested profile snapshots.",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 10,
      "title": "Maximum playlists per channel",
      "type": "integer"
    },
    "maxPostComments": {
      "default": 20,
      "description": "Maximum public top-level comments to keep per Community Post when comments are included. Replies are not expanded.",
      "maximum": 1000,
      "minimum": 1,
      "prefill": 10,
      "title": "Maximum comments per post",
      "type": "integer"
    },
    "maxPosts": {
      "default": 20,
      "description": "Maximum Community Posts to collect per channel. Applies to the posts mode and to nested profile snapshots. YouTube exposes at most 200 posts per channel.",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 10,
      "title": "Maximum Community Posts per channel",
      "type": "integer"
    },
    "mode": {
      "default": "profiles",
      "description": "Channel profile returns one row per channel with its About details. Playlists returns one row per public playlist, show, course, or podcast. Posts returns one row per public Community Post.",
      "editor": "select",
      "enum": [
        "profiles",
        "playlists",
        "posts"
      ],
      "enumTitles": [
        "Channel profiles (About page)",
        "Channel playlists, shows & courses",
        "Community posts"
      ],
      "prefill": "profiles",
      "title": "What to collect",
      "type": "string"
    }
  },
  "required": [
    "channelUrls"
  ],
  "schemaVersion": 1,
  "title": "YouTube Channel Profile Scraper Input",
  "type": "object"
}
