YouTube Channel Live Videos
YouTube Channel Live Videos are public broadcast entries exposed on a specific channel's live surface, with video identity, channel context, thumbnails, timestamps, and visible engagement. Depending on what YouTube exposes for that channel, the collection can contain current, upcoming, or archived broadcasts without guaranteeing a normalized live-status label.
Features
- Canonical channel URL supportResolve public /@handle, /channel/{id}, /c/{name}, and /user/{name} YouTube URLs.
- Channel live-surface discoveryCollect broadcast entries made available on each submitted channel's live surface.
- Per-channel collection depthRequest 20 to 2,000 records for every input channel, with a default of 100.
- Normalized broadcast recordsReturn video identity, title, description, channel, thumbnail, duration, hashtags, publication time, and source context when available.
- Visible engagement snapshotsCapture public view, like, and comment counts together with collected_at for point-in-time analysis.
- Asynchronous result deliveryPoll task status, retain the task ID, and use cursor pagination for reliable asynchronous result delivery.
Parameters
| Parameters | Required | Description |
|---|---|---|
urls | Required | Public YouTube channel URLs separated by commas or new lines. Supported paths are /@handle, /channel/{id}, /c/{name}, and /user/{name}. |
results_limit | Optional | Maximum records requested for each channel URL. Must be an integer from 20 to 2,000 and defaults to 100. |
How to Use
Submit canonical public channel URLs and choose a collection depth for each one. The request creates an asynchronous task, so completion and result retrieval are separate steps.
- Prepare one or more public YouTube channel URLs using a supported handle, channel ID, custom, or user path.
- POST urls and results_limit to /v1/youtube/channel-live-videos and retain the returned task_id.
- Poll /v1/tasks/{task_id} until the task reaches succeeded or failed.
- Read result pages from /v1/tasks/{task_id}?limit=50 and pass next_cursor back as cursor while has_more is true.
curl -X POST "https://api.socq.ai/v1/youtube/channel-live-videos" \
-H "Authorization: Bearer $SOCQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls":["https://www.youtube.com/@YouTube"],"results_limit":20}'
# Poll GET /v1/tasks/{task_id}
# Read GET /v1/tasks/{task_id}?limit=50&cursor={next_cursor}Best Use Cases
- Broadcast inventory building: Create a structured list of public broadcasts associated with selected channels.
- Livestream programming research: Compare titles, timing, duration, and publishing patterns across channels with recurring live programming.
- Creator broadcast monitoring: Track which public broadcast records are visible on creator, brand, publisher, or competitor channel surfaces.
- Post-broadcast performance snapshots: Store visible views, likes, and comments with collection time for later trend comparisons.
- Public media catalog enrichment: Add normalized broadcast metadata and source-channel context to search, reporting, or classification systems.
Pro Tips
- results_limit applies to every channel. Five URLs with a limit of 100 request up to 500 records before task-wide deduplication.
- Use canonical channel URLs with a non-empty handle, channel ID, custom name, or user name; a bare /channel path cannot resolve a source.
- Treat the channel live surface as the eligibility boundary. Current, upcoming, and archived availability can change between collections.
- Do not infer a reliable current/upcoming/archived state from type or extra.content_type; the normalized payload has no dedicated live-status field.
- The response contains metadata and thumbnail references, not live chat, a playable stream URL, captions, or transcript text.
- Equivalent channel inputs can discover the same video. Saved task results deduplicate by normalized video ID, then by URL when no ID exists.
- Task result limit is separate from results_limit: request 1 to 500 saved rows per page and reuse the opaque next_cursor until has_more is false.
- Public metadata does not unlock private or members-only viewing. Preserve extra.is_members_only when the source reports that classification.
Related APIs
Use these APIs when you need a different type of public YouTube data.
- YouTube Channel Videos API — Collect regular public videos from channel URLs, excluding Shorts and live streams.
- YouTube Comments API — Collect public comments, authors, engagement, source videos, and conversation context.
- YouTube Transcripts API — Retrieve available plain-text transcripts with optional language selection.
- YouTube Channels API — Retrieve public channel identity, images, verification, and visible audience statistics.
- YouTube Videos API — Retrieve metadata, thumbnails, duration, and engagement for known video or Short URLs.
- YouTube Shorts API — Collect public Shorts, thumbnails, duration, publication details, and engagement by channel.
- YouTube Search API — Search public regular videos by keyword with supported metadata filters.
- YouTube Comment Replies API — Continue a known YouTube comment thread from its reply token and return public replies, authors, engagement, and parent context.
- YouTube Community Posts API — Collect public Community-tab posts from channel URLs, including text, channel identity, timestamps, image references, and source context.
- YouTube Hashtag Search API — Find public videos from hashtag feeds with all-content or Shorts-only collection.
- YouTube Playlist Videos API — Collect video identity, channel context, thumbnails, duration, and playlist provenance from public playlist URLs or IDs.
Combine YouTube data with public data from other supported social platforms.