Youtube Community Posts Scraper avatar
Youtube Community Posts Scraper

Pricing

$7.50/month + usage

Go to Apify Store
Youtube Community Posts Scraper

Youtube Community Posts Scraper

[ 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 📈

Pricing

$7.50/month + usage

Rating

5.0

(1)

Developer

Alpha Scraper

Alpha Scraper

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

2

Monthly active users

15 days ago

Last modified

Share

🎯 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_idstring Unique post identifier (YouTube post id). Use as a unique key for deduplication in downstream systems.

  • post_urlstring | null Canonical post URL (e.g., https://www.youtube.com/post/POST_ID) when available.

  • author_namestring | null Display name of the channel or author who posted.

  • author_channel_urlstring | null URL to the author’s channel (canonical channel URL).

  • published_time_textstring | null Human-friendly published time text as shown on YouTube (e.g., “2 hours ago”, “Jan 5, 2025”).

  • content_textstring The textual content of the post (empty string when no text present).

  • hashtagsarray of strings Extracted hashtags from the content (without the #).

  • linked_videosarray of strings Any YouTube video links explicitly included in the post text.

  • media_urlsarray of strings Media asset URLs found in the post (images, gifs, embedded media). These are direct URLs to thumbnails/images when present.

  • media_thumbnailsarray of strings Thumbnail URLs (subset of media_urls, specifically thumbnail variants).

  • video_linksarray of strings Video links inferred from structured fields (may overlap with linked_videos).

  • num_imagesinteger Count of image-like media items.

  • post_typestring One of: text, image, gif/image, video_link, poll — a high-level classification of the post’s content.

  • likesstring | number | null Likes/engagement count when present (format depends on what is available).

  • _raw_previewobject Small raw snippet useful for lightweight debugging (contains a few original/raw fields such as postId, snippet of published/payload).

  • scraped_atstring (ISO8601 UTC, e.g., 2025-01-17T10:18:00Z) Timestamp when this record was created/emitted.

  • channel_urlstring The channel posts page URL used as the source for this post (helps trace back to origin).

  • _parse_errorstring (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):

{
"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)

[
{
"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:

{
"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:

Tiktok Iteams:

Snapchat Iteams:

Instagram Iteams:

Facebook Iteams:

Amazon Iteams: