Connect to Spotify Data in RapidMiner
This article shows how you can easily integrate the CData JDBC driver for Spotify into your processes in RapidMiner. This article uses the CData JDBC Driver for Spotify to transfer Spotify data to a process in RapidMiner.
Connect to Spotify in RapidMiner as a JDBC Data Source
You can follow the procedure below to establish a JDBC connection to Spotify:
- Add a new database driver for Spotify: Click Connections -> Manage Database Drivers.
- In the resulting wizard, click the Add button and enter a name for the connection.
- Enter the prefix for the JDBC URL:
jdbc:api:
- Enter the path to the cdata.jdbc.api.jar file, located in the lib subfolder of the installation directory.
- Enter the driver class:
cdata.jdbc.api.APIDriver
- Create a new Spotify connection: Click Connections -> Manage Database Connections.
- Enter a name for your connection.
- For Database System, select the Spotify driver you configured previously.
- Enter your connection string in the Host box.
Using OAuth Authentication
Spotify uses OAuth 2.0 for authentication. You will need to create an application in the Spotify Developer Dashboard to obtain your client credentials.
Setting Up Your Spotify Application
- Visit the Spotify Developer Dashboard.
- Log in with your Spotify account and click Create app.
- Provide an app name, description, and set a Redirect URI (e.g.,
http://localhost:33333
for desktop applications). - Copy your Client ID and Client Secret from the app settings.
Connection Properties
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to OAuth.
- InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.
- OAuthClientId: Set this to your Spotify application's Client ID.
- OAuthClientSecret: Set this to your Spotify application's Client Secret.
- Scope: Set this to the required OAuth scopes (space-separated). The default includes all read scopes needed for the tables in this profile.
- CallbackURL: Set this to the Redirect URI configured in your Spotify application (e.g., http://localhost:33333).
Example Connection String
Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
Available OAuth Scopes
- user-read-private: Read access to user's subscription details and explicit content settings.
- user-read-email: Read access to user's email address.
- user-library-read: Read access to a user's saved tracks, albums, episodes, shows, and audiobooks.
- playlist-read-private: Read access to user's private playlists.
- playlist-read-collaborative: Read access to collaborative playlists the user follows.
- user-follow-read: Read access to the list of artists the current user follows.
- user-read-playback-state: Read access to a user's player state (device, current track, progress).
- user-read-currently-playing: Read access to a user's currently playing content.
- user-read-playback-history: Read access to a user's recently played tracks.
- user-top-read: Read access to a user's top artists and tracks.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Spotify JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.api.jar
Fill in the connection properties and copy the connection string to the clipboard.
A typical connection string is below:
Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
- Enter your username and password if necessary.
You can now use your Spotify connection with the various RapidMiner operators in your process. To retrieve Spotify data, drag the Retrieve operator from the Operators view.
With the Retrieve operator selected, you can then define which table to retrieve in the Parameters view by clicking the folder icon next to the "repository entry." In the resulting Repository Browser, you can expand your connection node to select the desired example set.
Finally, wire the output to the Retrieve process to a result, and run the process to see the Spotify data.