{
  "data": {
    "id": "HY5JkbjyCn2pfM7Xf",
    "actId": "pYQ5f68fSR1uvbb6D",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-11-07T08:57:23.121Z",
    "finishedAt": "2026-11-07T08:57:51.217Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 28031,
      "runTimeSecs": 28.031,
      "computeUnits": 0.031145555555555555,
      "imageSizeBytes": 3112318976
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"YouTube Channel Profile Scraper Input\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"required\": [\n    \"channelUrls\"\n  ],\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"What to collect\",\n      \"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.\",\n      \"type\": \"string\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"profiles\",\n        \"playlists\",\n        \"posts\"\n      ],\n      \"enumTitles\": [\n        \"Channel profiles (About page)\",\n        \"Channel playlists, shows & courses\",\n        \"Community posts\"\n      ],\n      \"default\": \"profiles\",\n      \"prefill\": \"profiles\"\n    },\n    \"channelUrls\": {\n      \"title\": \"Channel URLs\",\n      \"description\": \"Public YouTube channel URLs, @handles, or UC… channel IDs. One row set is produced for each channel.\",\n      \"type\": \"array\",\n      \"editor\": \"stringList\",\n      \"minItems\": 1,\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"prefill\": [\n        \"https://www.youtube.com/@Apify\"\n      ]\n    },\n    \"includeLinks\": {\n      \"title\": \"Include public external links\",\n      \"description\": \"In channel profile mode, include the external links shown on the public About page, with their titles and favicons.\",\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"prefill\": true\n    },\n    \"includePlaylists\": {\n      \"title\": \"Nest playlists in the profile row\",\n      \"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.\",\n      \"type\": \"boolean\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxPlaylists\": {\n      \"title\": \"Maximum playlists per channel\",\n      \"description\": \"Maximum playlist, show, course, or podcast rows to collect per channel. Applies to the playlists mode and to nested profile snapshots.\",\n      \"type\": \"integer\",\n      \"default\": 20,\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"prefill\": 10\n    },\n    \"includePosts\": {\n      \"title\": \"Nest Community Posts in the profile row\",\n      \"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.\",\n      \"type\": \"boolean\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxPosts\": {\n      \"title\": \"Maximum Community Posts per channel\",\n      \"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.\",\n      \"type\": \"integer\",\n      \"default\": 20,\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"prefill\": 10\n    },\n    \"includePostDetails\": {\n      \"title\": \"Fetch exact post dates and likes\",\n      \"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.\",\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includePostComments\": {\n      \"title\": \"Include post comments\",\n      \"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.\",\n      \"type\": \"boolean\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxPostComments\": {\n      \"title\": \"Maximum comments per post\",\n      \"description\": \"Maximum public top-level comments to keep per Community Post when comments are included. Replies are not expanded.\",\n      \"type\": \"integer\",\n      \"default\": 20,\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"prefill\": 10\n    }\n  }\n}",
    "readme": "# YouTube Channel About, Playlists & Posts Finder\n\nA YouTube channel page hides its most useful facts behind three different tabs. This actor reads the public About panel, the Playlists tab (including shows, courses, and podcasts), and the Community Posts tab in one cookieless run — then returns clean rows you can filter, compare, or export.\n\n## What this actor does\n\n- Resolves a channel from an `@handle`, a full channel URL, or a raw `UC…` channel ID.\n- Collects the public About details: description, subscriber and video counts, total views, country, join date, external links, avatar, banner, verification badge, family-safe flag, RSS URL, and owner keywords.\n- Lists every public playlist, show, course, and podcast on a channel with its item count, thumbnail, first video, and last-updated text.\n- Lists public Community Posts with text, images, videos, polls, quizzes, shared playlists, and reposts — plus optional exact publish dates, exact likes, and public comments.\n- Follows YouTube's continuation pages until the requested limit or the real end of the tab.\n- Emits an explanatory status row when a channel has no such tab or no public rows, instead of returning silence.\n\n## Modes\n\n| Mode | One row per… | Best for |\n|---|---|---|\n| `profiles` | Channel | A profile table with optional nested playlist and post snapshots |\n| `playlists` | Playlist / show / course / podcast | Building a catalog of a channel's collections |\n| `posts` | Community Post | Content research, engagement tracking, and giveaway or poll analysis |\n\nAll rows include `recordType`, `channelId`, `channelName`, `channelHandle`, `channelUrl`, and `scrapedAt`, so rows from different modes can be combined in one dataset.\n\n## Channel profile fields\n\n| Field | Description |\n|---|---|\n| `channelId` | Channel's `UC…` ID |\n| `channelName` | Display name |\n| `handle` | Public `@handle` |\n| `channelUrl` | Canonical channel URL |\n| `description` | Full About-panel description |\n| `subscriberCountText`, `subscriberCount` | Subscriber label as shown, and an exact integer only when YouTube shows an exact number |\n| `videoCountText`, `videoCount` | Video count as shown, and exact integer when available |\n| `totalViewsText`, `totalViews` | Total channel views |\n| `country`, `countryCode` | Country name from About and its ISO 3166-1 alpha-2 code |\n| `joinedDateText`, `joinedDate` | Join date as shown and as `YYYY-MM-DD` |\n| `avatarUrl`, `bannerUrl` | Channel avatar and banner images |\n| `isVerified`, `isFamilySafe` | Public badges and family-safe flag |\n| `keywords` | Owner-set channel keywords, when present |\n| `rssUrl` | Channel RSS URL (metadata only; the feed is not used as a data path) |\n| `links` | External links from About, each with `title`, `url`, and `faviconUrl` |\n| `playlists` | Nested playlist snapshot when `includePlaylists` is on |\n| `communityPosts` | Nested post snapshot when `includePosts` is on |\n| `surfaceStatus` | Explains an empty optional surface (`no_playlists_tab`, `no_posts_tab`, `no_public_playlists`, `no_public_posts`, `unavailable`) |\n\n## Playlist row fields\n\n`playlistId`, `playlistUrl`, `playlistType` (`playlist`, `show`, `course`, `podcast`), `title`, `videoCountText`, `videoCount`, `thumbnailUrl`, `thumbnailSources`, `firstVideoId`, `firstVideoUrl`, `watchUrl`, `lastUpdatedText`, `contentType`, `metadataRowsRaw`, plus channel context and `scrapedAt`.\n\nCounts cover videos, episodes, and items (for example `28 episodes`), so podcast shows and courses are not dropped.\n\n## Community Post row fields\n\n`postId`, `postUrl`, `postType` (`text`, `image`, `video`, `poll`, `quiz`, `playlist`, `repost`), `authorName`, `authorChannelId`, `contentText`, `publishedTimeText`, `publishedAt` (exact ISO date), `voteCountText`, `likeCount` (exact), `commentCountText`, `commentCount`, `commentsDisabled`, `images`, `imageDetails`, `videoAttachments`, `poll`, `quiz`, `playlist`, `sharedPost`, `comments`, plus channel context and `scrapedAt`.\n\n- Image rows keep one URL per image (the largest resolution), not every thumbnail size.\n- Poll rows include choice text, optional choice images, and the total vote count.\n- Quiz rows include the choices, correct answers, and explanations when YouTube exposes them.\n- Repost rows keep the original post inside `sharedPost`.\n- `comments` contains public top-level comments when comments are enabled.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | Select | `profiles` | Channel profiles, channel playlists, or Community Posts |\n| `channelUrls` | Array | – | Required. Channel URLs, `@handles`, or `UC…` IDs |\n| `includeLinks` | Boolean | `true` | Include About-page external links in profile mode |\n| `includePlaylists` | Boolean | `false` | Nest a playlist snapshot in each profile row |\n| `maxPlaylists` | Integer | `20` | Maximum playlists per channel (1–10000) |\n| `includePosts` | Boolean | `false` | Nest a Community Post snapshot in each profile row |\n| `maxPosts` | Integer | `20` | Maximum posts per channel (YouTube exposes at most 200) |\n| `includePostDetails` | Boolean | `true` | Fetch exact post date and like count (one request per post) |\n| `includePostComments` | Boolean | `false` | Collect public comments on each post |\n| `maxPostComments` | Integer | `20` | Maximum top-level comments per post (1–1000) |\n\n### Example: profile only\n\n```json\n{\n  \"mode\": \"profiles\",\n  \"channelUrls\": [\"@MrBeast\"],\n  \"includeLinks\": true\n}\n```\n\n### Example: profile with nested playlists and posts\n\n```json\n{\n  \"mode\": \"profiles\",\n  \"channelUrls\": [\"@MrBeast\"],\n  \"includePlaylists\": true,\n  \"maxPlaylists\": 10,\n  \"includePosts\": true,\n  \"maxPosts\": 5,\n  \"includePostDetails\": true\n}\n```\n\n### Example: every public playlist on two channels\n\n```json\n{\n  \"mode\": \"playlists\",\n  \"channelUrls\": [\"@Fireship\", \"@Kurzgesagt\"],\n  \"maxPlaylists\": 100\n}\n```\n\n### Example: posts with exact engagement and comments\n\n```json\n{\n  \"mode\": \"posts\",\n  \"channelUrls\": [\"@MrBeast\"],\n  \"maxPosts\": 10,\n  \"includePostDetails\": true,\n  \"includePostComments\": true,\n  \"maxPostComments\": 20\n}\n```\n\n## Output views\n\nThe dataset ships three table views: **Channel profiles**, **Playlists & collections**, and **Community posts**. Each view shows only the fields relevant to that row type; records from different modes can share one dataset.\n\n## Use cases\n\n- **Creator discovery and partnerships** — shortlist channels by audience size, country, and public contact links.\n- **Market research** — compare subscriber, video, and total-view figures across competitors in one table.\n- **Content teams** — audit which channels still post Community updates, run polls, or publish quizzes.\n- **Catalog building** — pull every playlist, show, course, and podcast a channel publishes.\n- **Campaign tracking** — re-run the same channels and compare exact post likes and publish dates over time.\n\n## FAQ\n\n**Which channel identifiers can I use?**\nAn `@handle`, a full channel URL (including `/about`, `/playlists`, or `/posts`), or a raw `UC…` channel ID. Duplicate inputs are collapsed.\n\n**Why are some fields missing for a channel?**\nA field appears only when YouTube publishes it. A channel with a hidden subscriber count, no listed country, or no banner simply omits those fields instead of guessing.\n\n**Why does a channel return no playlists or posts?**\nSome channels have no Playlists or Posts tab. The actor emits a status row that says `no_playlists_tab` or `no_posts_tab`, so an empty result is explained.\n\n**Why do some counts show only text?**\nYouTube rounds large subscriber counts (`525M`). The actor keeps the displayed text and only fills the numeric field when the displayed value is exact. Compact values are never expanded into a fake precise number.\n\n**How many posts can I get?**\nYouTube's public Posts tab stops at 200 posts per channel. Older posts are only reachable through their own URLs, so `maxPosts` is capped there and the run message says so when a larger limit was requested.\n\n**Do I need cookies or a login?**\nNo. Every surface is public. The actor uses YouTube's public pages and its automatic proxy fallback when a datacenter request is degraded.\n\n**Are comments and replies included?**\n`includePostComments` collects public top-level comments. Replies are not expanded in this actor; use a dedicated comment scraper when you need full reply trees.\n\n**Is this affiliated with YouTube?**\nNo. This actor independently reads public YouTube pages and is not affiliated with or endorsed by YouTube or Google.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "youtube-channel-about-playlists-and-posts-finder",
      "title": "YouTube Channel About, Playlists & Posts Finder",
      "description": "Look up a YouTube channel's About page details — subscribers, views, country, join date, links — then collect its public playlists, shows, courses and Community Posts in the same run. No cookies or login required.",
      "version": "1.0",
      "buildTag": "latest",
      "defaultMemoryMbytes": 1024,
      "minMemoryMbytes": 1024,
      "dockerfile": "../Dockerfile",
      "input": {
        "title": "YouTube Channel Profile Scraper Input",
        "type": "object",
        "schemaVersion": 1,
        "required": [
          "channelUrls"
        ],
        "properties": {
          "mode": {
            "title": "What to collect",
            "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.",
            "type": "string",
            "editor": "select",
            "enum": [
              "profiles",
              "playlists",
              "posts"
            ],
            "enumTitles": [
              "Channel profiles (About page)",
              "Channel playlists, shows & courses",
              "Community posts"
            ],
            "default": "profiles",
            "prefill": "profiles"
          },
          "channelUrls": {
            "title": "Channel URLs",
            "description": "Public YouTube channel URLs, @handles, or UC… channel IDs. One row set is produced for each channel.",
            "type": "array",
            "editor": "stringList",
            "minItems": 1,
            "items": {
              "type": "string"
            },
            "prefill": [
              "https://www.youtube.com/@Apify"
            ]
          },
          "includeLinks": {
            "title": "Include public external links",
            "description": "In channel profile mode, include the external links shown on the public About page, with their titles and favicons.",
            "type": "boolean",
            "default": true,
            "prefill": true
          },
          "includePlaylists": {
            "title": "Nest playlists in the profile row",
            "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.",
            "type": "boolean",
            "default": false,
            "prefill": false
          },
          "maxPlaylists": {
            "title": "Maximum playlists per channel",
            "description": "Maximum playlist, show, course, or podcast rows to collect per channel. Applies to the playlists mode and to nested profile snapshots.",
            "type": "integer",
            "default": 20,
            "minimum": 1,
            "maximum": 10000,
            "prefill": 10
          },
          "includePosts": {
            "title": "Nest Community Posts in the profile row",
            "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.",
            "type": "boolean",
            "default": false,
            "prefill": false
          },
          "maxPosts": {
            "title": "Maximum Community Posts per channel",
            "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.",
            "type": "integer",
            "default": 20,
            "minimum": 1,
            "maximum": 10000,
            "prefill": 10
          },
          "includePostDetails": {
            "title": "Fetch exact post dates and likes",
            "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.",
            "type": "boolean",
            "default": true,
            "prefill": false
          },
          "includePostComments": {
            "title": "Include post comments",
            "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.",
            "type": "boolean",
            "default": false,
            "prefill": false
          },
          "maxPostComments": {
            "title": "Maximum comments per post",
            "description": "Maximum public top-level comments to keep per Community Post when comments are included. Replies are not expanded.",
            "type": "integer",
            "default": 20,
            "minimum": 1,
            "maximum": 1000,
            "prefill": 10
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "YouTube Channel About, Playlists & Posts Finder Output",
        "description": "Channel profile rows with About details, external links, and optional nested surfaces, plus one-row-per-playlist and one-row-per-Community-Post modes.",
        "properties": {
          "profiles": {
            "type": "string",
            "title": "YouTube channel profiles, playlists and posts",
            "description": "Dataset containing channel profile rows, playlist/show/course rows, Community Post rows, and explanatory status rows.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "readme": "# YouTube Channel About, Playlists & Posts Finder\n\nA YouTube channel page hides its most useful facts behind three different tabs. This actor reads the public About panel, the Playlists tab (including shows, courses, and podcasts), and the Community Posts tab in one cookieless run — then returns clean rows you can filter, compare, or export.\n\n## What this actor does\n\n- Resolves a channel from an `@handle`, a full channel URL, or a raw `UC…` channel ID.\n- Collects the public About details: description, subscriber and video counts, total views, country, join date, external links, avatar, banner, verification badge, family-safe flag, RSS URL, and owner keywords.\n- Lists every public playlist, show, course, and podcast on a channel with its item count, thumbnail, first video, and last-updated text.\n- Lists public Community Posts with text, images, videos, polls, quizzes, shared playlists, and reposts — plus optional exact publish dates, exact likes, and public comments.\n- Follows YouTube's continuation pages until the requested limit or the real end of the tab.\n- Emits an explanatory status row when a channel has no such tab or no public rows, instead of returning silence.\n\n## Modes\n\n| Mode | One row per… | Best for |\n|---|---|---|\n| `profiles` | Channel | A profile table with optional nested playlist and post snapshots |\n| `playlists` | Playlist / show / course / podcast | Building a catalog of a channel's collections |\n| `posts` | Community Post | Content research, engagement tracking, and giveaway or poll analysis |\n\nAll rows include `recordType`, `channelId`, `channelName`, `channelHandle`, `channelUrl`, and `scrapedAt`, so rows from different modes can be combined in one dataset.\n\n## Channel profile fields\n\n| Field | Description |\n|---|---|\n| `channelId` | Channel's `UC…` ID |\n| `channelName` | Display name |\n| `handle` | Public `@handle` |\n| `channelUrl` | Canonical channel URL |\n| `description` | Full About-panel description |\n| `subscriberCountText`, `subscriberCount` | Subscriber label as shown, and an exact integer only when YouTube shows an exact number |\n| `videoCountText`, `videoCount` | Video count as shown, and exact integer when available |\n| `totalViewsText`, `totalViews` | Total channel views |\n| `country`, `countryCode` | Country name from About and its ISO 3166-1 alpha-2 code |\n| `joinedDateText`, `joinedDate` | Join date as shown and as `YYYY-MM-DD` |\n| `avatarUrl`, `bannerUrl` | Channel avatar and banner images |\n| `isVerified`, `isFamilySafe` | Public badges and family-safe flag |\n| `keywords` | Owner-set channel keywords, when present |\n| `rssUrl` | Channel RSS URL (metadata only; the feed is not used as a data path) |\n| `links` | External links from About, each with `title`, `url`, and `faviconUrl` |\n| `playlists` | Nested playlist snapshot when `includePlaylists` is on |\n| `communityPosts` | Nested post snapshot when `includePosts` is on |\n| `surfaceStatus` | Explains an empty optional surface (`no_playlists_tab`, `no_posts_tab`, `no_public_playlists`, `no_public_posts`, `unavailable`) |\n\n## Playlist row fields\n\n`playlistId`, `playlistUrl`, `playlistType` (`playlist`, `show`, `course`, `podcast`), `title`, `videoCountText`, `videoCount`, `thumbnailUrl`, `thumbnailSources`, `firstVideoId`, `firstVideoUrl`, `watchUrl`, `lastUpdatedText`, `contentType`, `metadataRowsRaw`, plus channel context and `scrapedAt`.\n\nCounts cover videos, episodes, and items (for example `28 episodes`), so podcast shows and courses are not dropped.\n\n## Community Post row fields\n\n`postId`, `postUrl`, `postType` (`text`, `image`, `video`, `poll`, `quiz`, `playlist`, `repost`), `authorName`, `authorChannelId`, `contentText`, `publishedTimeText`, `publishedAt` (exact ISO date), `voteCountText`, `likeCount` (exact), `commentCountText`, `commentCount`, `commentsDisabled`, `images`, `imageDetails`, `videoAttachments`, `poll`, `quiz`, `playlist`, `sharedPost`, `comments`, plus channel context and `scrapedAt`.\n\n- Image rows keep one URL per image (the largest resolution), not every thumbnail size.\n- Poll rows include choice text, optional choice images, and the total vote count.\n- Quiz rows include the choices, correct answers, and explanations when YouTube exposes them.\n- Repost rows keep the original post inside `sharedPost`.\n- `comments` contains public top-level comments when comments are enabled.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | Select | `profiles` | Channel profiles, channel playlists, or Community Posts |\n| `channelUrls` | Array | – | Required. Channel URLs, `@handles`, or `UC…` IDs |\n| `includeLinks` | Boolean | `true` | Include About-page external links in profile mode |\n| `includePlaylists` | Boolean | `false` | Nest a playlist snapshot in each profile row |\n| `maxPlaylists` | Integer | `20` | Maximum playlists per channel (1–10000) |\n| `includePosts` | Boolean | `false` | Nest a Community Post snapshot in each profile row |\n| `maxPosts` | Integer | `20` | Maximum posts per channel (YouTube exposes at most 200) |\n| `includePostDetails` | Boolean | `true` | Fetch exact post date and like count (one request per post) |\n| `includePostComments` | Boolean | `false` | Collect public comments on each post |\n| `maxPostComments` | Integer | `20` | Maximum top-level comments per post (1–1000) |\n\n### Example: profile only\n\n```json\n{\n  \"mode\": \"profiles\",\n  \"channelUrls\": [\"@MrBeast\"],\n  \"includeLinks\": true\n}\n```\n\n### Example: profile with nested playlists and posts\n\n```json\n{\n  \"mode\": \"profiles\",\n  \"channelUrls\": [\"@MrBeast\"],\n  \"includePlaylists\": true,\n  \"maxPlaylists\": 10,\n  \"includePosts\": true,\n  \"maxPosts\": 5,\n  \"includePostDetails\": true\n}\n```\n\n### Example: every public playlist on two channels\n\n```json\n{\n  \"mode\": \"playlists\",\n  \"channelUrls\": [\"@Fireship\", \"@Kurzgesagt\"],\n  \"maxPlaylists\": 100\n}\n```\n\n### Example: posts with exact engagement and comments\n\n```json\n{\n  \"mode\": \"posts\",\n  \"channelUrls\": [\"@MrBeast\"],\n  \"maxPosts\": 10,\n  \"includePostDetails\": true,\n  \"includePostComments\": true,\n  \"maxPostComments\": 20\n}\n```\n\n## Output views\n\nThe dataset ships three table views: **Channel profiles**, **Playlists & collections**, and **Community posts**. Each view shows only the fields relevant to that row type; records from different modes can share one dataset.\n\n## Use cases\n\n- **Creator discovery and partnerships** — shortlist channels by audience size, country, and public contact links.\n- **Market research** — compare subscriber, video, and total-view figures across competitors in one table.\n- **Content teams** — audit which channels still post Community updates, run polls, or publish quizzes.\n- **Catalog building** — pull every playlist, show, course, and podcast a channel publishes.\n- **Campaign tracking** — re-run the same channels and compare exact post likes and publish dates over time.\n\n## FAQ\n\n**Which channel identifiers can I use?**\nAn `@handle`, a full channel URL (including `/about`, `/playlists`, or `/posts`), or a raw `UC…` channel ID. Duplicate inputs are collapsed.\n\n**Why are some fields missing for a channel?**\nA field appears only when YouTube publishes it. A channel with a hidden subscriber count, no listed country, or no banner simply omits those fields instead of guessing.\n\n**Why does a channel return no playlists or posts?**\nSome channels have no Playlists or Posts tab. The actor emits a status row that says `no_playlists_tab` or `no_posts_tab`, so an empty result is explained.\n\n**Why do some counts show only text?**\nYouTube rounds large subscriber counts (`525M`). The actor keeps the displayed text and only fills the numeric field when the displayed value is exact. Compact values are never expanded into a fake precise number.\n\n**How many posts can I get?**\nYouTube's public Posts tab stops at 200 posts per channel. Older posts are only reachable through their own URLs, so `maxPosts` is capped there and the run message says so when a larger limit was requested.\n\n**Do I need cookies or a login?**\nNo. Every surface is public. The actor uses YouTube's public pages and its automatic proxy fallback when a datacenter request is degraded.\n\n**Are comments and replies included?**\n`includePostComments` collects public top-level comments. Replies are not expanded in this actor; use a dedicated comment scraper when you need full reply trees.\n\n**Is this affiliated with YouTube?**\nNo. This actor independently reads public YouTube pages and is not affiliated with or endorsed by YouTube or Google.\n",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Channel profiles",
              "transformation": {
                "fields": [
                  "recordType",
                  "channelName",
                  "title",
                  "handle",
                  "subscriberCountText",
                  "videoCountText",
                  "totalViewsText",
                  "country",
                  "joinedDateText",
                  "isVerified"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "recordType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "channelName": {
                    "label": "Channel",
                    "format": "text"
                  },
                  "title": {
                    "label": "Title",
                    "format": "text"
                  },
                  "handle": {
                    "label": "Handle",
                    "format": "text"
                  },
                  "subscriberCountText": {
                    "label": "Subscribers",
                    "format": "text"
                  },
                  "videoCountText": {
                    "label": "Videos",
                    "format": "text"
                  },
                  "totalViewsText": {
                    "label": "Total views",
                    "format": "text"
                  },
                  "country": {
                    "label": "Country",
                    "format": "text"
                  },
                  "joinedDateText": {
                    "label": "Joined",
                    "format": "text"
                  },
                  "isVerified": {
                    "label": "Verified",
                    "format": "boolean"
                  }
                }
              }
            },
            "playlists": {
              "title": "Playlists & collections",
              "transformation": {
                "fields": [
                  "recordType",
                  "playlistType",
                  "title",
                  "videoCount",
                  "lastUpdatedText",
                  "playlistUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "playlistType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "title": {
                    "label": "Title",
                    "format": "text"
                  },
                  "videoCount": {
                    "label": "Items",
                    "format": "number"
                  },
                  "lastUpdatedText": {
                    "label": "Updated",
                    "format": "text"
                  },
                  "playlistUrl": {
                    "label": "URL",
                    "format": "link"
                  }
                }
              }
            },
            "posts": {
              "title": "Community posts",
              "transformation": {
                "fields": [
                  "recordType",
                  "postType",
                  "postId",
                  "publishedAt",
                  "likeCount",
                  "contentText",
                  "postUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "postType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "publishedAt": {
                    "label": "Published",
                    "format": "text"
                  },
                  "likeCount": {
                    "label": "Likes",
                    "format": "number"
                  },
                  "contentText": {
                    "label": "Text",
                    "format": "text"
                  },
                  "postUrl": {
                    "label": "URL",
                    "format": "link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.2",
    "imageDigest": "f72906f0c5a336e929d559f3a0d5db52fb0e560e0fccf5f5ea4e86867ba41207",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.031145555555555555
    }
  }
}