A light weight Python library for the Spotify Web API
Project description
Spotipy
Spotipy is a lightweight Python library for the Spotify Web API. With Spotipy you get full access to all of the music data provided by the Spotify platform.
Table of Contents
Features
Spotipy supports all of the features of the Spotify Web API including access to all end points, and support for user authorization. For details on the capabilities you are encouraged to review the Spotify Web API documentation.
Documentation
Spotipy's full documentation is online. Some function may need a specific scope. If you do not define the scope properly ERROR 401 Unauthorized, permission missing
may occur.
Installation
pip install spotipy
alternatively, for Windows users
py -m pip install spotipy
or upgrade
pip install spotipy --upgrade
Quick Start
A full set of examples can be found in the online documentation and in the Spotipy examples directory.
To get started, install spotipy, create a new account or log in on https://developers.spotify.com/. Go to the dashboard, create an app and add your new ID and SECRET (ID and SECRET can be found on an app setting) to your environment (step-by-step video):
Example without user authentication
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET"))
results = sp.search(q='weezer', limit=20)
for idx, track in enumerate(results['tracks']['items']):
print(idx, track['name'])
Expected result:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
Example with user authentication
A redirect URI must be added to your application at My Dashboard to access user authenticated features.
import spotipy
from spotipy.oauth2 import SpotifyOAuth
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET",
redirect_uri="YOUR_APP_REDIRECT_URI",
scope="user-library-read"))
results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
track = item['track']
print(idx, track['artists'][0]['name'], " – ", track['name'])
Expected result will be the list of music that you liked. For example if you liked Red and Sunflower, the result will be:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
Reporting Issues
For common questions please check our FAQ.
You can ask questions about Spotipy on Stack Overflow. Don’t forget to add the Spotipy tag, and any other relevant tags as well, before posting.
If you have suggestions, bugs or other issues specific to this library, file them here. Or just send a pull request.
Contributing
If you are a developer with Python experience, and you would like to contribute to Spotipy, please be sure to follow the guidelines listed on documentation page
Visit the guideline
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 spotipy-2.24.0.tar.gz
.
File metadata
- Download URL: spotipy-2.24.0.tar.gz
- Upload date:
- Size: 41.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 396af81e642086551af157270cdfe742c1739405871ba9dac1fa651b8649ef0d |
|
MD5 | 5c3e3464f63fd3eb31b563f9fbe71abe |
|
BLAKE2b-256 | 9b10145a649207a9d4067846045cca71262b8ea2140d1df3fa78581fbf1b9ec0 |
File details
Details for the file spotipy-2.24.0-py3-none-any.whl
.
File metadata
- Download URL: spotipy-2.24.0-py3-none-any.whl
- Upload date:
- Size: 30.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5aa7338c624a05a8a80dcf9c6761ded3d6bc2bc5df5f22d9398a895b11bd2ae |
|
MD5 | e9047806a4d55b2d4b1b3f4cb8719115 |
|
BLAKE2b-256 | ea35304e456a471128aa4a776243558f43aee3444731ef8fc9bc8c351fddfdd8 |