Getting found · Edition No. 3 · 28 Aug 2026

sns-sdks/python-youtube

A Python wrapper around the YouTube Data interface that returns channels, videos, playlists and comments as Python objects.

← Getting foundRead the whole edition →
07

sns-sdks/python-youtube

💎 hidden gem
python-youtube: channel data in Python. Reads a video platform's public data as Python objects.

353 stars · MIT · v0.9.9 (2026-04-17) · Track this in Rising ↗

Clean typed Python wrapper for the YouTube Data API — competitor catalogues, weekly deltas and description chores in a cron job.

Verified27 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive30

Last code pushed 17 Apr 2026, 6 months before this check.

Releases50

Latest release v0.9.9 on 17 Apr 2026.

Maturity90

Public since March 2019, a little over 7 years.

Adoption51

352 stars and 50 forks.

Activity0

0 commits and 0 new issues in the last 90 days.

Community60

22 contributors. No pull requests merged in 90 days; changes go in directly.

Security40

No security policy file says how to report a problem. No published security advisories.

Licence MIT: permissive: use it for anything, keep the noticeSetup effort 2 of 5Payoff 4 of 5
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 3.

▶Repo detailsthe review · specs · pros & cons · install

What it does

You install it and create a client with either a simple access key or a user-authorised token. It covers the platform's public data methods, including the ones that create and change things, and the README says all resource methods are covered. It handles the sign-in dance that produces a user token. Results come back as Python objects with a .to_dict() method, or as the raw reply if you ask for that with return_json=True. The project recommends the newer pyyoutube.Client interface and keeps the older pyyoutube.Api for code that already uses it. It is 542 commits and 352 stars, with 15 issues open, and MIT licensed. What it does not do is reach the private measurements: this is the public data interface only, so the numbers an owner sees about how long people watched and how often they clicked are not here, and the README does not state a minimum Python version.

Why it matters

Who it suits. Anyone who wants to watch a set of channels over time rather than look at one dashboard today. Three jobs become short scripts: list every video from a set of channels and compare the list weekly, so a new topic from someone else arrives as a message rather than a discovery months later; record titles, views and descriptions into a database each night, so you can see which ones grew; and rewrite the same block of text across forty descriptions in one pass. Skip it if what you want is the private measurements, because those live behind a different interface.

Verdict. Worth two hours, and it is the smallest project in this edition at 352 stars. The small size is the risk and the honest reason it is called a gem: it is a thin, typed wrapper that one maintainer has kept tidy across 542 commits, and if it stopped tomorrow the code it replaces is well documented. Three practical warnings. The daily reading allowance is a real ceiling, and a careless search loop will spend it before lunch. Setting up a project with the platform's owner and getting through the consent screen is a genuinely tedious first hour. And the mirror this report uses for code dates refused this repository on five attempts, so there is no code date here; currency rests on release 0.9.9 of 17 April 2026, and it is explicitly not called dormant. The official alternative is googleapis/google-api-python-client, which is in maintenance mode by its own statement.

Stars353
LicenceMIT
Latestv0.9.9 (2026-04-17)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Summary (Key Points)from the README
Key features
  • Full Data API coverage: The library covers all YouTube Data API V3 resource methods, including insert and update operations.
  • Two interfaces: It offers `pyyoutube.Client` and the older `pyyoutube.Api`, with separate docs and examples for each.
  • API key access: You can initialize either interface with an API key to read public data.
  • Access token support: You can initialize with an access token to reach data that requires authorization.
  • OAuth flow: The library can run an OAuth flow so a user grants access to their account.
  • Channel lookups: The README's example shows fetching channel details.
  • Examples and docs: Usage examples are in `examples/clients` and `examples/apis`, with fuller guides in the `docs` folder.
Important
  • Prefer the Client: The README recommends `pyyoutube.Client` because it is more modern and feature rich than `pyyoutube.Api`.
  • Authorization needed for some data: Some YouTube data requires an access token or OAuth, so an API key alone will not cover every call.
  • Access token setup: Getting an access token is not covered in the README itself and requires reading the linked docs.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, pure Python and typed, so it installs into an existing environment without a dependency fight.
  • Replies arrive as objects, with the raw version still available when you need it.
  • It turns watching other people's channels into a scheduled script rather than an afternoon of clicking.
Watch for
  • Public data only: the private watch-time and click-through numbers are behind a different interface.
  • A daily reading allowance that a careless loop will exhaust, plus a tedious first hour of access setup.
  • 352 stars and one maintainer, and no code date could be obtained for this rewrite.
Install
python3 -m venv venv
source venv/bin/activate
pip install --upgrade python-youtube
Screenshots
sns-sdks/python-youtube: GitHub preview card

On Stack Radar: Marketing & Growth › Social Media Marketing › Social Listening.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.