Skip to content

Song.link resolution now relies on the HTML scraping fallback #240

Description

@musicfetchdees

Hi, I work on Musicfetch and noticed NodeLink’s default Song.link configuration still calls the retired Odesli public API.

Because apiKey is blank by default, _fetchSongLinkData() now falls through to scraping __NEXT_DATA__ from the Song.link page for every lookup. That leaves resolution dependent on private page structure. amazonmusic.ts also calls the retired endpoint directly without the same fallback.

Musicfetch could provide a supported server-side replacement for both paths. The token could live in NodeLink’s existing source configuration, and platform links are returned under result.services.

I’m happy to test representative NodeLink URLs and sketch the adapter if useful:

https://musicfetch.io/odesli-api-alternative

Dees

Activity

1Lucas1apk commented on Sep 16, 2026

@1Lucas1apk
Member

I don't think Musicfetch really fits what we're trying to do with NodeLink.

The Odesli/Songlink issue is valid, but I don't think replacing it with another link-matching service is the direction we'd like to take. NodeLink already handles its sources directly, and we generally prefer keeping the resolution logic under our control instead of relying on another service to handle that part for us.

For this case, I'd rather look into how we can retrieve the same information directly from the supported platforms or handle the extraction ourselves.

So I'd prefer not to add Musicfetch as the default dependency for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions