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

Uploaded Source

Built Distribution

SlyYTDAPI-0.4.12-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slyytdapi-0.4.12.tar.gz
  • Upload date:
  • Size: 13.6 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.12.tar.gz
Algorithm Hash digest
SHA256 3a092d60a0a46008bbaaba6d87d831beba7023cc9af130a2f4d2ad7e57bd5e00
MD5 8c09e5aab0eff98d7e6b3284e70d9705
BLAKE2b-256 51d03d58a4d43f616fd5c7b3b5259c3413599fbc42ef5d6a2f7382f25dc84cc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: SlyYTDAPI-0.4.12-py3-none-any.whl
  • Upload date:
  • Size: 12.7 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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 b2a84a4d6349e6865fbcf28f74b722445b278c0896d9f773dc6b15e1ce49aa3a
MD5 e775e722dca8e3bad9c1cf16af5e1192
BLAKE2b-256 337f4292ac38c11bb99f294f54733bf2f23021d6129ee9554f11a39d7e08d761

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