The YouTube Playlists Management API is a tool designed to help us manage our YouTube playlists more efficiently. It allows to perform bulk edits on playlists via rest calls.
Merge, delete, move videos between playlists. We provide rest api for all of that. The problem that
we tried to solve originally was - organize videos from Watch Later
to different playlists.
Unfortunately YT API doesn't provide access to the Watch Later
playlist, so we have csv import
functionality. Watch Later
contents can be exported via Google Takeout and then imported as a
manageable playlist to YPM.
We recommend pulling an image in case u want to start locally. Pull and start
ghcr.io/leingenm/ypm:main
. The app is going to be available at localhost:8080
.
We require setting up ur own auth 2.0 app in Google Console.
- Create a project and finish the basic configuration
- Enable
YouTube Data API v3
for your project - Go to the
Data access
and addhttps://www.googleapis.com/auth/youtube
>Save
- Go to the
Audience
> Add your Google account toTest users
- Go to
Credentials
> ClickCreate credentials
>OAuth client ID
- Select
Web application
in theApplication type
dropdown - We recommend adding the following to
Authorised JavaScript origins
http://localhost
https://ypmngr.xyz
- We recommend adding the following to
Authorised redirect URIs
http://localhost:8080/swagger-ui/oauth2-redirect.html
https://ypmngr.xyz/swagger-ui/oauth2-redirect.html
https://oauth.pstmn.io/v1/callback
Use ur OAuth 2.0 Client client_id
and client_secret
in our swagger (don't forget to
select the scope checkbox). First token exchange will require quite a few authorization screen
clicks which is connected with authorizing ur Google Console app to ur YT account data.
We welcome contributions from the community. Please read our Contributing Guide for more information on how to contribute to our project.
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or feedback, please feel free to contact us or create an issue or bug request in Issues.