# Youtube Community Posts Scraper (`alpha-scraper/youtube-community-posts-scraper`) Actor

\[ Amazing Price ✨ ]\
Get high-quality data at an affordable cost
⚡ Fast, reliable & easy-to-use – try it once & feel the difference
Access extensive insights effortlessly
Check the info tab for full details 📈

- **URL**: https://apify.com/alpha-scraper/youtube-community-posts-scraper.md
- **Developed by:** [Alpha Scraper](https://apify.com/alpha-scraper) (community)
- **Categories:** Videos, Other, Social media
- **Stats:** 33 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$7.50/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

***

### 🎯 YouTube Channel **Posts** Scraper — Apify Actor

> **Short description:**
> A friendly, configurable actor that collects posts from YouTube channel *posts* pages (the `/posts` stream) and emits structured post metadata for downstream use (export, analysis, storage, etc.). It accepts multiple kinds of inputs (keywords, handles/usernames, channel IDs, or direct start URLs), resolves unique channels, scrapes up to a configurable number of posts per channel, and pushes a compact JSON record for every post discovered.

***

## What this actor provides ✨

- Structured metadata for YouTube channel posts (the “Community posts” / posts stream).
- One JSON record per post containing:

  - identifiers and canonical post URL
  - author/channel info
  - published text and human-friendly timestamp text
  - post content (text), hashtags, and links to YouTube videos mentioned in the text
  - media references (images, thumbnails, video links)
  - counts/engagement summary where available (likes)
  - post type (text, image, gif, video\_link, poll)
  - a small `_raw_preview` blob for lightweight debugging
  - `scraped_at` timestamp and the source `channel_url`
- Error and diagnostic records are also emitted when a channel/page fails to fetch or parse.

***

## Why use it — Benefits & Advantages 🚀

- **Flexible inputs:** Provide channel handles, channel IDs, search keywords, or direct channel/post URLs. The actor normalizes whatever you give and resolves the appropriate channel posts page(s).
- **Deduplication:** If the same channel is provided multiple ways (e.g., as a handle and as a URL), the actor treats it as a single channel so you don’t get duplicate work.
- **Configurable depth:** Limit the number of posts per channel (`maxposts`) to control runtime and output size.
- **Clean, consistent JSON output:** Each record is normalized and ready for analysis, ingestion into databases, or ETL pipelines.
- **Resilient output strategy:** Errors are surfaced as data rows so you can monitor problems programmatically.

***

## Files included & what each does 🗂️

> Note: descriptions are intentionally high-level — implementation internals are not included here.

- **`actor.json`**
  Contains actor metadata and the input schema the actor expects. This file defines the user-facing form fields, help text, and default values (e.g., `keywords`, `usernames`, `channelIds`, `startUrls`, `maxposts`). Use this file to change the input UI or tweak defaults.

- **`main`**
  The actor’s runtime entrypoint. It:

  - loads user inputs,
  - resolves and normalizes channels from the inputs,
  - iterates channels and collects post records up to `maxposts`,
  - emits/send each post record as structured JSON.
    (The file is the runtime orchestration for input → output; the README purposefully does not describe internal parsing details.)

- **(optional) supporting files** — e.g., `Dockerfile`, CI manifests, or packaging files: used to containerize or deploy the actor. Adjust those if you need a specific runtime environment.

***

## Input schema — what to provide 🧾

The actor accepts this main input object. Fields are:

- `keywords` (array of strings)
  List of keywords. When used, the actor tries to resolve a representative channel for that keyword.

- `usernames` (array of strings)
  Channel handles/usernames (with or without leading `@`). Example: `@MrBeast` or `MrBeast`.

- `channelIds` (array of strings)
  Raw channel IDs (`UC...` form). Example: `UC-lHJZR3Gqxm24_Vd_AJ5Yw`.

- `startUrls` (array of objects or strings)
  One or more explicit channel URLs. Each object can be `{ "url": "https://www.youtube.com/@SomeChannel/posts" }` or just the URL string. These are the most precise inputs.

- `maxposts` (integer)
  Maximum number of posts to extract per channel. Default is typically set in `actor.json` (e.g., 10 or 20). Set lower for quick runs, higher for deeper scraping.

> Tip: the actor supports singular vs. plural variants (e.g., both `keyword` and `keywords`) for backward compatibility in different integrations.

***

## Output — what the actor emits (field reference) 📦

Each emitted record is a JSON object. Below is a field-by-field reference with short explanations.

- `post_id` — *string*
  Unique post identifier (YouTube post id). Use as a unique key for deduplication in downstream systems.

- `post_url` — *string | null*
  Canonical post URL (e.g., `https://www.youtube.com/post/POST_ID`) when available.

- `author_name` — *string | null*
  Display name of the channel or author who posted.

- `author_channel_url` — *string | null*
  URL to the author’s channel (canonical channel URL).

- `published_time_text` — *string | null*
  Human-friendly published time text as shown on YouTube (e.g., “2 hours ago”, “Jan 5, 2025”).

- `content_text` — *string*
  The textual content of the post (empty string when no text present).

- `hashtags` — *array of strings*
  Extracted hashtags from the content (without the `#`).

- `linked_videos` — *array of strings*
  Any YouTube video links explicitly included in the post text.

- `media_urls` — *array of strings*
  Media asset URLs found in the post (images, gifs, embedded media). These are direct URLs to thumbnails/images when present.

- `media_thumbnails` — *array of strings*
  Thumbnail URLs (subset of `media_urls`, specifically thumbnail variants).

- `video_links` — *array of strings*
  Video links inferred from structured fields (may overlap with `linked_videos`).

- `num_images` — *integer*
  Count of image-like media items.

- `post_type` — *string*
  One of: `text`, `image`, `gif/image`, `video_link`, `poll` — a high-level classification of the post’s content.

- `likes` — *string | number | null*
  Likes/engagement count when present (format depends on what is available).

- `_raw_preview` — *object*
  Small raw snippet useful for lightweight debugging (contains a few original/raw fields such as `postId`, snippet of published/payload).

- `scraped_at` — *string* (ISO8601 UTC, e.g., `2025-01-17T10:18:00Z`)
  Timestamp when this record was created/emitted.

- `channel_url` — *string*
  The channel posts page URL used as the source for this post (helps trace back to origin).

- `_parse_error` — *string* (optional)
  If parsing of a particular node failed, this field contains a short error message (when present, record may contain only partial data).

  This is emitted as data as well, so monitoring pipelines can capture failures.

***

### 🚀 Input example for multiple channels :

Use the Apify input editor or pass a JSON input. Examples:

Multiple channels (processes each URL separately — `maxposts` applies per channel):

```json
{

    "keywords": [
        "MrBeast"
    ],

    "usernames": [
        "@loganpaulvlogs"
    ]

    "channelIds": [
        "UC-lHJZR3Gqxm24_Vd_AJ5Yw"
    ],

    "startUrls": [
        {
            "url": "https://www.youtube.com/@MrBeast/posts"
        },
        {
            "url": "https://www.youtube.com/@PenMovies/posts"
        },
        {
            "url": "https://www.youtube.com/@PlayDMF/posts"
        }
    ],
    
}

```

### 🚀 Output (example)

```json
[
  {
    "post_id": "UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
    "post_url": "https://www.youtube.com/post/UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
    "author_name": "MrBeast",
    "author_channel_url": "https://www.youtube.com/@MrBeast",
    "published_time_text": "6 days ago",
    "content_text": "No main channel video today but we just posted one of my all-time favorite MrBeast 2 videos. Beast Games contestants take you inside Beast City and show exclusive BTS of what it’s really like to live there 🙂 go watch pls",
    "hashtags": [],
    "linked_videos": [],
    "media_urls": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCCx4L21tIyr2Zu3fNWCNzzby7D3w",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB4LFkkwUrLA2E_VQct6WWdMrW2RA",
      "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den&hl=en",
      "https://yt3.googleusercontent.com/Jd7IA_TOGrW-oXKgX-m5CBJB0tqMemQ-zhZZYmCJxF4w06dcNREG89dHbR_GGLra1TzSJqoKjFM=s68-c-k-c0x00ffffff-no-rj",
      "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252F&hl=en"
    ],
    "media_thumbnails": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCCx4L21tIyr2Zu3fNWCNzzby7D3w",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB4LFkkwUrLA2E_VQct6WWdMrW2RA",
      "https://yt3.googleusercontent.com/Jd7IA_TOGrW-oXKgX-m5CBJB0tqMemQ-zhZZYmCJxF4w06dcNREG89dHbR_GGLra1TzSJqoKjFM=s68-c-k-c0x00ffffff-no-rj"
    ],
    "video_links": [
      "https://www.youtube.com/watch?v=9uuRqcWFr7U"
    ],
    "num_images": 2,
    "post_type": "video_link",
    "likes": "46K",
    "_raw_preview": {
      "postId": "UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
      "publishedTimeText": {
        "runs": [
          {
            "text": "6 days ago",
            "navigationEndpoint": {
              "clickTrackingParams": "CJEBEPS8AiITCMzd-f3dkZIDFYfePwQdvQECRsoBBEauTlg=",
              "commandMetadata": {
                "webCommandMetadata": {
                  "url": "/post/UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
                  "webPageType": "WEB_PAGE_TYPE_BROWSE",
                  "rootVe": 247244,
                  "apiUrl": "/youtubei/v1/browse"
                }
              },
              "browseEndpoint": {
                "browseId": "FEpost_detail",
                "params": "wgNaEhhVQ1g2T1EzRGtjc2JZTkU2SDh1UVF1VkEaJFVna3h4VDJLbGpzRWxaUmQ3WDNLUjhpWFhwSDA1ekpMTFNuQVoYVUNYNk9RM0RrY3NiWU5FNkg4dVFRdVZB",
                "canonicalBaseUrl": "/post/UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA"
              }
            }
          }
        ]
      },
      "contentText": {
        "runs": [
          {
            "text": "No main channel video today but we just posted one of my all-time favorite MrBeast 2 videos. Beast Games contestants take you inside Beast City and show exclusive BTS of what it’s really like to live there 🙂 go watch pls"
          }
        ]
      }
    },
    "scraped_at": "2026-01-17T04:27:21.913714Z",
    "channel_url": "https://www.youtube.com/@MrBeast/posts"
  },
  {
    "post_id": "UgkxIm6SVAUl2WB_iNpQ2EwnGP0J00VAcECz",
    "post_url": "https://www.youtube.com/post/UgkxIm6SVAUl2WB_iNpQ2EwnGP0J00VAcECz",
    "author_name": "MrBeast",
    "author_channel_url": "https://www.youtube.com/@MrBeast",
    "published_time_text": "2 days ago",
    "content_text": "Beast Games x Survivor episode is NOW LIVE! It was an honor to be able to collab with the legend Jeff Probst himself 🥰\n\nWatch for free (30 day trial) on Prime video! https://linktr.ee/beastgames",
    "hashtags": [],
    "linked_videos": [],
    "media_urls": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://www.youtube.com/redirect?event=backstage_event&redir_token=QUFFLUhqbFdueEU0Ym8wMmlVVGxSdFRjNUNSUzRNS0trUXxBQ3Jtc0tucFlpWEp1WnhPem5sT1ZZZG5qdEZabkMxTGFNZm13Y1hjNmhzRXBkS2VhOVViR3FGRmZrd1BoQmhuQkZlUTREYzBCVHdMSkVGSW00NFlTbW5WOTJtNXZjRnhxOVFzZGJBT0Fad1lrNms1X2dheWRZVQ&q=https%3A%2F%2Flinktr.ee%2Fbeastgames",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s288-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s400-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s512-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s640-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s800-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s1024-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s1080-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252F&hl=en"
    ],
    "media_thumbnails": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s288-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s400-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s512-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s640-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s800-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s1024-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/lzjX4BLmn7E1Sm-pnw_SLEZ1T-3Z-qcNKxlaAO6loxyvukWZX3i7CEHGsEwVNy_eZcenPv94vKMb2A=s1080-c-fcrop64=1,00000000ffffffff-rw-nd-v1"
    ],
    "video_links": [],
    "num_images": 0,
    "post_type": "image",
    "likes": "194K",
    "_raw_preview": {
      "postId": "UgkxIm6SVAUl2WB_iNpQ2EwnGP0J00VAcECz",
      "publishedTimeText": {
        "runs": [
          {
            "text": "2 days ago",
            "navigationEndpoint": {
              "clickTrackingParams": "CLMBEPS8AiITCMzd-f3dkZIDFYfePwQdvQECRsoBBEauTlg=",
              "commandMetadata": {
                "webCommandMetadata": {
                  "url": "/post/UgkxIm6SVAUl2WB_iNpQ2EwnGP0J00VAcECz",
                  "webPageType": "WEB_PAGE_TYPE_BROWSE",
                  "rootVe": 247244,
                  "apiUrl": "/youtubei/v1/browse"
                }
              },
              "browseEndpoint": {
                "browseId": "FEpost_detail",
                "params": "wgNaEhhVQ1g2T1EzRGtjc2JZTkU2SDh1UVF1VkEaJFVna3hJbTZTVkFVbDJXQl9pTnBRMkV3bkdQMEowMFZBY0VDeloYVUNYNk9RM0RrY3NiWU5FNkg4dVFRdVZB",
                "canonicalBaseUrl": "/post/UgkxIm6SVAUl2WB_iNpQ2EwnGP0J00VAcECz"
              }
            }
          }
        ]
      },
      "contentText": {
        "runs": [
          {
            "text": "Beast Games x Survivor episode is NOW LIVE! It was an honor to be able to collab with the legend Jeff Probst himself 🥰\n\nWatch for free (30 day trial) on Prime video! "
          },
          {
            "text": "https://linktr.ee/beastgames",
            "navigationEndpoint": {
              "clickTrackingParams": "CMABEJHkBxgCIhMIzN35_d2RkgMVh94_BB29AQJGygEERq5OWA==",
              "commandMetadata": {
                "webCommandMetadata": {
                  "url": "https://www.youtube.com/redirect?event=backstage_event&redir_token=QUFFLUhqbFdueEU0Ym8wMmlVVGxSdFRjNUNSUzRNS0trUXxBQ3Jtc0tucFlpWEp1WnhPem5sT1ZZZG5qdEZabkMxTGFNZm13Y1hjNmhzRXBkS2VhOVViR3FGRmZrd1BoQmhuQkZlUTREYzBCVHdMSkVGSW00NFlTbW5WOTJtNXZjRnhxOVFzZGJBT0Fad1lrNms1X2dheWRZVQ&q=https%3A%2F%2Flinktr.ee%2Fbeastgames",
                  "webPageType": "WEB_PAGE_TYPE_UNKNOWN",
                  "rootVe": 83769
                }
              },
              "urlEndpoint": {
                "url": "https://www.youtube.com/redirect?event=backstage_event&redir_token=QUFFLUhqbFdueEU0Ym8wMmlVVGxSdFRjNUNSUzRNS0trUXxBQ3Jtc0tucFlpWEp1WnhPem5sT1ZZZG5qdEZabkMxTGFNZm13Y1hjNmhzRXBkS2VhOVViR3FGRmZrd1BoQmhuQkZlUTREYzBCVHdMSkVGSW00NFlTbW5WOTJtNXZjRnhxOVFzZGJBT0Fad1lrNms1X2dheWRZVQ&q=https%3A%2F%2Flinktr.ee%2Fbeastgames",
                "target": "TARGET_NEW_WINDOW",
                "nofollow": true
              }
            },
            "loggingDirectives": {
              "trackingParams": "CMABEJHkBxgCIhMIzN35_d2RkgMVh94_BB29AQJG",
              "visibility": {
                "types": "12"
              }
            }
          }
        ]
      }
    },
    "scraped_at": "2026-01-17T04:27:21.746881Z",
    "channel_url": "https://www.youtube.com/@MrBeast/posts"
  },
  {
    "post_id": "UgkxMiqr9bA6xk6au8tTD_pBh5XbLTEM5w-B",
    "post_url": "https://www.youtube.com/post/UgkxMiqr9bA6xk6au8tTD_pBh5XbLTEM5w-B",
    "author_name": "MrBeast",
    "author_channel_url": "https://www.youtube.com/@MrBeast",
    "published_time_text": "5 days ago",
    "content_text": "Beast Games Season 2 is #1 in the USA! Over 1,000,000 hours of work from thousands of people went into making this show. We’re all super grateful for everyone who is watching 🙏",
    "hashtags": [
      "1"
    ],
    "linked_videos": [],
    "media_urls": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s288-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s400-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s512-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s640-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s800-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s1000-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252F&hl=en"
    ],
    "media_thumbnails": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s288-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s400-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s512-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s640-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s800-c-fcrop64=1,00000000ffffffff-rw-nd-v1",
      "https://yt3.ggpht.com/fxLl8P1LzrtaaFNRM4H-HRpC0V2jVrcyyOmFFfEn3e8clpUGW4rfQz4U9pTkRiol0h6k6hrCBJQIOvo=s1000-c-fcrop64=1,00000000ffffffff-rw-nd-v1"
    ],
    "video_links": [],
    "num_images": 0,
    "post_type": "image",
    "likes": "249K",
    "_raw_preview": {
      "postId": "UgkxMiqr9bA6xk6au8tTD_pBh5XbLTEM5w-B",
      "publishedTimeText": {
        "runs": [
          {
            "text": "5 days ago",
            "navigationEndpoint": {
              "clickTrackingParams": "CKUBEPS8AiITCMzd-f3dkZIDFYfePwQdvQECRsoBBEauTlg=",
              "commandMetadata": {
                "webCommandMetadata": {
                  "url": "/post/UgkxMiqr9bA6xk6au8tTD_pBh5XbLTEM5w-B",
                  "webPageType": "WEB_PAGE_TYPE_BROWSE",
                  "rootVe": 247244,
                  "apiUrl": "/youtubei/v1/browse"
                }
              },
              "browseEndpoint": {
                "browseId": "FEpost_detail",
                "params": "wgNaEhhVQ1g2T1EzRGtjc2JZTkU2SDh1UVF1VkEaJFVna3hNaXFyOWJBNnhrNmF1OHRURF9wQmg1WGJMVEVNNXctQloYVUNYNk9RM0RrY3NiWU5FNkg4dVFRdVZB",
                "canonicalBaseUrl": "/post/UgkxMiqr9bA6xk6au8tTD_pBh5XbLTEM5w-B"
              }
            }
          }
        ]
      },
      "contentText": {
        "runs": [
          {
            "text": "Beast Games Season 2 is #1 in the USA! Over 1,000,000 hours of work from thousands of people went into making this show. We’re all super grateful for everyone who is watching 🙏"
          }
        ]
      }
    },
    "scraped_at": "2026-01-17T04:27:21.871717Z",
    "channel_url": "https://www.youtube.com/@MrBeast/posts"
  },
  {
    "post_id": "UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
    "post_url": "https://www.youtube.com/post/UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
    "author_name": "MrBeast",
    "author_channel_url": "https://www.youtube.com/@MrBeast",
    "published_time_text": "6 days ago",
    "content_text": "No main channel video today but we just posted one of my all-time favorite MrBeast 2 videos. Beast Games contestants take you inside Beast City and show exclusive BTS of what it’s really like to live there 🙂 go watch pls",
    "hashtags": [],
    "linked_videos": [],
    "media_urls": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCCx4L21tIyr2Zu3fNWCNzzby7D3w",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB4LFkkwUrLA2E_VQct6WWdMrW2RA",
      "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den&hl=en",
      "https://yt3.googleusercontent.com/Jd7IA_TOGrW-oXKgX-m5CBJB0tqMemQ-zhZZYmCJxF4w06dcNREG89dHbR_GGLra1TzSJqoKjFM=s68-c-k-c0x00ffffff-no-rj",
      "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252F&hl=en"
    ],
    "media_thumbnails": [
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s32-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s48-c-k-c0x00ffffff-no-rj-mo",
      "//yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s76-c-k-c0x00ffffff-no-rj-mo",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCCx4L21tIyr2Zu3fNWCNzzby7D3w",
      "https://i.ytimg.com/vi/9uuRqcWFr7U/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB4LFkkwUrLA2E_VQct6WWdMrW2RA",
      "https://yt3.googleusercontent.com/Jd7IA_TOGrW-oXKgX-m5CBJB0tqMemQ-zhZZYmCJxF4w06dcNREG89dHbR_GGLra1TzSJqoKjFM=s68-c-k-c0x00ffffff-no-rj"
    ],
    "video_links": [
      "https://www.youtube.com/watch?v=9uuRqcWFr7U"
    ],
    "num_images": 2,
    "post_type": "video_link",
    "likes": "46K",
    "_raw_preview": {
      "postId": "UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
      "publishedTimeText": {
        "runs": [
          {
            "text": "6 days ago",
            "navigationEndpoint": {
              "clickTrackingParams": "CJEBEPS8AiITCMzd-f3dkZIDFYfePwQdvQECRsoBBEauTlg=",
              "commandMetadata": {
                "webCommandMetadata": {
                  "url": "/post/UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA",
                  "webPageType": "WEB_PAGE_TYPE_BROWSE",
                  "rootVe": 247244,
                  "apiUrl": "/youtubei/v1/browse"
                }
              },
              "browseEndpoint": {
                "browseId": "FEpost_detail",
                "params": "wgNaEhhVQ1g2T1EzRGtjc2JZTkU2SDh1UVF1VkEaJFVna3h4VDJLbGpzRWxaUmQ3WDNLUjhpWFhwSDA1ekpMTFNuQVoYVUNYNk9RM0RrY3NiWU5FNkg4dVFRdVZB",
                "canonicalBaseUrl": "/post/UgkxxT2KljsElZRd7X3KR8iXXpH05zJLLSnA"
              }
            }
          }
        ]
      },
      "contentText": {
        "runs": [
          {
            "text": "No main channel video today but we just posted one of my all-time favorite MrBeast 2 videos. Beast Games contestants take you inside Beast City and show exclusive BTS of what it’s really like to live there 🙂 go watch pls"
          }
        ]
      }
    },
    "scraped_at": "2026-01-17T04:27:21.913714Z",
    "channel_url": "https://www.youtube.com/@MrBeast/posts"
  }
  
  ......
  ...........
  .................
]
```

***

### And an example error record if post unavailable:

```json
{
  "error": "Failed to fetch channel page https://www.youtube.com/@UnknownChannel/posts",
  "exception": "HTTPError: 404 Client Error"
}
```

***

## Features & overview 🧭

- Input normalization: accepts multiple input forms and normalizes them to canonical channel posts pages.
- Channel resolution by keyword/username/channel ID or explicit URL.
- Deduplication across inputs so each channel is processed once.
- Per-channel limit control via `maxposts`.
- Emits one JSON record per post and error records when problems happen.
- Minimal `_raw_preview` kept for debugging.

***

## Best practices — get the best results ✅

1. **Prefer `startUrls` or `channelIds` where possible.**
   These give the highest accuracy for resolving a channel.

2. **Use `maxposts` conservatively.**
   Lower numbers make runs faster and lighter. Use a higher number only if you truly need historical depth.

3. **Deduplicate inputs before submission.**
   If you already know a channel, avoid providing the same channel as a keyword *and* URL — though the actor will deduplicate, upstream deduplication reduces network & compute.

4. **Batch inputs sensibly.**
   Group channels into reasonable batches to keep run times and rate-limiting risks manageable.

5. **Make sure channels are public.**
   Private or restricted channel posts are not available and will generate error records.

6. **Monitor returned error records.**
   The actor emits structured error rows; use them for automated alerting and retries.

7. **Respect platform terms of service.**
   Use the actor for legitimate, compliant use cases only.

8. **If you need programmatic uniqueness**, store `post_id` as your primary key to avoid duplicates in your database.

***

## Possible causes of errors & how to avoid them ⚠️

**Common causes**

- **Invalid or malformed URLs** in `startUrls`.
  *Avoidance:* validate URLs before submitting them; use canonical channel URLs when possible.

- **Channel is private, restricted, or does not have a posts stream.**
  *Avoidance:* confirm the channel has public posts (Community posts) visible in a browser.

- **Network instability or timeouts.**
  *Avoidance:* re-run or increase network timeout/robustness in your runner environment (or reduce batch size).

- **Rate limiting / temporary access blocks.**
  *Avoidance:* run with reasonable request frequency, reduce concurrency, and batch inputs.

- **Site display/format changes** (site-side changes can alter extracted data).
  *Avoidance:* periodically refresh your tests and monitor `_raw_preview` / error records. If output fields start missing or show errors, revalidate using a small sample feed.

- **Large `maxposts` values** causing longer runs and heavier resource usage.
  *Avoidance:* choose `maxposts` appropriate to your use case and compute budget.

**Troubleshooting tips**

- Check emitted error rows — they contain short exception messages.
- Run a single-channel test with `maxposts=1` to confirm end-to-end behavior before scaling.
- Use explicit `startUrls`/`channelIds` for precise targeting.
- If posts are missing expected fields, inspect `_raw_preview` to see what raw snippet was available for that post.

***

## Integration & usage notes 🔌

- The actor outputs JSON records intended for data pipelines; integrate it with your downstream storage (S3, database, Elasticsearch, etc.) or logging mechanism.
- Because the actor pushes both data and error objects, design your pipeline to either separate them by field (e.g., presence of `error` or `_parse_error`) or route them to a monitoring queue.
- The actor is optimized for channel *posts* extraction — it is not intended for scraping video watch pages, comments, or other YouTube pages.

***

## FAQ ❓

**Q: Can I ask the actor to process thousands of channels in one run?**
A: You can provide many channels, but for stability and to avoid rate limits it's better to batch large jobs into multiple runs and keep `maxposts` reasonable per run.

**Q: Will duplicate inputs create duplicate outputs?**
A: The actor deduplicates channel inputs (e.g., the same channel provided as a handle and as a URL) and aims to process each unique channel only once.

**Q: Is there a way to get raw unprocessed page HTML or full debug logs?**
A: The actor provides a compact `_raw_preview` for each post and structured error records. For deeper debugging, run small test jobs and consult your runner’s logs. (Long-term logging can be added in your orchestration pipeline.)

***

## Contact & support ✉️

If you need help or have questions about inputs, outputs, or behavior, contact: **<alphascraper69@gmail.com>**

***

## Here my another actors :

### Youtube Iteams:

- [🎶 Youtube Audio Downloader (Video/Shorts)](https://console.apify.com/actors/lTUPL4gmLTDNXBeWw/source)
- [Youtube Video Downloader Advanced](https://console.apify.com/actors/XOpQsUkgGZLGSCJd0/source)
- [Youtube Video Downloader ( Soundless )](https://console.apify.com/actors/gFsczW1QplIquv9eL/source)
- [Youtube Video Downloader](https://console.apify.com/actors/9kZQcUlHZRKp1ilZA/source)
- [Youtube Video Details Scraper](https://console.apify.com/actors/On4VfiWjGnT79clm1/source)
- [Youtube Transcript Ninja (Subtitles) ](https://console.apify.com/actors/eWrsJHhdeEbVHChpX/source)
- [Youtube Thumbnails Downloader & Scraper](https://console.apify.com/actors/YShot3wkL0HJdRkD0/source)
- [Youtube Tags or Hashtags Scraper](https://console.apify.com/actors/O1FU99ID2ccR5wcS8/source)
- [Youtube Tags Scraper](https://console.apify.com/actors/1wVokAhQLbbeeFVfR/source)
- [Youtube Shorts Scraper lite](https://console.apify.com/actors/bOyWDt1IbXZsadWRp/source)
- [Youtube Shorts Downloader Pro](https://console.apify.com/actors/bN1AjNRMops81rGkg/source)
- [Youtube Shorts Comments Scraper](https://console.apify.com/actors/ON1C4qgHaEQEhhEmI/source)
- [Youtube Community Posts Scraper](https://console.apify.com/actors/X38E51BParHFNaCw1/source)
- [Youtube Channel Id Scraper Pro](https://console.apify.com/actors/2uuIEovgGHcYjEKyN/source)
- [Youtube Video Transcript  Scraper ( Subtitles )](https://console.apify.com/actors/IEmSN6FkNn0tw10BA/source)
- [Youtube Video Comments Scraper](https://console.apify.com/actors/URh4zBT1aesfE8QKc/source)
- [Youtube Shorts Scraper  Pro](https://console.apify.com/actors/G4McyHJJzc2TbUSo6/source)
- [Youtube Shorts Scraper](https://console.apify.com/actors/XP0WgKweF1M83FnmR/source)
- [Youtube Channel Scraper](https://console.apify.com/actors/ufMZfwMgyHeaoDdAd/source)
- [YouTube Video Description Extractor](https://console.apify.com/actors/Xqae3CmxqT3HfHaJ5/source)
- [YouTube Hashtag Scraper](https://console.apify.com/actors/d4bYqQ0LWuczEgumx/source)
- [YouTube Description Scraper pro](https://console.apify.com/actors/OVymx0bku0C8gowB0/source)
- [YouTube Comments Scraper | Pay Per Result](https://console.apify.com/actors/ict6AecoJ85T4RthZ/source)
- [YouTube Channel ID Scraper](https://console.apify.com/actors/P9XlG8ylMGqfoelOg/source)

### Tiktok Iteams:

- [Tiktok Video Downloader](https://console.apify.com/actors/dlyQGIrqOracdqOeb/source)
- [Tiktok Video Details Scraper Pro](https://console.apify.com/actors/kZMMAHBehLOdG2FBb/source)
- [Tiktok Profile Scraper](https://console.apify.com/actors/C9mdCvPs7mDV8AYdd/source)
- [TikTok Video Scraper](https://console.apify.com/actors/7NjipRJbS73X9Io90/source)
- [TikTok Profile Videos Scraper](https://console.apify.com/actors/F6ar6Hu5STLp5mdAf/source)
- [TikTok Profile Scraper pro](https://console.apify.com/actors/3fmkMmoCBQ4SBIIAN/source)
- [TikTok Audio Downloader 🎵](https://console.apify.com/actors/jHipu7fQihSVhBE3x/source)

### Snapchat Iteams:

- [Snapchat Video Downloader (Spotlight )](https://console.apify.com/actors/yKz99HNmn4AgmhPOf/source)
- [Snapchat Video  Details Scraper (Spotlight)](https://console.apify.com/actors/fyV48EkRqcNoeq2kH/source)
- [Snapchat Followers Scraper](https://console.apify.com/actors/PxBiNYw0mgZOagGyD/source)
- [Snapchat Profile     Scraper](https://console.apify.com/actors/siCUsZdm6xmc3g7HF/source)
- [Snapchat Profile Scraper  Mini](https://console.apify.com/actors/qhkQO51Cv6iHJxdAs/source)

### Instagram Iteams:

- [Instagram video Downloader + Scraper](https://console.apify.com/actors/zIpixF6ZjlbelQDrY/source)
- [Instagram Video Downloader (Soundlss)](https://console.apify.com/actors/QQkJuhIQp4pexakls/source)
- [Instagram Thumbnail Scraper Video & Reels](https://console.apify.com/actors/z8JOosBY8hlqiUthl/source)
- [Instagram Reels  Downloader](https://console.apify.com/actors/VRbovYCWXTZXuVaN2/source)
- [Instagram Profile URL to Username Converter & Extractor](https://console.apify.com/actors/FOApkedA1VuG6ncno/source)
- [Instagram Profile Scraper](https://console.apify.com/actors/5dvorBkg7ccX95wAg/source)
- [Instagram Post Videos Downloader](https://console.apify.com/actors/h95ZexZ0ifOX4JEYQ/source)
- [Instagram Followers Scraper](https://console.apify.com/actors/c55pdH9mCE02sj7Dg/source)
- [Instagram Audio Downloader](https://console.apify.com/actors/MQRNuEHUqKreEi8gI/source)
- [Instagram Video Scraper + Downloader](https://console.apify.com/actors/63Z5eSy3IxgdIEYOX/source)
- [Instagram Video  scraper Advanced](https://console.apify.com/actors/79ng2nukXLzUn0aWg/source)
- [Instagram Video Details  scraper](https://console.apify.com/actors/VLyBXSwQpHTFwUcds/source)
- [Instagram Reels Details scraper](https://console.apify.com/actors/oGR3xfeXTuIirhdlZ/source)
- [Instagram Followers Scraper Pro](https://console.apify.com/actors/MqW3EtUZXm6OHdvcI/source)

### Facebook Iteams:

- [Facebook reels Downloader  (Separate audio or video)](https://console.apify.com/actors/nuvIRaMeRIzz3cfxK/source)
- [Facebook Video Downloader advanced](https://console.apify.com/actors/2SU8ZuABbAVFNKMZa/source)
- [Facebook Video Details Scraper Advanced](https://console.apify.com/actors/umYouAXm92472jIdY/source)
- [Facebook Video Details Scraper](https://console.apify.com/actors/cQi4k63arffL6Cn0m/source)
- [Facebook Transcript & Subtitle scraper](https://console.apify.com/actors/hMNe1QYDOtcTc95qI/source)
- [Facebook Thumbnail Downloader Video & Reels](https://console.apify.com/actors/9SmYiqGTUia29Yd1Y/source)
- [Facebook Reels Downloader Advanced](https://console.apify.com/actors/3Zdnp9TnvltdoC44T/source)
- [Facebook Reels Details Scraper  Best and  Affordable](https://console.apify.com/actors/nuzr418MKJltywrCh/source)
- [Facebook Reels Details Scraper](https://console.apify.com/actors/OGBA89e5Ki6Y5amko/source)
- [Facebook Page Details Scraper](https://console.apify.com/actors/PL9nP9BrKDSsKwSZF/source)
- [Facebook Audio Downloader](https://console.apify.com/actors/uVrcf4OJ9VW8iCybQ/source)

### Amazon Iteams:

- [Amazon Search Scraper](https://console.apify.com/actors/YcgJR1WP1cHJhHzvH/source)
- [Amazon Product Details Scraper ](https://console.apify.com/actors/1twpltijc10KFaVeb/source)

# Actor input Schema

## `keywords` (type: `array`):

List of keywords. If provided, the actor can build YouTube search or discovery URLs. Example: "cooking" or "tech reviews".

## `usernames` (type: `array`):

List of channel handles or usernames (with or without @). Examples: "MrBeast", "@MrBeast". The actor will convert these to: https://www.youtube.com/@USERNAME/posts

## `channelIds` (type: `array`):

List of channel IDs (starting with UC...). The actor will convert to https://www.youtube.com/channel/CHANNEL\_ID/posts

## `startUrls` (type: `array`):

List of one or more YouTube channel URLs or share links to scrape. These will be added to the list of channels found via other inputs.

## `maxposts` (type: `integer`):

Maximum number of posts to extract from each channel (integer).

## Actor input object example

```json
{
  "keywords": [
    "MrBeast"
  ],
  "usernames": [
    "@loganpaulvlogs"
  ],
  "channelIds": [
    "UC-lHJZR3Gqxm24_Vd_AJ5Yw"
  ],
  "startUrls": [
    {
      "url": "https://www.youtube.com/@PenMovies/posts"
    },
    {
      "url": "https://www.youtube.com/@PlayDMF/posts"
    }
  ],
  "maxposts": 10
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "MrBeast"
    ],
    "usernames": [
        "@loganpaulvlogs"
    ],
    "channelIds": [
        "UC-lHJZR3Gqxm24_Vd_AJ5Yw"
    ],
    "startUrls": [
        {
            "url": "https://www.youtube.com/@PenMovies/posts"
        },
        {
            "url": "https://www.youtube.com/@PlayDMF/posts"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("alpha-scraper/youtube-community-posts-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": ["MrBeast"],
    "usernames": ["@loganpaulvlogs"],
    "channelIds": ["UC-lHJZR3Gqxm24_Vd_AJ5Yw"],
    "startUrls": [
        { "url": "https://www.youtube.com/@PenMovies/posts" },
        { "url": "https://www.youtube.com/@PlayDMF/posts" },
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("alpha-scraper/youtube-community-posts-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "MrBeast"
  ],
  "usernames": [
    "@loganpaulvlogs"
  ],
  "channelIds": [
    "UC-lHJZR3Gqxm24_Vd_AJ5Yw"
  ],
  "startUrls": [
    {
      "url": "https://www.youtube.com/@PenMovies/posts"
    },
    {
      "url": "https://www.youtube.com/@PlayDMF/posts"
    }
  ]
}' |
apify call alpha-scraper/youtube-community-posts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alpha-scraper/youtube-community-posts-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/X38E51BParHFNaCw1/builds/Z1MJUisurXq7UNadl/openapi.json
