📣 Action required: Upcoming Update to SoundCloud API id fields

To all developers using SoundCloud’s public API — we’re introducing an important change that will affect how you reference resources like tracks, playlists, users and comments.

🧠 What’s Changing?

SoundCloud’s resource identifiers (id) have always been numeric. As the platform grows, some of these numbers will soon exceed the maximum value of a 32-bit integer. To ensure forward compatibility and prevent broken integrations, we’re deprecating the id field and introducing a new field: urn — a string-based unique identifier.

🚨 As a result, the id field in API responses is now deprecated. We strongly recommend switching to the new urn field — a string-based unique identifier.

🗓️ Timeline

Effective immediately: The id field is deprecated.

By June 30th, 2025: Clients must switch to using the urn field.

After June 30th: Services relying on the id field may experience degraded behavior:

  • Partial data loss (e.g., new resources may not appear)
  • Full API response failures in some cases

✅ What You Should Do

Update your integrations to rely on the urn field instead of the id. The urn is a stable, unique string that will not be affected by integer limitations.

💡 Example Changes

Here’s what the change looks like for different resource types:

🎵 Track

Before:

  {
    "id": 12345678,
    "title": "My Track"
  }

After:

  {
    "urn": "soundcloud:tracks:12345678",
    "title": "My Track"
  }

📁 Playlist

Before:

{
  "id": 98765432,
  "title": "My Playlist"
}

After:

{
  "urn": "soundcloud:playlists:98765432",
  "title": "My Playlist"
}

💬 Comment

Before:

  {
    "id": 87654321,
    "body": "Great track!"
  }

After:

  {
    "urn": "soundcloud:comments:87654321",
    "body": "Great track!"
  }

Accessing resources via URN

All the endpoints are ready to take either id or urn!

  • Before: https://api.soundcloud.com/tracks/12345678
  • After: https://api.soundcloud.com/tracks/soundcloud:tracks:12345678

We recommend to move always URN going forward. Accessing via id is deprecated immediately!

📦 Bonus Tip

To extract the numeric part of the URN for legacy support or internal mapping, you can parse the URN string — but we strongly discourage from doing, isntead treat the URN as the primary key moving forward.

💬 Need Help?

If you have questions or run into issues, please reach out through our developer support channels, open issues on GitHub or check the updated documentation here.

Let’s make this transition smooth — thanks for building with us ❤️