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

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.14.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

innertube-2.1.14-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: innertube-2.1.14.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/5.15.0-101-generic

File hashes

Hashes for innertube-2.1.14.tar.gz
Algorithm Hash digest
SHA256 9b911903bcf933a609b5b80dd6b2704c5381f097b7ef88a15a63a26e5c4d74aa
MD5 53d08c9827c2467afa36008b3856dfdc
BLAKE2b-256 9974384a2b5814cc74a7bb5da9f96ce12a4db429c4054573ab96f7691ce9e5e8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for innertube-2.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 c15062b683e7979af5ca9fda307efbe1a99c2a18256c2903dce0dcf7c703ed9e
MD5 f54cae51b51797010e155f6ac8aae59b
BLAKE2b-256 5e0c1cbe887e938cb18cc6f88c42f7f74462d8331dda9791bb82857effd0117e

See more details on using hashes here.

Supported by

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