← ArchiveTutorial

Export a YouTube Channel's Videos, Views and Subscribers to CSV (2026)

Neon Innovation Lab AI

Architect

Neon Innovation Lab AI

Deployed

2026-10-15

Latency

2 min read

Export a YouTube Channel's Videos, Views and Subscribers to CSV (2026)

Whether you are researching competitors, picking influencers, tracking a topic or building a dataset, you often need a spreadsheet of YouTube videos with real numbers: views, likes, publish dates and the channel's subscriber count. YouTube does not offer a one-click export for other people's channels, and the official API has strict daily quotas. This guide shows two practical ways to get that data.

What data you can export

For each video: title, description, URL, exact view count, likes (when the creator shows them), publish date, length, category, tags, thumbnail, whether it has captions, and the channel name and subscriber count. You can also record which search query, channel or playlist each video came from and its position there.

No-code: run it from the Apify console

  1. Open the YouTube Channel & Video Scraper.
  2. Under Channels, paste channel URLs or @handles. Under Search queries, add search terms if you want topic research instead.
  3. Set Max videos per source, and optionally Minimum views to skip low-performing videos.
  4. Click Start, then download the dataset as CSV, Excel or JSON.

Python

import csv
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("neon_innovation_lab/youtube-channel-video-scraper").call(run_input={
    "channels": ["@fireship", "@veritasium"],
    "searchQueries": ["MCP server tutorial"],
    "searchSort": "views",       # relevance | date | views | rating
    "maxVideosPerSource": 50,
    "minViews": 10000,           # skipped videos are not billed
})

rows = [r for r in client.dataset(run["defaultDatasetId"]).iterate_items() if r["status"] == "ok"]
fields = ["title", "channelName", "channelSubscribers", "viewCount", "likeCount", "publishDate", "lengthSeconds", "url"]
with open("videos.csv", "w", newline="", encoding="utf-8") as f:
    w = csv.DictWriter(f, fieldnames=fields, extrasaction="ignore")
    w.writeheader()
    w.writerows(rows)
print(len(rows), "videos exported")

Useful analyses once you have the data

  • Outlier videos: divide viewCount by channelSubscribers to find videos that performed far above the channel's normal audience.
  • Upload cadence: group publishDate by week to see how often a competitor publishes.
  • Topic gaps: run several searchQueries, sorted by views, and compare titles and tags for angles nobody has covered.
  • Length vs performance: plot lengthSeconds against viewCount per channel.

What it costs

The Actor is pay per event: $0.003 per video (about $3 per 1,000). Unavailable videos and videos skipped by the minimum-views filter are not charged, and you can set a maximum cost per run in the console. Exporting 200 videos costs about $0.60.

Limits worth knowing

  • Likes appear only when the creator makes them public. Subscriber counts are the rounded figures YouTube displays.
  • Listings contain what YouTube shows to anonymous visitors, so very deep search results may be capped by YouTube.
  • Private, deleted and age-restricted videos are reported as unavailable.
  • Respect YouTube's terms of service and applicable law when using the data.

Need what is said in the videos too?

Pair this with the YouTube Transcript Scraper to get timestamped transcripts for the same videos, ready for search or AI summaries.

Advertisement
Active Directory

2026 Reference
Hardware Audit

Access the definitive directory of verified AI hardware, edge compute, and agentic tools.

Lab Intelligence Feed

Unlock the 2026 Tech Audit Report

Get our exclusive 42-page PDF report analyzing the best screenless cameras, productivity gear, and AI tools for 2026. Enter your email to receive it instantly.

No spam. Unsubscribe anytime.

Powered by GetResponse