Updatedcomparison

The Odesli API in 2026: Retired, and the Alternative I Built

Updated September 22, 20268 min read

I first published this on 23 July 2026, when the public Odesli API still answered. Coverage was already thin: no Apple Music, no YouTube. Eight days later Linktree retired the whole v1-alpha.1 namespace. I retested it this morning. The honest FAQ from July ("is it down? No") is now wrong, so this is the correction.

If you want the shorter news version, that is The song.link API is dead. The website is not.

What I get today

On 22 September 2026 I called https://api.song.link/v1-alpha.1/links with a normal Spotify track, the same call I made in July.

HTTP 401
{"statusCode":401,"code":"PUBLIC_API_ACCESS_DEPRECATED"}

api.odesli.co returns the same body. The public API is closed. Linktree's help article from 21 May 2026 said requests would return 410 Gone after 31 July. What I get is 401 with that error code, and either way there is nothing to parse.

The song.link and odesli.co websites still load. This post is about the API developers actually called.

What I measured in July, while it still answered

On 21 July 2026 at 13:33 UTC both test calls succeeded. Valid JSON, a pageUrl, a set of platform links, no errors and no rate-limit wall. The problem was the payload.

Spotify trackPlatforms returnedPlatforms missing
4uLU6hMCjMI75M1A2tKUQCAmazon Music, Amazon Store, Anghami, Audius, Boomplay, Deezer, Napster, Pandora, Spotify, Tidal, YandexApple Music, iTunes, YouTube, YouTube Music, SoundCloud
2Fxmhks0bxGSBdJ92vM42mAmazon Music, Amazon Store, Anghami, Boomplay, Deezer, Napster, Pandora, Spotify, Tidal, YandexApple Music, iTunes, YouTube, YouTube Music, SoundCloud

Plenty of smaller stores. No Apple Music, no YouTube, no SoundCloud. For a product that promises "open this anywhere", that is a broken feature wearing a 200.

That was the last clean measurement I have from before the cutoff. You cannot reproduce it now, because the endpoint no longer returns links.

The commercial terms never caught up

While the API was public, three constraints sat on anyone building a real integration.

There was no self-serve paid plan, no page where you entered a card and got a higher, guaranteed rate limit. For a hobby script that is fine. For a product with a roadmap, "email us and hope" is a bad dependency.

Throughput sat around 10 requests per minute. Comfortable for occasional lookups, uncomfortable the moment a chat bot or a bulk importer hit it.

And there was an attribution requirement. Reasonable for a free public service, and a constraint some products would rather pay to remove.

Linktree's allowlist still exists if you have a partner relationship. For everyone else the public door is shut, and those terms are now historical.

The alternative: an ISRC-first music link API, open for testing

SongPort started as a free consumer converter. You can still paste a link at songport.link and get a universal page in a few seconds. Background on the format: how universal music links actually work. Free-tool roundup: smart link tools.

The engine under that converter is what I am opening as an API. It matches on ISRC first, the International Standard Recording Code every commercially released recording carries. ISRC identifies the recording, not a fuzzy title-and-artist guess. When a platform exposes one, the match is exact. When it does not (YouTube has no ISRC to match on), I fall back to title matching and flag that link as a search fallback, so you always know what you got.

Here is the difference on the same Spotify track from the July test, now against a dead Odesli endpoint:

Odesli (api.song.link)SongPort (api.songport.link/v1)
Status on 22 Sep 2026HTTP 401, PUBLIC_API_ACCESS_DEPRECATEDReturns
Apple Music / iTunesMissing in the July test, unreachable nowReturned
YouTube / YouTube MusicMissing in the July test, unreachable nowReturned (flagged as title match)
SoundCloudMissing in the July test, unreachable nowReturned
Match basisResponse only, while it lastedISRC first, search fallback labelled
Self-serve paid planNone. Public API retiredOn the roadmap, honest about it
Attribution requiredYes, when it workedNo

You do not have to take the table on faith. The SongPort developers page runs a live demo against the same code path a paying key hits. Paste a link and read every field.

What "open" and "tested" mean here

The API is open, but it is a testing phase, not a finished product. Keys are issued by hand right now, on purpose. That lets me watch every conversion, see where matching is strong and where it is not, and fix it against real traffic before I turn on self-serve billing. If you want in, the waitlist is on the developers page.

The scope is single tracks, labelled honestly. This resolves individual recordings across the major platforms. Playlists, albums, and podcasts are out of scope today. YouTube links come from title matching, so I mark them as good rather than guaranteed. When a catalogue does not carry a track, you get a search URL, not a fabricated deep link.

Request and response shapes live in the API documentation. It is a server-to-server API. Your key lives in your backend, never in browser code, never in an iOS Shortcut.

Who this is for

You are a fit for the SongPort API if:

  • You had an Odesli integration, and it started returning 401 after 31 July 2026.
  • You need Apple Music and YouTube in the response, reliably.
  • Ten requests per minute was already a wall, even before the shutdown.
  • You would rather integrate against an API whose schema I treat as a promise.

If you only needed the occasional personal page, song.link still makes those. So does SongPort, with no account.

How this sits next to the rest

If you are weighing options at the consumer level rather than the API level, I keep a comparison of free music smart link tools, and a separate look at the best smart link tool for indie artists in 2026. For turning a Spotify link into an Apple Music link, there is a dedicated Spotify to Apple Music guide.

Try it against your own link

Take a Spotify track that matters to you. Call Odesli if you still want to see the 401. Then paste the same link into the SongPort demo. If Apple Music and YouTube matter to your product, the difference is one test.

When you are ready to build on it, join the API waitlist on the developers page and read the API docs.

FAQ

Yes. The public v1-alpha.1 API at api.song.link and api.odesli.co was retired on 31 July 2026. On 22 September 2026 both hosts returned HTTP 401 with PUBLIC_API_ACCESS_DEPRECATED. The song.link and album.link pages still work. That is a different product.

If you need Apple Music and YouTube in the response, a rate limit you can plan around, and no attribution requirement, the SongPort API is built for that gap. It is open for testing via a waitlist on the developers page.

Yes. It matches on ISRC first, the recording's actual identifier, and only falls back to title matching when a platform does not expose an ISRC (YouTube). Those fallback links are labelled as search matches.

Not yet, and I would rather say so plainly. Keys are issued by hand during this testing phase so I can validate matching against real traffic before turning on self-serve billing. Self-serve is on the roadmap. Join the waitlist to be early.

No. It is a server-to-server API. Your key belongs in your backend, never in client-side code. See the API documentation for the auth model.

No. A universal link redirects to the official track page on each platform, so streams count exactly as they would from a direct link. Detail in how universal music links work.

Try SongPort

Paste a music link and get one that opens in every streaming app. Free on the web.

Convert a link now