Skip to main content

YouTube Data Extraction with py-yt-search

Features

  • Search YouTube for videos, channels, and playlists
  • Retrieve video information and available formats
  • Extract comments from videos
  • Get video transcripts in different languages
  • Fetch search suggestions from YouTube
  • Retrieve details of YouTube channels and their playlists

Installation

Make sure you have Python installed (>=3.8). Install py-yt-search using:

pip install git+https://github.com/AshokShau/py-yt-search@master
pip install py-yt-search

Usage

The script uses asyncio to execute YouTube queries asynchronously. Below is an overview of the main functions:

Search YouTube

_search = Search('NoCopyrightSounds', limit=1, language='en', region='US')
result = await _search.next()
print(result)

Search for Videos Only

videosSearch = VideosSearch('NoCopyrightSounds', limit=10, language='en', region='US')
videosResult = await videosSearch.next()
print(videosResult)

Search for Channels Only

channelsSearch = ChannelsSearch('NoCopyrightSounds', limit=1, language='en', region='US')
channelsResult = await channelsSearch.next()
print(channelsResult)

Search for Playlists Only

playlistsSearch = PlaylistsSearch('NoCopyrightSounds', limit=1, language='en', region='US')
playlistsResult = await playlistsSearch.next()
print(playlistsResult)

Get Video Details

video = await Video.get('z0GKGpObgPY')
print(video)

Get Playlist Details

playlist = await Playlist.get('https://www.youtube.com/playlist?list=PLRBp0Fe2GpgmsW46rJyudVFlY6IYjFBIK')
print(playlist)

Fetch Comments from a Video

comments = Comments('_ZdsmLgCVdU')
await comments.getNextComments()
print(len(comments.comments['result']))

Retrieve Video Transcript

transcript = await Transcript.get('https://www.youtube.com/watch?v=L7kF4MXXCoA')
print(transcript)

Get YouTube Search Suggestions

suggestions = await Suggestions.get('NoCopyrightSounds', language='en', region='US')
print(suggestions)

Running the Script

To run the script, execute:

python script.py

Ensure asyncio.run(main()) is at the end of the script to handle async execution.

Notes

  • The script uses asyncio for efficient asynchronous operations.
  • Some operations may require multiple calls to retrieve all available data (e.g., pagination for comments and playlists).
  • py-yt-search provides various search filters to refine results, such as sorting by upload date or filtering by duration.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Credits

This project is based on youtube-search-python by Alex Mercer.

Download files

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

Source Distribution

py_yt_search-0.7.3.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_yt_search-0.7.3-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file py_yt_search-0.7.3.tar.gz.

File metadata

  • Download URL: py_yt_search-0.7.3.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for py_yt_search-0.7.3.tar.gz
Algorithm Hash digest
SHA256 f067ec2904a7fa00980635ac6254658af7bedff2550f553483897025489b6273
MD5 03bb8174e8357160b113f8bb7d18b3f9
BLAKE2b-256 fb67e6a2c194394fc23fcddcf2a06803a1e10d7e608b31b17d14e3717b854ab4

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_yt_search-0.7.3.tar.gz:

Publisher: publish.yml on AshokShau/py-yt-search

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_yt_search-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: py_yt_search-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for py_yt_search-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bd350813a7db404a9e1900d5ac3b65bc2d0b54d9e8ee867173115d8c4a87e4d0
MD5 a7e1478db2e5a3563da07b1a009e3545
BLAKE2b-256 16e61a9f6ae0c49f398163db26e9d13c1ab3b5268f95b83ed89f8fa8601bd940

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_yt_search-0.7.3-py3-none-any.whl:

Publisher: publish.yml on AshokShau/py-yt-search

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.8.0

2 files

0.7.5

2 files

0.7.4

2 files

This release

0.7.3 This release

2 files

0.7.2

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

1 file

0.5.5

1 file

0.5.4

1 file

0.5.3

1 file

0.5.2

1 file

0.5.1

1 file

0.5

1 file

0.4

1 file

0.3

1 file

0.2

2 files

0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page