Python para coletar dados do Spotify - Buscando por álbuns e músicas

Aprenda como utilizar a API do Spotify para coletar dados das músicas e álbuns mais tocados da atualidade.

O próprio Spotify mantém uma página oficial com informações das APIs mantidas pela comunidade para acessar os seus dados. Vamos utilizar a biblioteca escrita em Python para acessar todo o conteúdo da plataforma do Spotify.

A documentação da versão 2.19 está disponível aqui.


Conseguindo seu ClientID e Client Secret

O primeiro passo é logar no site oficial do Spotify ou criar uma conta caso você ainda não tenha uma. É de graça.

Após o login, procure a opção Developers na parte inferior da tela e sem seguida clique em Dashboard ou vá direto no link

Escolha a opção Create an App:

Depois de criar o aplicativo, o site lhe fornecerá um ClientID e um Client Secret, usaremos essa informação para conectar no spotify e baixar os dados das músicas e albuns.

Não utilize os dados da figura acima, acesse a sua conta e obtenha as suas próprias credenciais.

Primeiro iremos instalar a biblioteca Spotify e em seguida autenticar utilizando as credenciais que conseguimos no site oficial:

Consultando Álbuns

Utilizaremos o método search para buscar os dados. Esse método aceita diversas configurações de consultas, por álbum, artista, música, ano e etc.

Na documentação da API podemos verificar que todas as respostas as consultas serão em estruturas de dados de um json. Todas as consultas com o search possuem um limite de 50 itens no retorno. Para simplificar o nosso teste utilizaremos 10 para a variável limit.

Com a consulta abaixo pesquisamos por álbuns que tenham o nome “barão”. Os primeiros 10 álbuns encontrados ficam armazenados com dicionários e com o código abaixo conseguimos acessar o conteúdo do primeiro elemento/item:

Alguns atributos como ‘available_markets ’ não são relevantes para a nossa pesquisa, por isso vamos utilizar apenas os atributos abaixo:

Existem várias alternativas para varrer todas os 10 álbuns consultados, com o código abaixo você consegue imprimir de um por um todos os álbuns armazenados:

Exemplo dos três primeiros álbuns listados para a palavra chave ‘barão’:

Nome: Barão Pra Sempre

Nome Artista: Barão Vermelho

Id do Artista 5zq0SGWxrmzpTSXkBEQzMj

de Lançamento: 2018–04–20

Número de músicas 9

URI: spotify:album:4iBQN73xgA56iyWf7DfZmK

— — — — — — — —

Nome: iCollection — Barão Vermelho

Nome Artista: Barão Vermelho

Id do Artista 5zq0SGWxrmzpTSXkBEQzMj

Data de Lançamento: 2012–04–23

Número de músicas 20

URI: spotify:album:5CtS9j4kbLFsj53rbcphZ8

— — — — — — — —

Nome: Barão Vermelho 2

Nome Artista: Barão Vermelho

Id do Artista 5zq0SGWxrmzpTSXkBEQzMj

Data de Lançamento: 1983–01–01

Número de músicas 11

URI: spotify:album:3tPQA9m5HhUPxFi14K9YRr

Podemos observar que o Artista/Banda Barão Vermelho possui o ID igual a 5zq0SGWxrmzpTSXkBEQzMj , utilizando esse ID diretamente no método artist_albums conseguimos obter todos os albúns de um artista ou banda específica.

O resultado impresso com esse for é:

VIVA (Banda: Barão Vermelho )

Barão Pra Sempre (Banda: Barão Vermelho )

Barão Vermelho (Edição Especial 30 Anos) (Banda: Barão Vermelho )

iCollection — Barão Vermelho (Banda: Barão Vermelho )

Warner 30 anos (Banda: Barão Vermelho )

Buscando Músicas

Para buscar músicas utilizamos novamente o search, dessa vez com o type igual a ‘track’ e utilizando na query de consulta a palavra-chave track: e o que desejamos buscar.

No exemplo vou procurar por músicas com a palavra levitating, essa foi uma das mais tocadas de 2021 nos EUA.

Observem o resultado das 4 primeiras músicas que apareceram na consulta:

Levitating (feat. DaBaby) — por — Dua Lipa

ID da música: 5nujrmhLynf4yMoMtj8AQF

ID Artista/Banda — 6M2wZ9GZgrQXHCFfjv46we

— — —

Levitating — por — Dua Lipa

ID da música: 39LLxExYz6ewLAcYrzQQyP

ID Artista/Banda — 6M2wZ9GZgrQXHCFfjv46we

— — —

Levitating (feat. DaBaby) — por — Dua Lipa

ID da música: 463CkQjx2Zk1yXoBuierM9

ID Artista/Banda — 6M2wZ9GZgrQXHCFfjv46we

— — —

Levitating — por — Kidz Bop Kids

ID da música: 0jElcVB3zyu75HmlrbA8XE

ID Artista/Banda — 1Vvvx45Apu6dQqwuZQxtgW

— — —

Curioso é que o artista Kidz Bop é o autor da quarta música, trata-se de uma marca que regrava músicas famosas com voz de crianças. É uma estratégia de conseguir popularidade.

Há muitas possibilidades de análise ao acessar os dados do Spotify, caso queira realizar outros testes usem o Notebook do Colab no Github como ponto de partida.

Para mais conteúdo acesse @aprendadatascience.