Skip to main content

Python Client for Google's Private InnerTube API. Works with Youtube, YouTube Music and more!

Project description

innertube

Python Client for Google's Private InnerTube API. Works with YouTube, YouTube Music, YouTube Kids, YouTube Studio and more!

About

This library handles low-level interactions with the underlying InnerTube API used by each of the YouTube services.

Here are a few articles available online relating to the InnerTube API:

Installation

innertube uses Poetry under the hood and can easily be installed from source or from PyPI using pip.

Latest Release

pip install innertube

Bleeding Edge

pip install git+https://github.com/tombulled/innertube@develop

Usage

>>> import innertube
>>>
>>> # Construct a client
>>> client = innertube.InnerTube("WEB")
>>>
>>> # Get some data!
>>> data = client.search(query="foo fighters")
>>>
>>> # Power user? No problem, dispatch requests yourself
>>> data = client("browse", body={"browseId": "FEwhat_to_watch"})
>>>
>>> # The core endpoints are implemented, so the above is equivalent to:
>>> data = client.browse("FEwhat_to_watch")

Comparison with the YouTube Data API

The InnerTube API provides access to data you can't get from the Data API, however it comes at somewhat of a cost (explained below).

This Library YouTube Data API
Google account required No Yes
Request limit No* Yes**
Clean data No Yes

*Even the InnerTube API has some request limits, however these are so high that you'll likely never hit them.

**The YouTube Data API has a default quota allocation of 10,000 units per day. You can read more here.

The InnerTube API is used by a variety of YouTube services and is not designed for consumption by users. Therefore, the data returned by the InnerTube API will need to be parsed and sanitised to extract data of interest.

Endpoints

Currently only the following core, unauthenticated endpoints are implemented:

YouTube YouTubeMusic YouTubeKids YouTubeStudio
config
browse
player
next
search
guide
get_transcript
music/get_search_suggestions
music/get_queue

Authentication

The InnerTube API uses OAuth2, however this has not yet been implemented, therefore this library currently only provides unauthenticated API access.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

innertube-2.1.19.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

innertube-2.1.19-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file innertube-2.1.19.tar.gz.

File metadata

  • Download URL: innertube-2.1.19.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-142-generic

File hashes

Hashes for innertube-2.1.19.tar.gz
Algorithm Hash digest
SHA256 4fcfb2af13a4e602e4fa4a3c79855dbad4c4e7c389c9a75daa3876c552ca90e8
MD5 1e8c933993eabe2d877ed570a554c1e5
BLAKE2b-256 7c87e759b080c7eb697f1cb76445eafee666afb53387b1604f6aa6428f8dcd3f

See more details on using hashes here.

File details

Details for the file innertube-2.1.19-py3-none-any.whl.

File metadata

  • Download URL: innertube-2.1.19-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-142-generic

File hashes

Hashes for innertube-2.1.19-py3-none-any.whl
Algorithm Hash digest
SHA256 5c8d90a49e9a3f86c1820b137ff5a3ffb9324214da01f42016acd91767281317
MD5 ab504d739d551d8ef5cbf9d7bf870b36
BLAKE2b-256 45fce670fa42c51260e34b88a97f7f4c896ca913de8aa3cb94a751fa58f4e9f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page