12

Spotify decide fazer algumas mudanças em suas APIs

Há mais ou menos um mês eu estive trabalhando em um projeto que dependia muito da API do Spotify, especificamente a API Audio Features, que traz informações sobre as músicas como tempo, tom, "humor", entre outras análises bem interessantes. O sentido do meu app era essa API em específico e sem ela, ele perde quase que todo o sentido.

Não sei se vocês viram a notícia de que o Spotify tinha acabado com versão pirata.

No dia 27 de Novembro eu estava testando o app pra fazer o lançamento de uma versão alpha, pra depois reunir algumas pessoas e testar ele pra valer quando a API principal começa a retornar 403. Eu fiquei penando por horar pra entender o por que: Gerei o client secret novamente, tentei fazer a requisição fora do app pelo Insomnia, etc.

Até que me deparo com essa notícia:Introducing some changes to our Web API

Simplesmente entre as APIs que foram descontinuadas, está a Audio Features. Meu projeto hoje se encontra em estado de espera, ou "parado".

Isso não só impactou projetos como o meu, mas também TCC de faculdade, tem muita gente que pode reprovar por causa disso pois seus projetos estavam usando as APIs que foram descontinuadas (Forum - Changes to Web API).

E bem, é isso, eu pensei em postar isso aqui pois não vi ninguém falando nada sobre. Estou a procura de APIs alternativas para meu app, se alguém souber...

Carregando publicação patrocinada...
3

Salve Diego,
Sinto muito pela situação que relatou :(

Não sei se vou conseguir te ajudar com isso mas aqui estão algumas ideias (vai que alguma delas funcione ¯_(ツ)_/¯)

  • Versões antigas da API do Spotify: Eu não conheço a fundo a API do Spotify, mas sei que geralmente no path é adicionada a versão da API (https://api.spotify.com/v2/path), você já tentou utilizar alguma versão anterior?
    Se a atualização foi na mesma versão, aí deu ruim mesmo :(

  • Deezer API: Não sei exatamente quais dados você precisa, mas existe a API do Deezer que retorna alguns dados das músicas também como bpm, duration (tempo, tom e 'humor' não encontrei) albuns, playlists, artistas, etc...
    Exemplo do response de uma track: https://api.deezer.com/track/3135556

{
  "id": "3135556",
  "readable": true,
  "title": "Harder, Better, Faster, Stronger",
  "title_short": "Harder, Better, Faster, Stronger",
  "title_version": "",
  "isrc": "GBDUW0000059",
  "link": "https://www.deezer.com/track/3135556",
  "share": "https://www.deezer.com/track/3135556?utm_source=deezer&utm_content=track-3135556&utm_term=0_1733232561&utm_medium=web",
  "duration": "226",
  "track_position": 4,
  "disk_number": 1,
  "rank": "807824",
  "release_date": "1900-01-01",
  "explicit_lyrics": false,
  "explicit_content_lyrics": 0,
  "explicit_content_cover": 0,
  "preview": "https://cdnt-preview.dzcdn.net/api/1/1/c/4/d/0/c4d7dbe3524ba59d2ad06d8cccd2484f.mp3?hdnea=exp=1733233461~acl=/api/1/1/c/4/d/0/c4d7dbe3524ba59d2ad06d8cccd2484f.mp3*~data=user_id=0,application_id=42~hmac=bdb6c2d8dc8b0b2a01506685bac8c77edd889002816c187a1aebbd02c430c6c5",
  "bpm": 0,
  "gain": -12.4,
  "available_countries": [
    "AE",
    "AF",
    "AG",
     ...
    "ZW"
  ],
  "contributors": [
    {
      "id": 27,
      "name": "Daft Punk",
      "link": "https://www.deezer.com/artist/27",
      "share": "https://www.deezer.com/artist/27?utm_source=deezer&utm_content=artist-27&utm_term=0_1733232561&utm_medium=web",
      "picture": "https://api.deezer.com/artist/27/image",
      "picture_small": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/56x56-000000-80-0-0.jpg",
      "picture_medium": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/250x250-000000-80-0-0.jpg",
      "picture_big": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/500x500-000000-80-0-0.jpg",
      "picture_xl": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/1000x1000-000000-80-0-0.jpg",
      "radio": true,
      "tracklist": "https://api.deezer.com/artist/27/top?limit=50",
      "type": "artist",
      "role": "Main"
    }
  ],
  "md5_image": "93b50f6ab0f44d53f8aee5ad207271ee",
  "track_token": "AAAAAWdPB7FnUCDxpGps9rCR9mJQq_Wiclkz0N8zvaB6nhN3JwzsXRcwIMNGgNlHw8e4Qc_D5tiK11P_dSyFHEBmzgZh2QR2Uhl8ESGN6Rrj7hSrsycfAa32S7IaOJDrCcyyHHDPdAebwHOGJ8kTZxCMmyoh8KPwqRaqwGwJlLOR8apxgi85xz2J3_ehwQxyp3xy6br1E9Ydm81kX1Gue1kbhtZme478kiqRGVbTYyxOynRy9OoGJae7YDm0aH00L464OjZNNBS76QQI6qUM4uMm4dsCmQ56WCQDeS0Kvim7O0GvAJ84fa-98Xk_vMxpz0TUd8iqPUCqpTPpOAxnQgju9BOR897NNr4",
  "artist": {
    "id": "27",
    "name": "Daft Punk",
    "link": "https://www.deezer.com/artist/27",
    "share": "https://www.deezer.com/artist/27?utm_source=deezer&utm_content=artist-27&utm_term=0_1733232561&utm_medium=web",
    "picture": "https://api.deezer.com/artist/27/image",
    "picture_small": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/56x56-000000-80-0-0.jpg",
    "picture_medium": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/250x250-000000-80-0-0.jpg",
    "picture_big": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/500x500-000000-80-0-0.jpg",
    "picture_xl": "https://cdn-images.dzcdn.net/images/artist/f2bc007e9133c946ac3c3907ddc5d2ea/1000x1000-000000-80-0-0.jpg",
    "radio": true,
    "tracklist": "https://api.deezer.com/artist/27/top?limit=50",
    "type": "artist"
  },
  "album": {
    "id": "302127",
    "title": "Discovery",
    "link": "https://www.deezer.com/album/302127",
    "cover": "https://api.deezer.com/album/302127/image",
    "cover_small": "https://cdn-images.dzcdn.net/images/cover/93b50f6ab0f44d53f8aee5ad207271ee/56x56-000000-80-0-0.jpg",
    "cover_medium": "https://cdn-images.dzcdn.net/images/cover/93b50f6ab0f44d53f8aee5ad207271ee/250x250-000000-80-0-0.jpg",
    "cover_big": "https://cdn-images.dzcdn.net/images/cover/93b50f6ab0f44d53f8aee5ad207271ee/500x500-000000-80-0-0.jpg",
    "cover_xl": "https://cdn-images.dzcdn.net/images/cover/93b50f6ab0f44d53f8aee5ad207271ee/1000x1000-000000-80-0-0.jpg",
    "md5_image": "93b50f6ab0f44d53f8aee5ad207271ee",
    "release_date": "2001-03-07",
    "tracklist": "https://api.deezer.com/album/302127/tracks",
    "type": "album"
  },
  "type": "track"
}
{
	"song":
	{
		"id":"983pB",
		"title":"Highway to Hell",
		"uri":"https:\/\/getsongbpm.com\/song\/highway-to-hell\/983pB",
		"artist":{
			"id":"qB3",
			"name":"AC\/DC",
			"uri":"https:\/\/getsongbpm.com\/artist\/ac-dc\/qB3",
			"img":"https:\/\/lastfm-img2.akamaized.net\/i\/u\/d3f4e279a056464eb794710d8b4b69b7.png",
			"genres":[
				"heavy metal",
				"rock"
			],
			"from":"AU",
			"mbid":"66c662b6-6e2f-4930-8610-912e24c63ed1"
		},
		"tempo":"112",
		"time_sig":"4\/4",
		"key_of":"F\u266fm",
		"camelot":"11A"
	}
}
  • Outros serviços: talvez tenha outro serviço de API que você possa obter os dados que precisa.
    Link que lista as Top 29 APIs de Música para devs: https://publicapis.dev/category/music

Estou na torcida para que você consiga encontrar uma solução para seu projeto e quando conseguir, compartilhe com as outras pessoas, beleza?

Tamo junto!

Conteúdo excluído
4

isso é aprendizado também para não se responsabilizar por integração de serviços e prazos de terceiros, se vc desenvolveu a integração, tem que estar vinculada a uma versão específica e ter documento de homologação pelo cliente pq se parar de funcionar a culpa não é sua e o cliente estava ciente dos riscos.

teve um cliente que o projeto atrasou 6 meses pq o fornecedor da api simplesmente não autorizava o uso em produção, o cliente quis aplicar multa na gente pelo atraso, mas tinhamos todas evidencias que nossa parte estava 100% funcional nos ambientes de teste em sandbox, aliado a isso após 6 meses ele conseguiu aprovação e em menos de 1 ano a api teve alterações bruscas que inviabilizou a atualização, e sem investimento o cliente fechou as portas por colocar no cerne da aplicação a dependencia de um terceiro.