Skip to main content

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.

Tests Documentation Status

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


Download files

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

Source Distribution

spotipy-2.24.0.tar.gz (41.7 kB view details)

Uploaded Source

Built Distribution

spotipy-2.24.0-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

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

Hashes for spotipy-2.24.0.tar.gz
Algorithm Hash digest
SHA256 396af81e642086551af157270cdfe742c1739405871ba9dac1fa651b8649ef0d
MD5 5c3e3464f63fd3eb31b563f9fbe71abe
BLAKE2b-256 9b10145a649207a9d4067846045cca71262b8ea2140d1df3fa78581fbf1b9ec0

See more details on using hashes here.

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

Hashes for spotipy-2.24.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5aa7338c624a05a8a80dcf9c6761ded3d6bc2bc5df5f22d9398a895b11bd2ae
MD5 e9047806a4d55b2d4b1b3f4cb8719115
BLAKE2b-256 ea35304e456a471128aa4a776243558f43aee3444731ef8fc9bc8c351fddfdd8

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