Search for YouTube videos WITHOUT YouTube Data API v3
Project description
youtube-search-python
Search for videos, channels & playlists in YouTube WITHOUT YouTube Data API v3.
Works without YouTube Data API v3 and has zero dependencies.
This library is intended for personal and non-commercial usage only.
Working as of 2020.
Install
pip install youtube-search-python
Usage
Search for everything
from youtubesearchpython import Search
allSearch = Search('NoCopyrightSounds', limit = 1)
print(allSearch.result())
Example Result
{
"result": [
{
"type": "channel",
"id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwngbenDpBxHNZlecDGyccHeVyQB22dPZnPuhbW8LHw=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwngbenDpBxHNZlecDGyccHeVyQB22dPZnPuhbW8LHw=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "850",
"descriptionSnippet": [
{
"text": "NoCopyrightSounds",
"bold": true
},
{
"text": " is a copyright free / stream safe record label, providing free to use music to the content creator community."
}
],
"subscribers": "28.7M subscribers",
"link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
},
]
}
Search for only videos
from youtubesearchpython import VideosSearch
videosSearch = VideosSearch('NoCopyrightSounds', limit = 2)
print(videosSearch.result())
Example Result
{
"result": [
{
"type": "video",
"id": "K4DyBUG242c",
"title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release]",
"publishedTime": "5 years ago",
"duration": "3:28",
"viewCount": {
"text": "389,673,774 views",
"short": "389M views"
},
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBkTusCwcZQlmVAaRQ5rH-mvBuA1g",
"width": 480,
"height": 270
}
],
"descriptionSnippet": [
{
"text": "NCS: Music Without Limitations NCS Spotify: http://spoti.fi/NCS Free Download / Stream: http://ncs.io/onandon \u25bd Connect with\u00a0..."
}
],
"channel": {
"name": "NoCopyrightSounds",
"id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
"thumbnails": [
{
"url": "https://yt3.ggpht.com/a-/AOh14GhS0G5FwV8rMhVCUWSDp36vWEvnNs5Vl97Zww=s68-c-k-c0x00ffffff-no-rj-mo",
"width": 68,
"height": 68
}
],
"link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
},
"accessibility": {
"title": "Cartoon - On & On (feat. Daniel Levi) [NCS Release] by NoCopyrightSounds 5 years ago 3 minutes, 28 seconds 389,673,774 views",
"duration": "3 minutes, 28 seconds"
},
"link": "https://www.youtube.com/watch?v=K4DyBUG242c",
"shelfTitle": null
},
{
"type": "video",
"id": "yJg-Y5byMMw",
"title": "Warriyo - Mortals (feat. Laura Brehm) [NCS Release]",
"publishedTime": "3 years ago",
"duration": "3:50",
"viewCount": {
"text": "153,353,801 views",
"short": "153M views"
},
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/yJg-Y5byMMw/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDY-mve79IweErMo-71AsKEIB1m0A",
"width": 480,
"height": 270
}
],
"descriptionSnippet": [
{
"text": "NCS: Music Without Limitations NCS Spotify: http://spoti.fi/NCS Free Download / Stream: http://ncs.io/mortals Connect with NCS:\u00a0..."
}
],
"channel": {
"name": "NoCopyrightSounds",
"id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
"thumbnails": [
{
"url": "https://yt3.ggpht.com/a-/AOh14GhS0G5FwV8rMhVCUWSDp36vWEvnNs5Vl97Zww=s68-c-k-c0x00ffffff-no-rj-mo",
"width": 68,
"height": 68
}
],
"link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
},
"accessibility": {
"title": "Warriyo - Mortals (feat. Laura Brehm) [NCS Release] by NoCopyrightSounds 3 years ago 3 minutes, 50 seconds 153,353,801 views",
"duration": "3 minutes, 50 seconds"
},
"link": "https://www.youtube.com/watch?v=yJg-Y5byMMw",
"shelfTitle": null
}
]
}
Search for only channels
from youtubesearchpython import ChannelsSearch
channelsSearch = ChannelsSearch('NoCopyrightSounds', limit = 10, region = 'US')
print(channelsSearch.result())
Example Result
{
"result": [
{
"type": "channel",
"id": "UC_aEa8K-EOJ3D6gOs7HcyNg",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwngbenDpBxHNZlecDGyccHeVyQB22dPZnPuhbW8LHw=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwngbenDpBxHNZlecDGyccHeVyQB22dPZnPuhbW8LHw=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "850",
"descriptionSnippet": [
{
"text": "NoCopyrightSounds",
"bold": true
},
{
"text": " is a copyright free / stream safe record label, providing free to use music to the content creator community."
}
],
"subscribers": "28.7M subscribers",
"link": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"
},
{
"type": "channel",
"id": "UCg-vlcyvOyNVPV6Neogmubg",
"title": "NoCopyrightSounds Hindi",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwnjDHXULXSvX7u71Rmb2f-Cqly0ron2F1N3szu8Y=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwnjDHXULXSvX7u71Rmb2f-Cqly0ron2F1N3szu8Y=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "56",
"descriptionSnippet": [
{
"text": "The Official NCS HINDI Songs Channel for Nocopyright hindi audios."
}
],
"subscribers": "13.7K subscribers",
"link": "https://www.youtube.com/channel/UCg-vlcyvOyNVPV6Neogmubg"
},
{
"type": "channel",
"id": "UCrL9x8LllOU2LOVgTo951kA",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwnhXShCsmo9VwL4KC8j3GNHgHyBBJ0RCmbAUKrwg=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwnhXShCsmo9VwL4KC8j3GNHgHyBBJ0RCmbAUKrwg=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "2",
"descriptionSnippet": [
{
"text": "NCS [NopCopyrightSounds] is a channel dedicated to promoting the best FREE DOWNLOAD music on the net. Every track\u00a0..."
}
],
"subscribers": "1.71K subscribers",
"link": "https://www.youtube.com/channel/UCrL9x8LllOU2LOVgTo951kA"
},
{
"type": "channel",
"id": "UCYZvaL6G3m4-UbvWGlyFeLg",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwnisxA4V_U0Ffh0K-cdnqwGZjs62hKv2-IAfzIqc=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwnisxA4V_U0Ffh0K-cdnqwGZjs62hKv2-IAfzIqc=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "33",
"descriptionSnippet": null,
"subscribers": null,
"link": "https://www.youtube.com/channel/UCYZvaL6G3m4-UbvWGlyFeLg"
},
{
"type": "channel",
"id": "UCi7xVhyWWf2eTc0GO0Ty9HQ",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwngOJ2zbLEkNs96PNp0g9h27l64mwRFhR1vZ9W7u=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwngOJ2zbLEkNs96PNp0g9h27l64mwRFhR1vZ9W7u=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "1 video",
"descriptionSnippet": null,
"subscribers": "2 subscribers",
"link": "https://www.youtube.com/channel/UCi7xVhyWWf2eTc0GO0Ty9HQ"
},
{
"type": "channel",
"id": "UCOSiFTIAReRzkPBXaQAuXCQ",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwng1UBDlLdYyqTofL6x_5hqPMTFnMXxAN9C9_t8Y=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwng1UBDlLdYyqTofL6x_5hqPMTFnMXxAN9C9_t8Y=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "8",
"descriptionSnippet": [
{
"text": "YGW MEDIA GROUP 04."
}
],
"subscribers": "11 subscribers",
"link": "https://www.youtube.com/channel/UCOSiFTIAReRzkPBXaQAuXCQ"
},
{
"type": "channel",
"id": "UCSFpIv5SZlg4ub_IWgGKkIA",
"title": "NoCopyrightSounds Lyrics",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwng_J1igSuKFWowZ8OFpT1dPCPgzqEvVkGImwM3Dpg=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwng_J1igSuKFWowZ8OFpT1dPCPgzqEvVkGImwM3Dpg=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "82",
"descriptionSnippet": [
{
"text": "Welcome To "
},
{
"text": "NoCopyrightSounds",
"bold": true
},
{
"text": " Lyrics "
},
{
"text": "NoCopyrightSounds",
"bold": true
},
{
"text": " lyrics provides music from a variety of licenses that are certainly\u00a0..."
}
],
"subscribers": null,
"link": "https://www.youtube.com/channel/UCSFpIv5SZlg4ub_IWgGKkIA"
},
{
"type": "channel",
"id": "UCcE-Gvu5j55MdREM1a4_EqA",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwnhbzZwQIVabdGA1SteO2BCtmrG3uT_cpzmJvtBY=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwnhbzZwQIVabdGA1SteO2BCtmrG3uT_cpzmJvtBY=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "6",
"descriptionSnippet": null,
"subscribers": "166 subscribers",
"link": "https://www.youtube.com/channel/UCcE-Gvu5j55MdREM1a4_EqA"
},
{
"type": "channel",
"id": "UCCOWDgeFmwW--woYtCYws8Q",
"title": "NoCopyrightSounds 1 HOUR",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwnipj6lV7p6i8Mq7uAlDj5qHsQkiwgwdtPs_vCKy=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwnipj6lV7p6i8Mq7uAlDj5qHsQkiwgwdtPs_vCKy=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "689",
"descriptionSnippet": [
{
"text": "NoCopyrightSounds",
"bold": true
},
{
"text": " is a record label dedicated to releasing FREE music for the sole purpose of providing creators with the finest\u00a0..."
}
],
"subscribers": null,
"link": "https://www.youtube.com/channel/UCCOWDgeFmwW--woYtCYws8Q"
},
{
"type": "channel",
"id": "UCSI5zGuirscirQc6UOy_yww",
"title": "NoCopyrightSounds",
"thumbnails": [
{
"url": "//yt3.ggpht.com/ytc/AAUvwni92w-CAOUnlNfyIVxdCmvMoQmENZbw1wjFOQKjug=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.ggpht.com/ytc/AAUvwni92w-CAOUnlNfyIVxdCmvMoQmENZbw1wjFOQKjug=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"videoCount": "29",
"descriptionSnippet": [
{
"text": "NoCopyrightSounds",
"bold": true
},
{
"text": " is a Record Label dedicated to giving a platform to the next generation of Artists in Electronic Music,\u00a0..."
}
],
"subscribers": null,
"link": "https://www.youtube.com/channel/UCSI5zGuirscirQc6UOy_yww"
}
]
}
Search for only playlists
from youtubesearchpython import PlaylistsSearch
playlistsSearch = PlaylistsSearch('NoCopyrightSounds', limit = 1)
print(playlistsSearch.result())
Example Result
{
"result": [
{
"type": "playlist",
"id": "PLGde6kPURikrUszpUgafLZiOgr5o7pBF0",
"title": "NoCopyrightSounds",
"videoCount": "6",
"channel": {
"name": "Bruno Neves",
"id": "UCtqpCV2HkMCSi5InFNBNv0g",
"link": "https://www.youtube.com/channel/UCtqpCV2HkMCSi5InFNBNv0g"
},
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBw6Bf7J9COwl1LxqhmGbSQgdFj3w",
"width": 168,
"height": 94
},
{
"url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBjJCIZlrSGSPjc-7yKc0QQuWRdhg",
"width": 196,
"height": 110
},
{
"url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCRIQ0IochteE0KM2tlK2PVVAQKhA",
"width": 246,
"height": 138
},
{
"url": "https://i.ytimg.com/vi/K4DyBUG242c/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAQYBDz8gWKw_q4Zyb_H6J_DdZCaA",
"width": 336,
"height": 188
}
],
"link": "https://www.youtube.com/playlist?list=PLGde6kPURikrUszpUgafLZiOgr5o7pBF0"
}
]
}
Search with a filter or sort
from youtubesearchpython import *
customSearch = CustomSearch('NoCopyrightSounds', VideoSortOrder.uploadDate, limit = 1)
print(customSearch.result())
Example Result
{
"result": [
{
"type": "video",
"id": "k8-drvf4Ruo",
"title": "Ambient Music 2020 \ud83c\udfb5 voices \ud83c\udfb5 NoCopyrightSounds",
"publishedTime": "30 minutes ago",
"duration": "2:29",
"viewCount": {
"text": "4 views",
"short": "4 views"
},
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/k8-drvf4Ruo/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDomB-9ivVHpwci6STdNAqQBMBzJA",
"width": 360,
"height": 202
},
{
"url": "https://i.ytimg.com/vi/k8-drvf4Ruo/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCPrVwYygJ3627h8F-oU3khKehm4g",
"width": 720,
"height": 404
}
],
"descriptionSnippet": [
{
"text": "Don't forget to like & share if you enjoy it."
}
],
"channel": {
"name": "Sky Sound",
"id": "UCQT8W5qZn7TCZBW39dVoaBw",
"thumbnails": [
{
"url": "https://yt3.ggpht.com/a-/AOh14GhxrkkF27iL3sLTKzWLu3rrO-qtQ7uMPg4SqA=s68-c-k-c0x00ffffff-no-rj-mo",
"width": 68,
"height": 68
}
],
"link": "https://www.youtube.com/channel/UCQT8W5qZn7TCZBW39dVoaBw"
},
"accessibility": {
"title": "Ambient Music 2020 \ud83c\udfb5 voices \ud83c\udfb5 NoCopyrightSounds by Sky Sound 30 minutes ago 2 minutes, 29 seconds 4 views",
"duration": "2 minutes, 29 seconds"
},
"link": "https://www.youtube.com/watch?v=k8-drvf4Ruo",
"shelfTitle": null
}
]
}
You may see the example for more information.
Getting Result On The Next Pages
You may call next
method as follows, to get the results on the next pages.
Calling result
method after calling next
will give you result on that the next page.
search = VideosSearch('NoCopyrightSounds')
print(search.result()['result'])
# Getting result on 2nd page.
search.next()
print(search.result()['result'])
# Getting result on 3rd page.
search.next()
print(search.result()['result'])
# Getting result on 4th page.
search.next()
print(search.result()['result'])
Configuration
While instantiating any of the classes, you may provide optional parameters as follows to get the results accordingly.
search = Search('NoCopyrightSounds', limit = 20, language = 'en-US', region = 'US')
You may switch between the types of result, by changing the value of mode
optional parameter while calling the result
method.
Getting JSON
result = search.result(mode = ResultMode.json)
Getting dictionary
result = search.result(mode = ResultMode.dict)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file youtube-search-python-1.3.3.tar.gz
.
File metadata
- Download URL: youtube-search-python-1.3.3.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e2349eb0f4729089ca85bcd0d393d130c3a0fdb3298b0dbc189fcd4c4e558b0 |
|
MD5 | 89e36d1b0f5710c523976c67df1a9666 |
|
BLAKE2b-256 | 51191b77ce8b91b23ed2f17471fe4493c3bc3c558a4df3166d4da2e8fae1801d |
File details
Details for the file youtube_search_python-1.3.3-py3-none-any.whl
.
File metadata
- Download URL: youtube_search_python-1.3.3-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90c23906d6fc83b056964563a5a808a441c00fb4e57a719267cea9867fde857b |
|
MD5 | b872e497eed601687183b0b954ebfa9a |
|
BLAKE2b-256 | c4100f0df0aaec7bb172bf5bcc23a083c957920f688f9cf6f2d842eaa37832fd |