Skip to main content

No-boilerplate, async and typed YouTube Data API access.

Project description

sly logo Sly YouTube Data API for Python

🚧 This library is an early work in progress! Breaking changes may be frequent.

🐍 For Python 3.10+

No-boilerplate, async, typed access to YouTube Data API 😋

pip install slyytdapi

This library does not have full coverage. All methods are read-only. Currently, the following topics are supported:

  • Videos & Playlists
  • Channels
  • Comment threads
  • Video search
  • Channel members (requires approval from YouTube)

For collecting statistics about your own channel using the YouTube analytics API, see YTAAPI.


Example usage:

import asyncio
from SlyYTDAPI import *

async def main():
    # don't forget to keep your secrets secret!
    yt = YouTubeData(open('api_key.txt').read())

    my_video = await yt.video('dQw4w9WgXcQ')
    print(F"Check this out!\n{my_video.link()}")

    # keep it simple
    _ = await my_video.comments(limit=10) # list[Comment]

    # or opt in to generators
    print('\n---\n'.join([
        F"{c.author_name} > {c.body}"
        async for c in my_video.comments(limit=10)
    ]))
    
asyncio.run(main())

Access to YouTube Data API is free is limited by a quota. See YouTube's determine quota cost article for more information.

If you are using OAuth2 instead of an API Key, a CLI is provided to grant credentials to yourself:

# WINDOWS
py -m SlyYTDAPI grant
# MacOS or Linux
python3 -m SlyYTDAPI grant

Both methods require a Google Cloud Console account and project credentials. Please see https://docs.dunkyl.net/SlyAPI-Python/tutorial/oauth2.html for more information.

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

slyytdapi-0.4.11.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

SlyYTDAPI-0.4.11-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file slyytdapi-0.4.11.tar.gz.

File metadata

  • Download URL: slyytdapi-0.4.11.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.0

File hashes

Hashes for slyytdapi-0.4.11.tar.gz
Algorithm Hash digest
SHA256 e208776847ed5fc0513717e4def55d4145465d9fa80437c6467d370b7df6e9e6
MD5 347720e3da4f63e615d1274d91a7b9db
BLAKE2b-256 c84b4f723ba59b36ff7b6034e3c2e2b1ad215f4e796bcd775e0d5fd1f1a121e3

See more details on using hashes here.

File details

Details for the file SlyYTDAPI-0.4.11-py3-none-any.whl.

File metadata

  • Download URL: SlyYTDAPI-0.4.11-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.0

File hashes

Hashes for SlyYTDAPI-0.4.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f4f2e106c00efc2519fa6cd04943bb4bcb6cf1798d4f96d2704f52d2768894b9
MD5 e50317c32b6dac1180701d3728e6e1a4
BLAKE2b-256 6a6c190bc7e983801b7af36f5127b459ecc185eb44046b89c8154c07c6518c21

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