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.
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.
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:
✅ 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.
Here’s what the change looks like for different resource types:
Before:
{
"id": 12345678,
"title": "My Track"
}
After:
{
"urn": "soundcloud:tracks:12345678",
"title": "My Track"
}
Before:
{
"id": 98765432,
"title": "My Playlist"
}
After:
{
"urn": "soundcloud:playlists:98765432",
"title": "My Playlist"
}
Before:
{
"id": 87654321,
"body": "Great track!"
}
After:
{
"urn": "soundcloud:comments:87654321",
"body": "Great track!"
}
All the endpoints are ready to take either id or urn!
https://api.soundcloud.com/tracks/12345678
https://api.soundcloud.com/tracks/soundcloud:tracks:12345678
We recommend to move always URN going forward. Accessing via id is deprecated immediately!
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.
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 ❤️