YouTube Channel Streams โ€“ Live, Upcoming & Past avatar

YouTube Channel Streams โ€“ Live, Upcoming & Past

Pricing

from $1.00 / 1,000 results

Go to Apify Store
YouTube Channel Streams โ€“ Live, Upcoming & Past

YouTube Channel Streams โ€“ Live, Upcoming & Past

Collect broadcast listings from YouTube channel handles or IDs. Export stream links, titles, status flags, view labels, schedules, thumbnails, and source-channel context.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Catalogue the broadcasts exposed on a YouTube channel's Live tab. YouTube Channel Streams Scraper returns stream links, titles, thumbnails, available audience labels, and live, upcoming, or past status inferred from the listing.

Use channel handles or IDs and choose the number of result pages to collect. Each broadcast stays in one row with its source-channel context.

At a glanceDetails
๐Ÿ“ฅ InputChannel handles or UC IDs
๐Ÿ“ค OutputLive-tab broadcast listings, status flags, titles, view labels, schedules, and channel context
๐Ÿ” Login requiredNo
๐Ÿ“„ CollectionConfigurable result pages per input
๐Ÿ’พ DeliveryOne row per stream result, in one table

What the YouTube channel streams scraper collects ๐Ÿ”Ž

The Actor reads the channel's Live tab and classifies the stream listings YouTube makes available.

  • Broadcast ID, watch URL, title, and listing position
  • Live, upcoming, or past status and available badges
  • Scheduled start value when the listing exposes it
  • View or currently-watching label with a parsed numeric value
  • Duration and publication wording for broadcasts that expose them
  • Thumbnail variants, available creator details, and source-channel information

This is a snapshot of public listings. It does not record streams, read live chat, or continuously monitor a broadcast.

How to scrape YouTube channel streams ๐Ÿš€

  1. Prepare the channel handles or IDs you want to collect.
  2. Add them to inputList, one value per item.
  3. Set pagesPerInput and start the Actor.
  4. Check status and export the fields needed for your workflow.
{
"inputList": [
"NASA"
],
"pagesPerInput": 1
}

YouTube channel streams data fields and output ๐Ÿ“ฆ

Field groupIncluded data
BroadcastID, watch URL, title, type, and listing position
State and scheduleStream status, live/upcoming flags, badges, and available scheduled start
Audience and timingDisplayed views or watching label, duration, and publication text
Images and contextThumbnails, creator details, and source-channel profile fields

Complete illustrative success item. The fictional values below demonstrate the output and are not a live result:

{
"input": "TrailJournal",
"status": "success",
"id": "TrailWalk01",
"url": "https://www.youtube.com/watch?v=TrailWalk01",
"type": "stream",
"title": "Live trail planning: routes and questions",
"description": "A shaded forest loop with route notes at https://example.com/trail #hiking",
"thumbnail_url": "https://example.com/trail-large.jpg",
"thumbnails.url": [
"https://example.com/trail-small.jpg",
"https://example.com/trail-large.jpg"
],
"thumbnails.width": [
160,
1280
],
"thumbnails.height": [
90,
720
],
"duration_seconds": 3720,
"duration_text": "1:02:00",
"views": 8400,
"views_text": "8.4K views",
"published_text": "Streamed 2 days ago",
"badges": [],
"is_live": false,
"is_upcoming": false,
"is_premiere": false,
"is_members_only": false,
"stream_status": "past",
"scheduled_start_time": null,
"accessibility_text": "Live trail planning: routes and questions by Trail Journal",
"author.id": "UCabcdefghijklmnopqrstuv",
"author.name": "Trail Journal",
"author.handle": "@TrailJournal",
"author.url": "https://www.youtube.com/@TrailJournal",
"author.avatar_url": "https://example.com/trail-large.jpg",
"author.avatar_thumbnails.url": [
"https://example.com/trail-small.jpg",
"https://example.com/trail-large.jpg"
],
"author.avatar_thumbnails.width": [
160,
800
],
"author.avatar_thumbnails.height": [
160,
800
],
"author.is_verified": false,
"source_channel.id": "UCabcdefghijklmnopqrstuv",
"source_channel.handle": "@TrailJournal",
"source_channel.name": "Trail Journal",
"source_channel.url": "https://www.youtube.com/channel/UCabcdefghijklmnopqrstuv",
"source_channel.canonical_url": "https://www.youtube.com/@TrailJournal",
"source_channel.vanity_url": "https://www.youtube.com/@TrailJournal",
"source_channel.description": "Weekend walks, route guides, and quiet places.",
"source_channel.avatar_url": "https://example.com/trail-large.jpg",
"source_channel.avatar_thumbnails.url": [
"https://example.com/trail-small.jpg",
"https://example.com/trail-large.jpg"
],
"source_channel.avatar_thumbnails.width": [
160,
800
],
"source_channel.avatar_thumbnails.height": [
160,
800
],
"source_channel.banner_url": "https://example.com/trail-large.jpg",
"source_channel.banner_thumbnails.url": [
"https://example.com/trail-small.jpg",
"https://example.com/trail-large.jpg"
],
"source_channel.banner_thumbnails.width": [
1060,
2120
],
"source_channel.banner_thumbnails.height": [
175,
350
],
"source_channel.subscribers": 12000,
"source_channel.subscribers_text": "12K subscribers",
"source_channel.videos_count": 25,
"source_channel.videos_count_text": "25 videos",
"source_channel.views": 500000,
"source_channel.views_text": "500K views",
"source_channel.country": "United States",
"source_channel.joined_date": "Joined Jan 1, 2020",
"source_channel.keywords": [
"hiking",
"trail guides"
],
"source_channel.keywords_raw": "hiking \"trail guides\"",
"source_channel.external_links.title": [
"Website"
],
"source_channel.external_links.url": [
"https://example.com"
],
"source_channel.external_links.display_url": [
"example.com"
],
"source_channel.external_links.icon_url": [
"https://example.com/trail-large.jpg"
],
"source_channel.rss_url": "https://www.youtube.com/feeds/videos.xml?channel_id=UCabcdefghijklmnopqrstuv",
"source_channel.available_countries": [
"US",
"GB"
],
"source_channel.is_verified": false,
"source_channel.is_family_safe": true,
"source_channel.is_subscriber_count_hidden": false,
"position": 1
}

The table and JSON use the same flat field names, including literal dotted keys. The views field may represent a displayed view total or current-watching figure; views_text preserves the label needed to distinguish them. Thumbnail and avatar columns keep variants aligned by position. The stream_status value is inferred from listing flags and is not a continuously verified broadcast state.

Optional values can be null, empty strings, false, or empty lists. Missing counts are normally null; numeric values parsed from abbreviated labels remain approximate. Failed rows preserve input and status and set the result-data fields to null. position is the running order of saved results for that input, not a global ranking.

Input requirements and coverage โš™๏ธ

ParameterTypeDefaultRules
inputListarray of stringsRequiredOne or more channel handles, with or without @, or UC channel IDs. Full channel URLs are not accepted. No fixed batch-size maximum.
pagesPerInputinteger1At least 1; no fixed upper bound. Limits result pages for each input.

Handles allow 1โ€“100 Unicode word characters, periods, hyphens, or middle dots after an optional @. A channel ID must be UC followed by 22 letters, digits, underscores, or hyphens. Other valid values are treated as handles. Leading and trailing spaces are removed.

YouTube controls page size. Collection stops at the requested page limit or when the list ends, whichever comes first. The initial result page counts as page 1; each continuation uses another page. Repeated items within an input are skipped, but repeating the input itself starts a separate collection.

YouTube channel streams use cases ๐ŸŽฏ

Broadcast catalogues

Inventory the public stream listings of known channels, keeping titles, links, and available timing information together.

Event planning

Collect upcoming entries and exposed scheduled start values to prepare a review list of announced broadcasts.

Audience snapshots

Compare repeated exports of visible audience labels while retaining whether YouTube described them as views or watching.

Archive research

Review past broadcast titles and durations on a channel's Live tab before selecting individual videos for deeper extraction.

Pricing and billable stream rows ๐Ÿ’ฐ

Check the Actor's Pricing tab for the current pricing model and rate.

Under dataset-item pricing, each saved success or failed row can be billable. Automatic retry attempts do not independently add rows. The number of billable items follows saved results, not requested pages. A collection that ends without results or a failed request can produce a failed row; if a later page fails, earlier saved results remain.

Image variants and other list fields remain in their parent row and do not create separate dataset items.

YouTube Channel Streams Scraper API and integrations ๐Ÿ”Œ

Use the Actor ID from the API tab as $ACTOR_ID and your Apify token as $APIFY_TOKEN.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["NASA"],"pagesPerInput":1}'

The request starts a run. Retrieve the dataset when it finishes, or use a completion webhook to send results to your application. Apify schedules can repeat collection; exports and integrations support JSON, CSV, Excel, Google Sheets, Make, and Zapier workflows.

Reliability and limits โš ๏ธ

Up to five requests run concurrently, with automatic retries for temporary failures. Invalid, unavailable, or unresolved inputs are visible as failed rows. YouTube can restrict public access or omit fields.

The Live tab can contain current, upcoming, and archived broadcasts. A stream with no live or upcoming marker is classified as past, so inspect the source labels when status accuracy matters. View and watching figures have different meanings. Schedules and status can change after collection; private, removed, or restricted streams may not appear.

Pagination preserves results already saved, but a page limit, inaccessible continuation, or changing source list can leave a partial collection. A completed run does not prove that every historical item was available.

Frequently asked questions โ“

Does this return only broadcasts that are live now?

No. It reads the Live tab, which can include live, upcoming, and past broadcasts. Filter stream_status for your workflow.

Is views the live audience count?

Sometimes. Read views_text: a watching label differs from the displayed view count of a past broadcast.

Can it record a stream or export live chat?

No. It returns broadcast-listing metadata and does not record media or collect chat messages.

Is scheduled_start_time always available?

No. It is populated only when YouTube exposes a scheduled start value in the listing.

Can I poll the Actor to watch status changes?

You can schedule repeated runs and compare snapshots. Each run observes the public listing at collection time; it is not a continuous monitor.

For support, share the run ID and a safe public example input through the Actor's support channel. Keep tokens and credentials out of messages.

Use public data and media within the privacy, copyright, and other obligations that apply to your project.