Visualize Spotify Data in TIBCO Spotfire through OData
OData is a major protocol enabling real-time communication among cloud-based, mobile, and other online applications. The CData API Server provides Spotify data to OData consumers like TIBCO Spotfire. This article shows how to use the API Server and Spotfire's built-in support for OData to access Spotify data in real time.
Set Up the API Server
If you have not already done so, download the CData API Server. Once you have installed the API Server, follow the steps below to begin producing secure Spotify OData services:
Connect to Spotify
To work with Spotify data from TIBCO Spotfire, we start by creating and configuring a Spotify connection. Follow the steps below to configure the API Server to connect to Spotify data:
- First, navigate to the Connections page.
-
Click Add Connection and then search for and select the Spotify connection.
-
Enter the necessary authentication properties to connect to Spotify.
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.
- After configuring the connection, click Save & Test to confirm a successful connection.
Configure API Server Users
Next, create a user to access your Spotify data through the API Server. You can add and configure users on the Users page. Follow the steps below to configure and create a user:
- On the Users page, click Add User to open the Add User dialog.
-
Next, set the Role, Username, and Privileges properties and then click Add User.
-
An Authtoken is then generated for the user. You can find the Authtoken and other information for each user on the Users page:
Creating API Endpoints for Spotify
Having created a user, you are ready to create API endpoints for the Spotify tables:
-
First, navigate to the API page and then click
Add Table
.
-
Select the connection you wish to access and click Next.
-
With the connection selected, create endpoints by selecting each table and then clicking Confirm.
Gather the OData Url
Having configured a connection to Spotify data, created a user, and added resources to the API Server, you now have an easily accessible REST API based on the OData protocol for those resources. From the API page in API Server, you can view and copy the API Endpoints for the API:
Create Data Visualizations on External Spotify Data
- Open Spotfire and click Add Data Tables -> OData.
- In the OData Connection dialog, enter the following information:
- Service URL: Enter the API Server's OData endpoint. For example:
http://localhost:8080/api.rsc
- Authentication Method: Select Username and Password.
- Username: Enter the username of an API Server user. You can create API users on the Security tab of the administration console.
- Password: Enter the authtoken of an API Server user.
- Service URL: Enter the API Server's OData endpoint. For example:
- Select the tables and columns you want to add to the dashboard. This example uses Albums.
- If you want to work with the live data, click the Keep Data Table External option. This option enables your dashboards to reflect changes to the data in real time.
If you want to load the data into memory and process the data locally, click the Import Data Table option. This option is better for offline use or if a slow network connection is making your dashboard less interactive.
- After adding tables, the Recommended Visualizations wizard is displayed. When you select a table, Spotfire uses the column data types to detect number, time, and category columns. This example uses in the Numbers section and in the Categories section.

After adding several visualizations in the Recommended Visualizations wizard, you can make other modifications to the dashboard. For example, you can apply a filter: After clicking the Filter button, the available filters for each query are displayed in the Filters pane.