tyrrrz/youtubeexplode

Abstraction layer over YouTube's internal API

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on September 18th, 2026
Created on August 9th, 2016
Open Issues & Pull Requests: 10 (+0)
GitHub issues: Enabled
Number of forks: 594
Total Stargazers: 3,726 (+0)
Total Subscribers: 98 (-1)

Repository Insights (GitGenius)

Median issue/PR response: 10.6 hours
Mean response time: 9.7 days
90th percentile: 10.0 days
Tracked items: 68

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 8
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 497 days
Stale 30+ days: 4
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 3
Events in 7 days: 3

Top labels

  • bug (30)
  • invalid (20)
  • bug/caused by youtube (18)
  • help wanted (17)
  • duplicate (14)
  • question (4)
  • enhancement (2)
  • bug/can't reproduce (1)

Most active issues this week

Detailed Description

YoutubeExplode is a .NET library that provides an abstraction layer over YouTube's internal API for querying metadata and downloading content.

The library solves the problem of programmatically accessing YouTube video, playlist, and channel information without relying on an official API. It works by scraping raw page data and reverse-engineering YouTube's internal endpoints to extract metadata, resolve video streams, and retrieve closed caption tracks. The tool exposes its functionality through a single entry point, the YoutubeClient class, with operations organized under Videos, Playlists, Channels, and Search properties.

Developers should choose this library if they need to build .NET applications that interact with YouTube content at scale or require access to stream metadata and download capabilities. It suits projects that need to work with video streams in various quality levels, including audio-only and video-only variants. An extension package, YoutubeExplode.Converter, provides integration with FFmpeg for downloading and converting videos. The library is distributed as a NuGet package and can be internalized as a dependency if preferred.

The project maintains active engagement with reverse-engineering challenges as YouTube's internal structures change, evidenced by documentation of the engineering approach. Development is community-funded through donations. The tool handles the complexity of YouTube's stream categorization, including the deprecation of muxed streams and the need to separately resolve and combine audio and video streams for highest quality output.