YouTube channel video catalog scraper in n8n
Get a YouTube channel's profile details (subscribers, description, links, verification) together with its video, Shorts, playlist or live-stream catalog, for one channel or many at once.
What this workflow does
Import it and n8n runs the YouTube Channel Video Catalog & Profile Scraper Actor on Apify every day at 08:00 with the starter input below. Each row comes back with title, video id, views, duration and 45 more; repeats with the same url are dropped. A Google Sheets append is included and stays off until you add your sheet. The only credential it needs is your Apify API token.
Read from the workflow file, built for YouTube Channel Video Catalog & Profile Scraper version 1.0.2. Updated 2026-11-14.How the rows travel
6 nodes, in the order n8n runs them. The yellow stop is the call to the Apify Actor; the dashed stop is optional.
- Daily trigger Schedule trigger
- Configure input Code
- Run Apify Actor HTTP Request
- Normalize + dedupe Code
- Rows ready No operation
- Google Sheets (optional) Google Sheets, off until you switch it on
From the Short
This workflow is the one the video points to: the number in each video opens this page.
Input
The Configure input node holds the starter input. Change it there; every setting the Actor accepts is listed below.
{
"channelUrls": [
"https://www.youtube.com/@Apify"
],
"maxVideos": 25
} | Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| channelUrls | array | Yes | – | YouTube channel URLs, handles (@username), or channel IDs (UCxxx). Accepts any format. |
| maxVideos | integer | No | 50 | Maximum number of videos to scrape per channel. Set to 0 to get only channel info without videos. |
| sortVideosBy | string | No | newest | How to sort the channel's video listings. If YouTube does not offer the chosen sort for a channel, newest-first is used. One of: newest, popular, oldest. |
| sortShortsBy | string | No | newest | How to sort the channel's Shorts listing (when includeShorts is enabled). Falls back to newest-first when the channel offers no Shorts sort. One of: newest, popular, oldest. |
| includeAbout | boolean | No | true | Extract total views, join date, location, country, and external links from the channel About page. |
| includeShorts | boolean | No | false | Scrape the channel Shorts tab and include Shorts in the output. |
| maxShorts | integer | No | 20 | Maximum number of Shorts to return (when includeShorts is enabled). |
| includeLiveVideos | boolean | No | false | Scrape the channel Live/Streams tab and include live, upcoming, and past streams. |
| maxLiveVideos | integer | No | 20 | Maximum live/stream videos to return (when includeLiveVideos is enabled). |
| includePlaylists | boolean | No | false | Scrape the channel Playlists tab and include playlist metadata in the output. |
| maxPlaylists | integer | No | 20 | Maximum number of playlists to scrape (when includePlaylists is enabled). |
| includePodcasts | boolean | No | false | Scrape the channel Podcasts tab and include podcast shows (when the channel has one). |
| maxPodcasts | integer | No | 50 | Maximum number of podcast shows to return (when includePodcasts is enabled). |
| includeCourses | boolean | No | false | Scrape the channel Courses tab and include course playlists (when the channel has one). |
| maxCourses | integer | No | 50 | Maximum number of courses to return (when includeCourses is enabled). |
| includeReleases | boolean | No | false | Scrape the channel Releases tab and include release playlists (when the channel has one). |
| maxReleases | integer | No | 50 | Maximum number of releases to return (when includeReleases is enabled). |
| includeMembersOnly | boolean | No | false | Also list members-only videos (titles and public metadata) when YouTube offers the Members-only filter for this channel. |
| includeExactMetrics | boolean | No | true | Also fetch each video's exact view and like counts, duration, publish date, category, and description. Turn off for faster, cheaper runs with listing-page values only. |
| market | string | No | US | Country used for regional content availability and localized results (YouTube gl parameter). 31 choices. |
| language | string | No | en | Language for YouTube's interface text (relative dates like "2 days ago"). Titles and descriptions stay in the creator's own language. 17 choices. |
What each row holds
Every field the Actor returns stays in the row (49 in its dataset schema). Normalize + dedupe trims text, drops empty fields, removes repeats with the same url and adds _source and _scrapedAt. The main fields:
| Field | What it is |
|---|---|
| title | Title |
| videoId | Video ID |
| viewCount | Views |
| duration | Duration |
| publishedTimeText | Published |
| url | URL |
| authorMetadata.channelName | Channel |
| authorMetadata.subscriberCount | Subscribers |
What the first run costs
Each run starts at $0.40 on the Free plan (4 GB of memory), then $0.99 per 1,000 results, plus platform usage.
The Actor lists $0.99 per 1,000 results; its catalogue page breaks the price down by Apify plan. The Apify Free plan includes $5 of usage a month.
The Actor behind it
YouTube Channel Video Catalog & Profile Scraper: Get a YouTube channel's profile details (subscribers, description, links, verification) together with its video, Shorts, playlist or live-stream catalog, for one channel or many at once.
The same job from an AI agent
The matching agent skill gives Claude Code, Codex, Cursor and other agents the same Actor, input and fields. Install it in one line:
npx skills add https://scraperfinder.com --skill youtube-channel-video-catalog-and-profile-scraper The youTube channel video catalog scraper skill, with manual install and run steps
Questions people ask
How do I import this workflow into n8n?
Copy https://scraperfinder.com/n8n/youtube-channel-video-catalog-and-profile-scraper.json. In n8n, open a new workflow, click the three-dot menu, choose Import from URL and paste it. Or download the JSON file and use Import from File; both give the same 6 nodes.
Do I need an Apify account?
Yes. The workflow calls the YouTube Channel Video Catalog & Profile Scraper Actor through the Apify API with your own token, and each run is billed to your Apify account. The Free plan includes $5 of usage a month.
What does a run cost?
Each run starts at $0.40 on the Free plan (4 GB of memory), then $0.99 per 1,000 results, plus platform usage. The Actor's Store page shows the current price.
Can I change what it collects?
Yes: edit the input object in the Configure input node. The Actor takes 21 settings; the table on this page lists each one with its default. Raise maxVideos once the first rows look right.
Does it work without Google Sheets?
Yes. The rows wait in the Rows ready node, so you can connect any other node there: a database, Airtable, a webhook or an email. The Google Sheets node is only one option.