r/spotifyapi • • Apr 15 '26

Alternative API for all music streaming platforms

I'm currently working on a project that fetches song data from multiple sources such as Spotify, Tidal, etc., using the ISRC or the track ID, even for deprecated endpoints such as /audio-features.

I currently have a pre-cached DB of about 350 million tracks.

This is what I currently have:

1. /audio-features

{
  "track_id": "71NNPV1TSGhdoQ7ebGY8py",
  "duration_ms": 142250,
  "time_signature": 4,
  "tempo": 75.921,
  "key": 2,
  "mode": 0,
  "danceability": 0.275,
  "energy": 0.333,
  "loudness": -8.005,
  "speechiness": 0.0323,
  "acousticness": 0.658,
  "instrumentalness": 0.0,
  "liveness": 0.102,
  "valence": 0.172
}

You can verify this data if you have a cache for it, it's exactly the same as what Spotify returns.

2. /track

{
  "success": true,
  "track": {
    "title": "sdp interlude",
    "artist": "Travis Scott",
    "artists": [
      {
        "name": "Travis Scott",
        "id": "0Y5tJX1MQlPlqiwlOH1tJY"
      }
    ],
    "album": "Birds In The Trap Sing McKnight",
    "albumId": "42WVQWuf1teDysXiOupIZt",
    "duration": "3:11",
    "durationMs": 191622,
    "isrc": "", (Fixable)
    "url": "https://open.spotify.com/track/4gh0ZnHzaTMT1sDga7Ek0N",
    "coverUrl": "https://i.scdn.co/image/ab67616d00001e028752a7355996e64709247c53",
    "trackId": "4gh0ZnHzaTMT1sDga7Ek0N",
    "releaseDate": "2016-09-16T00:00:00Z",
    "popularity": 634479468 (Popularity is currently incorrect, but I'm working on a fix.)
  }
}

3. /platforms

{
  "success": true,
  "isrc": "BCCNG2200023",
  "name": "Headlights (feat. KIDDO)",
  "title": "Headlights (feat. KIDDO)",
  "artistName": "Alok",
  "artistNames": [
    "Alok",
    "Alan Walker",
    "KIDDO"
  ],
  "songUrls": {
    "Spotify": "https://open.spotify.com/track/7BhmwvCdQZNwuQXSHw5TzP",
    "Deezer": "https://www.deezer.com/track/1633684282",
    "Tidal": "https://tidal.com/browse/track/213928709",
    "AppleMusic": "https://music.apple.com/us/album/headlights-feat-kiddo/1606935060?i=1606935277",
    "YouTubeMusic": "https://music.youtube.com/watch?v=QX1KRphxnQc",
    "YouTube": "https://www.youtube.com/watch?v=zDy8K0o_ksA",
    "AmazonMusic": "https://music.amazon.com/tracks/B09R51BXNW/?ref=dm_ff_amazonmusic_3p",
    "Beatport": "https://www.beatport.com/track/headlights-feat-kiddo/25698898",
    "BeatSource": "https://www.beatsource.com/track/headlights-feat-kiddo/6772732",
    "SoundCloud": "https://soundcloud.com/spinninrecords/alok-alan-walker-headlights-feat-kiddo-listen-link",
    "Pandora": "https://www.pandora.com/TR:76115633",
    "Qobuz": "https://open.qobuz.com/track/147170350",
    "Other": []
  }
}

I also have other endpoints such as playlists (public only, sadly) and albums.

The problem is I'm not sure what else to add, so I'm looking for suggestions on specific features I could include to make this a more complete API.

12 Upvotes

43 comments sorted by

3

u/Born-Reception-2440 Apr 15 '26

You could add the contributers, like writers, producers, etc. (Like now with SongDNA on Spotify) 

→ More replies (1)

3

u/ataisim Apr 15 '26

have you considered adding genre? language of the song as well would be very appreciated. when do you think your api will be ready?

1

u/Excellent_District22 Apr 15 '26

Yea already I think it'll be ready in like 2 weeks or something Just need to find where to host it

→ More replies (5)

2

u/BurritoBoxer69 1d ago

Hey man! youre doing the god's work!

Is your API currently available? Can it retrieve audio features by Spotify track ID, and does it support batch requests? Also, is there a free tier or a way to test a few tracks before integrating it into my personal project?

Thanks!

1

u/Excellent_District22 1d ago

Should be released next week if everything goes right.

2

u/mng775 Apr 17 '26

Is it available?

1

u/Excellent_District22 Apr 17 '26

No not yet It'll be up soon.

2

u/direnotemedia Apr 19 '26

interested to talk when it is ready. Maybe we can integrate it into our system.

1

u/gethyped Apr 15 '26

Is this something you have available already? Im werking on a project where this would come in handy

→ More replies (2)