API Reference

Resolve any track link or ISRC and get back streaming links for 15+ platforms. One endpoint, any input.

Authentication

All requests require an Authorization: Bearer <key> header. Get yours from the dashboard. Base URL: https://api.ml.jadquir.com/v1

curl "https://api.ml.jadquir.com/v1/lookup/isrc/GBARL9300135" \
  -H "Authorization: Bearer <your-key>"

Auto-detect endpoint

Pass anything — platform is detected automatically. The simplest way to use the API.

GET/lookup?q=<input>
?q= accepts any of the inputs below
# Spotify URL
curl "https://api.ml.jadquir.com/v1/lookup?q=https%3A%2F%2Fopen.spotify.com%2Ftrack%2F4cOdK2wGLETKBW3PvgPWqT" \
  -H "Authorization: Bearer <key>"

# Apple Music URL
curl "https://api.ml.jadquir.com/v1/lookup?q=https%3A%2F%2Fmusic.apple.com%2Fus%2Falbum%2F_%2F1559885420%3Fi%3D1559885421" \
  -H "Authorization: Bearer <key>"

# Bare ISRC
curl "https://api.ml.jadquir.com/v1/lookup?q=GBARL9300135" \
  -H "Authorization: Bearer <key>"

# MusicLink public ID
curl "https://api.ml.jadquir.com/v1/lookup?q=huUKtw-D" \
  -H "Authorization: Bearer <key>"
What you can passExample
Spotify URLopen.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT
Apple Music URLmusic.apple.com/us/album/…?i=1559885421
Deezer URLdeezer.com/track/15646529
Tidal URLtidal.com/track/491206012
MusicLink URLml.jadquir.com/ml/huUKtw-D
ISRCGBARL9300135
MusicLink IDhuUKtw-D

Also accepts ?url= as an alias for ?q=, and ?platform=spotify&id=ID for explicit routing — both for Odesli compatibility. The type parameter is accepted but ignored.

Explicit endpoint

Route directly by platform when you know the source. Accepts a bare ID or a full URL.

GET/lookup/:platform/:id
# By ISRC
curl "https://api.ml.jadquir.com/v1/lookup/isrc/GBARL9300135" \
  -H "Authorization: Bearer <key>"

# By Spotify ID
curl "https://api.ml.jadquir.com/v1/lookup/spotify/4cOdK2wGLETKBW3PvgPWqT" \
  -H "Authorization: Bearer <key>"

# By Apple Music ID
curl "https://api.ml.jadquir.com/v1/lookup/apple/1559885421" \
  -H "Authorization: Bearer <key>"

# By Deezer ID
curl "https://api.ml.jadquir.com/v1/lookup/deezer/15646529" \
  -H "Authorization: Bearer <key>"

# By Tidal ID
curl "https://api.ml.jadquir.com/v1/lookup/tidal/491206012" \
  -H "Authorization: Bearer <key>"
:platform:id format
isrcBare ISRC — e.g. GBARL9300135
spotifyTrack ID — e.g. 4cOdK2wGLETKBW3PvgPWqT
appleFull Apple Music URL or track ID
deezerTrack ID — e.g. 15646529
tidalTrack ID — e.g. 491206012
musiclinkMusicLink public_id — e.g. huUKtw-D

First lookup: If a track has never been resolved before, the API may take 10–15 seconds while it fetches data across platforms. Subsequent requests return from cache immediately.

Response

Both endpoints return the same shape. Use data[0] for the track — most lookups return exactly one result.

{
  "success": true,
  "data": [
    {
      "public_id": "huUKtw-D",
      "url": "https://ml.jadquir.com/song/rick-astley/never-gonna-give-you-up",
      "title": "Never Gonna Give You Up",
      "artist": "Rick Astley",
      "isrc": "GBARL9300135",
      "image_url": "https://cdn-images.dzcdn.net/images/cover/2fec34e02d0ca76df05f9f533f0492f2/1000x1000-000000-80-0-0.jpg",
      "links": {
        "musiclink": "https://ml.jadquir.com/song/rick-astley/never-gonna-give-you-up",
        "spotify": "https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT",
        "youtube": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "youtube_music": "https://music.youtube.com/watch?v=dQw4w9WgXcQ",
        "deezer": "https://www.deezer.com/track/15646529",
        "soundcloud": "https://soundcloud.com/rick-astley-official/never-gonna-give-you-up",
        "apple_music": "https://geo.music.apple.com/us/album/_/1559885420?i=1559885421",
        "tidal": "https://listen.tidal.com/track/491206012",
        "qobuz": "https://open.qobuz.com/track/385574059",
        "audius": "https://audius.co/tracks/4k3v4",
        "shazam": "https://www.shazam.com/song/1773293184/never-gonna-give-you-up",
        "yandex": "https://music.yandex.ru/track/609676",
        "anghami": "https://play.anghami.com/song/106295734?refer=linktree",
        "napster": "https://play.napster.com/track/tra.138361575",
        "pandora": "https://www.pandora.com/TR:66211067",
        "boomplay": "https://www.boomplay.com/songs/3569876",
        "audiomack": "https://audiomack.com/rick-astley/song/never-gonna-give-you-up-1",
        "amazon_music": "https://music.amazon.com/albums/B07FFJXX39?trackAsin=B07FFGVHT5",
        "amazon_store": "https://amazon.com/dp/B07FFGVHT5"
      }
    }
  ]
}

Rate limits

Exceeding a limit returns 429 with a Retry-After header.

PlanRequests / monthPer secondPer minute
Free300110
Hobby5,000260
Pro50,0005200

Need higher limits? See pricing

Output platforms

Links are best-effort — availability varies by region and catalog.

MusicLinkSpotifyISRCApple MusicYouTubeYouTube MusicDeezerTIDALSoundCloudAmazon MusicAmazon StorePandoraNapsterQobuzYandex MusicBoomplayAnghamiAudiomackShazamJioSaavn

Migrating from Odesli

The Odesli / song.link API was/will shut down July 31, 2026. The switch is two lines.

OdesliMusicLink
api.song.link/v1-alpha.1/links?url=URL&key=Khttps://api.ml.jadquir.com/v1/lookup?q=URL + Bearer K
?platform=spotify&type=song&id=ID?platform=spotify&id=ID (type ignored)
data.pageUrldata.data[0].url
data.linksByPlatform.spotify.urldata.data[0].links.spotify
data.linksByPlatform.appleMusic.urldata.data[0].links.apple_music
data.entitiesByUniqueId[id].thumbnailUrldata.data[0].image_url
data.entitiesByUniqueId[id].artistNamedata.data[0].artist

Platform aliases itunes and appleMusic both map to apple. MusicLink also adds ISRC as an input type, which Odesli did not support.