Rankd for Developers
Checking API…

Users

Get a profile

GET/v1/users/{userId}
No API keyRate-limited

A whole profile in one request: the user, their public counts, the music pinned to their profile and their achievements.

Parameters#

Path parameters#

NameTypeDescription
userIdrequiredstringA Rankd user id: usr_ then 26 characters. Get one from Look up a user by username.
Pattern: ^usr_[0-9A-Z]{26}$ · Example: usr_01KY0JGXMWTT8H9WFN9RTM5JP9

Try it#

Sends a real request to the production API through this site. No credentials are used, so you see exactly what anyone would.

Request#

curl "https://api.rankdmusic.app/v1/users/usr_01KY0JGXMWTT8H9WFN9RTM5JP9"

Response#

A successful response is { "data": …, "meta": … }. data is a UserProfile, and meta is a Meta.

FieldTypeDescription
idalwaysstringThe user’s id.
usernamealwaysstringTheir username.
displayNamestring or nullThe name they show.
biostring or nullTheir bio.
foundingMemberFoundingMember
avatarAssetIdstring or nullTheir profile picture, as an asset id.
avatarUrlstring or nullTheir profile picture’s URL.
isDiscoverablebooleanWhether people who are not signed in can find them.
createdAtstring (date-time) or nullWhen they joined.
updatedAtstring (date-time) or nullWhen their profile last changed.
statsobjectPublic counts.
ratingsintegerRatings.
reviewsintegerReviews.
listsintegerLists.
followersintegerFollowers.
followingintegerFollowing.
pinsarray of objectMusic pinned to their profile.
slotstringWhich favourite slot.
One of: album, artist, song
positionintegerOrder within the slot.
musicMusicRef
artworkTemplatestring or nullArtwork with {w}x{h}.
achievementsarray of objectAchievements they have unlocked.
idstringWhich achievement.
unlockedAtstring (date-time) or nullWhen it was unlocked.

Responses#

200The profile.

Captured from production: GET /v1/users/usr_01KY0JGXMWTT8H9WFN9RTM5JP9

200 response
{
  "data": {
    "id": "usr_01KY0JGXMWTT8H9WFN9RTM5JP9",
    "username": "kyle",
    "displayName": "kyle",
    "bio": "🏴󠁧󠁢󠁳󠁣󠁴󠁿",
    "foundingMember": {
      "number": 2,
      "grantedAt": "2026-09-17T14:44:05.000Z"
    },
    "avatarAssetId": "ast_9E07Q6Q598DXKRQBN0NDSCQYA4",
    "avatarUrl": "https://api.rankdmusic.app/v1/assets/ast_9E07Q6Q598DXKRQBN0NDSCQYA4",
    "isDiscoverable": true,
    "createdAt": "2026-07-20T20:12:20.508Z",
    "updatedAt": "2026-09-29T11:24:06.862Z",
    "stats": {
      "ratings": 725,
      "reviews": 5,
      "lists": 7,
      "followers": 4,
      "following": 4
    },
    "pins": [
      {
        "slot": "album",
        "position": 0,
        "music": {
          "provider": "apple_music",
          "type": "album",
          "id": "1742057774",
          "title": "THE TORTURED POETS DEPARTMENT: THE ANTHOLOGY",
          "artistName": "Taylor Swift",
          "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/a4/86/59/a486593a-53c9-1c2a-5122-8f25339f7359/24UMGIM44778.rgb.jpg/600x600bb.jpg"
        },
        "artworkTemplate": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/a4/86/59/a486593a-53c9-1c2a-5122-8f25339f7359/24UMGIM44778.rgb.jpg/{w}x{h}bb.jpg"
      },
      {
        "slot": "artist",
        "position": 0,
        "music": {
          "provider": "apple_music",
          "type": "artist",
          "id": "159260351",
          "title": "Taylor Swift",
          "artistName": "",
          "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages221/v4/6d/67/88/6d67888b-9e7f-53af-7853-0f91d6fd2332/ami_U003aidentity_U003a994af5c375f4c3aa96cd6ced4a700799-2026-09-25T04-00-05.358Z_cropped.png/600x600bb.jpg"
        },
        "artworkTemplate": "https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages221/v4/6d/67/88/6d67888b-9e7f-53af-7853-0f91d6fd2332/ami_U003aidentity_U003a994af5c375f4c3aa96cd6ced4a700799-2026-09-25T04-00-05.358Z_cropped.png/{w}x{h}bb.jpg"
      }
    ],
    "achievements": [
      {
        "id": "artists-10",
        "unlockedAt": "2026-09-19T22:02:30.416Z"
      },
      {
        "id": "songs-500",
        "unlockedAt": "2026-09-14T21:44:50.564Z"
      }
    ]
  },
  "meta": {
    "apiVersion": 1,
    "migrationPhase": 3,
    "sourceOfTruth": "per_account"
  }
}
404No such user, or they are not discoverable.

Captured from production: GET /v1/users/by-username/no_such_person_zz

404 response
{
  "error": {
    "code": "not_found",
    "message": "User not found."
  }
}
429Too many requests this minute. Wait Retry-After seconds, then try again.

Headers: Retry-After Seconds to wait. Always 60.

429 response
{
  "error": "rate limited"
}
↑ ↓ to move↵ to open/ or ⌘K to search