Tool

Load Spotify Data into LlamaIndex

Spotify Loader reads your Spotify account data and loads saved albums, tracks, or playlists into LlamaIndex Documents.

Works with spotify

74
Spark score
out of 100
Updated 2 days ago
Version 0.14.23
Models

Add to Favorites

Why it matters

Connect your Spotify account to LlamaIndex to ingest your music data. This allows you to build applications that can analyze your listening habits and provide personalized recommendations.

Outcomes

What it gets done

01

Load saved Spotify albums, tracks, and playlists into LlamaIndex Documents.

02

Authenticate with Spotify using client credentials and redirect URI.

03

Enable querying of your Spotify collection for insights and recommendations.

04

Integrate Spotify data into LlamaIndex for advanced AI applications.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/li-reader-readers-spotify | bash

Overview

Spotify Loader

Spotify Loader is a LlamaIndex reader that connects to your Spotify account via the Spotify API and loads your saved albums, tracks, or playlists into Document objects. It transforms your personal music library data into a format that can be indexed and queried using LlamaIndex. Use Spotify Loader when you want to load your Spotify library data into LlamaIndex Documents for indexing and querying. It's ideal for developers working with LlamaIndex who need to incorporate their personal Spotify data into their projects.

What it does

Spotify Loader is a LlamaIndex reader integration that connects to your Spotify account and transforms your saved music library into Documents. It retrieves your saved albums, tracks, or playlists and converts them into a format suitable for indexing and querying with LlamaIndex.

When to use - and when NOT to

Use Spotify Loader when you want to load your Spotify library data into LlamaIndex Documents for indexing and querying. It's ideal for developers who need to work with their personal Spotify data within the LlamaIndex ecosystem.

Do NOT use this loader if you need real-time playback control or streaming functionality - it only reads saved library data. It's also not suitable if you need to access other users' public playlists or Spotify's broader catalog beyond your personal saved items.

Inputs and outputs

You provide Spotify API credentials (client_id, client_secret, and redirect_uri) as environment variables, plus an optional collection parameter specifying whether to load "albums", "tracks", or "playlists". By default, it loads your saved albums.

You receive LlamaIndex Document objects containing your Spotify library data, ready to be indexed and queried.

Integrations

This loader integrates with the Spotify for Developers API and requires registration to obtain credentials. It works within the LlamaIndex ecosystem, compatible with VectorStoreIndex and other LlamaIndex components.

Who it's for

Spotify Loader is designed for developers building applications with LlamaIndex who want to incorporate their personal Spotify library data into their projects.

Installation

pip install llama-index-readers-spotify

Basic usage

from llama_index.readers.spotify import SpotifyReader

loader = SpotifyReader()
documents = loader.load_data()

Complete example with querying

from llama_index.core import VectorStoreIndex, download_loader

from llama_index.readers.spotify import SpotifyReader

loader = SpotifyReader()
documents = loader.load_data()
index = VectorStoreIndex.from_documents(documents)
index.query(
    "When are some other artists i might like based on what i listen to ?"
)

Before using the loader, you must register with Spotify for Developers, create an app to obtain credentials, and set three environment variables: SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, and SPOTIPY_REDIRECT_URI. The redirect URI does not need to be a functional endpoint.

Source README

Spotify Loader

pip install llama-index-readers-spotify

This loader reads your Spotify account and loads saved albums, tracks, or playlists into Documents.

As a prerequisite, you will need to register with Spotify for Developers and create an app in order to get a client_id and a client_secret. You should then set a redirect_uri for the app (in the web dashboard under app settings). The redirect_uri does not need to be functional. You should then set the client_id, client_secret, and redirect_uri as environmental variables.

export SPOTIPY_CLIENT_ID='xxxxxxxxxxxxxxxxx'
export SPOTIPY_CLIENT_SECRET='xxxxxxxxxxxxxxxxxx'
export SPOTIPY_REDIRECT_URI='http://localhost:8080/redirect'

Usage

Here's an example usage of the SpotifyReader. It will retrieve your saved albums, unless an optional collection argument is passed. Acceptable arguments are "albums", "tracks", and "playlists".

from llama_index.readers.spotify import SpotifyReader

loader = SpotifyReader()
documents = loader.load_data()

Example

This loader is designed to be used as a way to load data into LlamaIndex.

LlamaIndex

from llama_index.core import VectorStoreIndex, download_loader

from llama_index.readers.spotify import SpotifyReader

loader = SpotifyReader()
documents = loader.load_data()
index = VectorStoreIndex.from_documents(documents)
index.query(
    "When are some other artists i might like based on what i listen to ?"
)

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.