Get a permanent token for API calls

Get a permanent token for API calls



I wrote a Python script to update playlists (throught API calls). It works fine, but I have to generate a new token each hour from the Spotify Web API Console. Is there a way to get a permanent token in order to be able to use it in a scheduled script ?





4 Replies

Hi Remy, 

when requesting the Access Token you will also get a Refresh Token . With the Refresh Token you can generate a new Access Token if it has expired, this does not need user intervention


Kind Regards


Hi ffkangoroo,


I've seen this notion of "refresh token" in the documentation. But I don't know which API call to do to refresh a token received by the "Spotify Web API Console".


Could you give me an example of an API call ?





Sure 🙂 

This is described here: Code Flow Guide 

There you will find the following Example (with the refresh_token beeing provided through the route in your app you could have stored it in the Database.): 


The following example retrieves a refreshed Access Token once the current one has expired:

app.get('/refresh_token', function(req, res) {

  var refresh_token = req.query.refresh_token;
  var authOptions = {
    url: '',
    headers: { 'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) },
    form: {
      grant_type: 'refresh_token',
      refresh_token: refresh_token
    json: true
  };, function(error, response, body) {
    if (!error && response.statusCode === 200) {
      var access_token = body.access_token;
        'access_token': access_token

The response will be similar to this:

   "access_token": "NgA6ZcYI...ixn8bUQ",
   "token_type": "Bearer",
   "scope": "user-read-private user-read-email",
   "expires_in": 3600



A simple Node.js application to get a refresh token throught the authorization code flow.



Suggested posts