ParseForge Scrapers

YouTube Education Channels Scraper

parseforge/youtube-edu-channels-scraper

VideosSocial media

Scrape YouTube channels by handle, channel ID or URL. Get the real channel ID, subscribers, total views, video count, country, join date and links, plus each channel's latest videos with views, duration and publish time. One row per channel with 27 fields. Export to CSV, JSON or Excel.

Run this scraper See the API call
Total runs
143
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the YouTube Education Channels Scraper return?

ParseForge

YouTube Education Channels Scraper

Scrape YouTube channels by handle, channel ID or URL. Each channel comes back as one row with its real channel ID, subscribers, total views, video count, country, join date, links, and its latest uploads with views, duration and publish time. No API key or login. Export to CSV, JSON, Excel, or XML.

YouTube's official API needs a Google Cloud project, an API key and a daily quota. This Actor reads the public channel page and its About panel instead, so you paste a list of channels and get the numbers back. It was built for education channels like @veritasium or @khanacademy, and it works for any public channel.

Who uses it What they scrape YouTube Education Channels for
EdTech product managers Which education channels are growing fastest this quarter
Content strategists What topics top education creators published recently
Market researchers Audience size and output of education channels in a niche
Data analysts A dataset of education channel performance for trend analysis

What it does

  • ๐ŸŽฏ Flexible input: a handle (@veritasium or veritasium), a channel ID (UC...), or a channel URL (youtube.com/@name, youtube.com/channel/UC..., youtube.com/c/name).
  • ๐Ÿ“Š Channel stats: channel ID, subscribers (text and number), total views, video count, country, join date, verified badge.
  • ๐Ÿ”— Profile data: description, keywords, avatar, banner and the external links on the About panel.
  • ๐ŸŽฌ Recent videos: up to 100 of the channel's latest uploads from its Videos tab, each with video ID, URL, title, views, publish time, duration and thumbnail.
  • ๐Ÿงพ One row per channel: 27 fields per channel, plus 10 fields for each video inside recentVideos.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

Output

A real row, shortened (the run returned 10 videos for this channel):

{
  "type": "channel",
  "channelId": "UCHnyfMqiRRG1u-2MsSQLbXA",
  "name": "Veritasium",
  "handle": "@veritasium",
  "channelUrl": "https://www.youtube.com/@veritasium",
  "subscribers": "21.3M subscribers",
  "subscriberCount": 21300000,
  "totalViews": 4593745500,
  "videoCount": 536,
  "country": "United States",
  "createdDate": "2010-07-21",
  "isVerified": true,
  "links": [{ "title": "Patreon", "url": "patreon.com/veritasium" }],
  "recentVideos": [
    {
      "videoId": "JsBZOcqZerk",
      "videoUrl": "https://www.youtube.com/watch?v=JsBZOcqZerk",
      "title": "The Insane Real Engineering of the Nazi Enigma Machine",
      "viewCount": 5400000,
      "viewCountText": "5.4M views",
      "publishedTimeText": "3 days ago",
      "durationText": "47:42",
      "durationSeconds": 2862,
      "isLive": false
    }
  ],
  "recentVideosCount": 10,
  "error": null
}

All 27 channel fields: type, input, channelId, name, channelName, handle, channelHandle, url, channelUrl, subscribers, subscriberCountText, subscriberCount, totalViews, videoCount, description, country, createdDate, isVerified, imageUrl, avatarUrl, bannerUrl, keywords, links, recentVideos, recentVideosCount, scrapedAt, error.

Good to know:

  • subscriberCount is derived from YouTube's rounded display ("21.3M"), so it is accurate to three significant figures. totalViews and videoCount are exact.
  • videoCount counts every upload, including Shorts and past livestreams. recentVideos comes from the Videos tab, which lists long-form uploads only, so a channel can show fewer recent videos than its videoCount.
  • country is empty when the channel has not set one.

What you can do with YouTube Education Channels data

๐Ÿ“ˆ Track education channel growth. Run the Actor weekly on a list of handles and compare subscribers and total views between runs.

๐ŸŽ“ Curate learning resources. Pull the latest uploads from channels like CrashCourse and Khan Academy to build a reading list for a course module.

๐Ÿ” Research competitor content. Compare recent video titles, lengths and views across rival education channels to find gaps in your own plan.

๐Ÿ“Š Build a channel database. Collect channel IDs, countries, join dates and links for thousands of channels in one CSV.

Configure the run

Input What it does
handles The channels to scrape. Handles, UC... IDs and channel URLs can be mixed. Duplicates are removed.
maxItems How many channels to collect in the run.
maxVideosPerChannel How many recent videos to include per channel, 0 to 100. Default 10. Set 0 for channel stats only.

A first run with the defaults:

{
  "handles": ["@veritasium", "@3blue1brown", "@CrashCourse", "@khanacademy", "@TEDEd"],
  "maxItems": 10,
  "maxVideosPerChannel": 10
}

Mixed input with more videos per channel:

{
  "handles": ["UCsXVk37bltHxD1rDPwtNM8Q", "https://www.youtube.com/@minutephysics", "numberphile"],
  "maxItems": 3,
  "maxVideosPerChannel": 50
}

Free users

Free-plan runs return up to 10 channels as a preview. Upgrade your Apify plan to collect up to 1,000,000 channels per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the YouTube Education Channels Scraper.
  3. Paste your channels, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab. The Recent videos view shows one line per video.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to YouTube channel data through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/youtube-edu-channels-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

A channel came back with "Channel not found (404)".

The handle does not exist on YouTube. Open the channel in a browser and copy the handle or the UC... ID from the address bar. Error rows are free.

A channel has fewer recent videos than I asked for.

The Videos tab only lists long-form uploads. Channels that mostly post Shorts or livestreams have fewer entries there.

How fast is it?

In our test runs, 20 channels with 10 videos each finished in about 7 to 8 seconds.

FAQ

Question Answer
Do I need a YouTube API key? No. The Actor reads public channel pages, so no key or OAuth is needed.
What can I put in the input? A handle with or without @, a UC... channel ID, or a channel URL.
Is each video billed? No. You pay per channel row. The recent videos are included in that row.
Does this work for non-education channels? Yes. Any public YouTube channel works.
How many channels can I scrape in one run? Up to 1,000,000 with maxItems.
Is this legal? Only scrape public data you have the right to use, and check YouTube's terms of service for your use case.

Next step

Every row carries the channel's channelUrl, handle and channelId, plus the videoUrl and videoId of each video in recentVideos, so the other ParseForge YouTube Actors can take it from here:

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by YouTube LLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

What input does the YouTube Education Channels Scraper accept?

FieldTypeWhat it doesDefault
handles array YouTube channels to scrape. Each entry can be a handle (@veritasium or veritasium), a channel ID (UC...), or a channel URL (youtube.com/@veritasium, youtube.com/channel/UC..., youtube.com/c/name). ["@veritasium","@3blue1brown","@CrashCou
maxItems integer How many channels to collect per run. Each channel is one result. 10
maxVideosPerChannel integer How many of each channel's latest long-form uploads (Videos tab, newest first) to include in the recentVideos field, up to 100. Set 0 to skip videos. Videos are part of the channel's row and are not billed separately. 10

How much does the YouTube Education Channels Scraper cost?

from $0.50 per 1,000 results

Charged forWhat it isPrice each
result One YouTube channel row in the default dataset, including its recent videos. $0.0005 to $0.0013

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the YouTube Education Channels Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~youtube-edu-channels-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "handles": [
      "@veritasium",
      "@3blue1brown",
      "@CrashCourse",
      "@khanacademy",
      "@TEDEd"
    ],
    "maxItems": 10,
    "maxVideosPerChannel": 10
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "handles": [
    "@veritasium",
    "@3blue1brown",
    "@CrashCourse",
    "@khanacademy",
    "@TEDEd"
  ],
  "maxItems": 10,
  "maxVideosPerChannel": 10
}

What do users say about the YouTube Education Channels Scraper?

No reviews yet. Be the first.

How do I report an issue with the YouTube Education Channels Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run YouTube Education Channels Scraper on Apify All scrapers