Rankd for Developers
Checking API…

Reference

Models

Every object the public API returns. Fields marked always are always present; others can be missing, and fields shown as … or null can be null. New fields can appear at any time: ignore ones you do not know.

Meta#

Sent with every successful JSON response.

FieldTypeDescription
apiVersionalwaysintegerThe API version that answered.
migrationPhaseintegerInternal to Rankd. Ignore it.
sourceOfTruthstringInternal to Rankd. Ignore it.

PageMeta#

Meta, plus the cursor for the next page.

FieldTypeDescription
apiVersionalwaysintegerThe API version that answered.
migrationPhaseintegerInternal to Rankd. Ignore it.
sourceOfTruthstringInternal to Rankd. Ignore it.
nextCursorstring or nullPass this as cursor to get the next page. null or missing on the last page.

FeedMeta#

Meta for the feed.

FieldTypeDescription
apiVersionalwaysintegerThe API version that answered.
migrationPhaseintegerInternal to Rankd. Ignore it.
sourceOfTruthstringInternal to Rankd. Ignore it.
nextCursorstring or nullPass this as cursor for the next page. null at the end.
personalizedbooleanWhether the feed is shaped by the caller’s own taste. Always false without credentials.
coldStartbooleanWhether this is the general community ranking rather than a feed shaped by who the caller follows.

Error#

Every error except rate limiting.

FieldTypeDescription
erroralwaysobject
codealwaysstringA stable, machine-readable reason. Branch on this.
messagealwaysstringA readable explanation. Its wording can change, so do not parse it.

RateLimitError#

The rate limiter answers before the API does, so this body is shaped differently from other errors.

FieldTypeDescription
erroralwaysstringAlways rate limited.
One of: rate limited

ApiInfo#

FieldTypeDescription
namealwaysstringThe API’s name.
versionalwaysintegerThe API version.
documentationstringA pointer to Rankd’s internal notes. Use this site instead.

Health#

FieldTypeDescription
databasealwaysstringWhether the API could query its database.
One of: ok, error

MusicRef#

A piece of music as Rankd stores it: a catalogue reference plus the title and artwork it had when it was saved.

FieldTypeDescription
provideralwaysstringThe catalogue the id belongs to.
One of: apple_music
typealwaysstringWhat kind of item.
One of: album, song, artist, music_video
idalwaysstringThe catalogue id.
titlestring or nullThe title when Rankd stored it.
artistNamestring or nullThe artist when Rankd stored it. Empty for artists.
artworkUrlstring or nullArtwork at 600×600 on Apple’s image servers.
albumIdstring or nullFor songs: the album it is from.
albumTitlestring or nullFor songs: that album’s title.

MusicSummary#

A catalogue item as it appears in results, charts and tracklists. Which fields are present depends on where it appears.

FieldTypeDescription
providerstringThe catalogue the id belongs to.
One of: apple_music
typealwaysstringWhat kind of item.
One of: album, song, artist, music_video
idalwaysstringThe catalogue id.
titlestring or nullTitle.
artistNamestring or nullArtist. Empty or null for artists.
artworkUrlstring or nullArtwork at 600×600.
artworkTemplatestring or nullArtwork with {w}x{h} in place of the size, so you can ask for exactly the size you draw.
releaseYearinteger or nullYear of release, where known.
albumIdstring or nullFor songs: their album’s id.
albumTitlestring or nullFor songs: their album.
trackNumberinteger or nullFor tracks: position on the disc.
discNumberinteger or nullFor tracks: which disc.
durationSecondsinteger or nullFor tracks: length in seconds.
isExplicitbooleanFor tracks: marked explicit.
previewUrlstring or nullFor tracks: Apple’s 30-second preview.
isSinglebooleanFor albums: Apple lists it as a single or EP.
genrestring or nullPrimary genre.

MusicSearchResults#

One key for each type you asked for.

FieldTypeDescription
albumarray of MusicSummary
artistarray of MusicSummary
songarray of MusicSummary

Community#

What the Rankd community makes of an item. Private ratings never count.

FieldTypeDescription
ratingCountalwaysintegerHow many people rated it publicly.
averageRatingnumber or nullAverage rating, 0–100. null with no ratings.
distributionalwaysarray of integerHow many ratings fall in each fifth of the scale, lowest first.
reviewCountalwaysintegerHow many public reviews it has.
myRatingobject or nullThe caller’s own rating. Always null without credentials.
myReviewobject or nullThe caller’s own review. Always null without credentials.
snapshotobject or nullThe title and artwork Rankd stored, for when the catalogue has nothing.

MusicItem#

FieldTypeDescription
musicalwaysMusicRef
artworkTemplatestring or nullArtwork with {w}x{h} in place of the size.
releaseDatestring or nullRelease date, YYYY-MM-DD.
releaseYearinteger or nullRelease year.
genreNamesarray of stringApple’s genres.
trackCountinteger or nullFor albums: how many tracks.
tracksarray of MusicSummaryFor albums: the tracklist.
artistIdstring or nullFor albums and songs: the lead artist’s id.
albumsarray of MusicSummaryFor artists: their albums.
singlesarray of MusicSummaryFor artists: their singles and EPs.
topSongsarray of MusicSummaryFor artists: their most popular songs.
similarArtistsarray of MusicSummaryFor artists: artists like them.
albumMusicSummary or nullFor songs: the album they are from.
aboutstring or nullApple’s editorial notes, as plain text.
recordLabelstring or nullFor albums: the label.
copyrightstring or nullFor albums: the copyright line.
durationSecondsinteger or nullLength in seconds.
previewUrlstring or nullFor songs: Apple’s 30-second preview.
motionobject or nullWhere Rankd’s apps look for the album’s animated cover.
storefrontstringApple Music storefront.
albumIdstringAlbum id.
catalogueAvailablealwaysbooleanWhether Apple Music answered. When false, only the details Rankd stored are shown.
communityalwaysCommunity

FoundingMember#

Set when the person is one of Rankd’s Founding Members.

FieldTypeDescription
numberintegerTheir Founding Member number.
grantedAtstring (date-time)When it was granted.

User#

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.

UserProfile#

User, plus the rest of the profile.

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.

Rating#

FieldTypeDescription
idalwaysstringThe rating’s id.
musicalwaysMusicRef
valuealwaysintegerThe rating, 0–100. Rankd’s apps show it as stars (value ÷ 20) or as a score out of 100.
visibilitystring or nullpublic, or null for ratings made before Rankd had visibility settings (those are public too).
One of: public
createdAtstring (date-time) or nullWhen it was made.
createdAtPrecisionstringapproximate for ratings imported without an exact time.
One of: exact, approximate
updatedAtstring (date-time) or nullWhen it last changed.

Review#

FieldTypeDescription
idalwaysstringThe review’s id.
userIdstringWho wrote it.
usernamealwaysstringTheir username.
musicMusicRef
bodyalwaysstringThe review.
containsSpoilersbooleanThe author marked it as containing spoilers.
ratingValueinteger or nullThe rating given with it, 0–100.
visibilitystringAlways public without credentials.
createdAtstring (date-time) or nullWhen it was written.
updatedAtstring (date-time) or nullWhen it last changed.

ReviewCard#

A review with its author, as music pages and Discover show it.

FieldTypeDescription
idalwaysstringThe review’s id.
usernamealwaysstringThe author.
displayNamestring or nullThe author’s display name.
avatarUrlstring or nullThe author’s profile picture.
musicMusicRef
artworkTemplatestring or nullArtwork with {w}x{h}.
bodyalwaysstringThe review.
containsSpoilersbooleanMarked as containing spoilers.
ratingValueinteger or nullThe rating given with it, 0–100.
createdAtstring (date-time) or nullWhen it was written.

ListSummary#

FieldTypeDescription
idalwaysstringThe list’s id.
titlealwaysstringTitle.
kindstringranked lists are in order, collections are not, smart lists fill themselves.
One of: ranked, collection, smart, collaborative
visibilitystringAlways public without credentials.
emojistring or nullIts emoji. May be empty.
entryCountintegerHow many entries.
updatedAtstring (date-time) or nullWhen it last changed.

ListResult#

FieldTypeDescription
idalwaysstringThe list’s id.
ownerUsernamestringWho made it.
ownerNamestring or nullTheir display name.
titlealwaysstringTitle.
kindstringranked, collection, smart or collaborative.
emojistring or nullIts emoji. May be empty.
entryCountintegerHow many entries.
coversarray of stringArtwork templates ({w}x{h}) of its first entries.
updatedAtstring (date-time) or nullWhen it last changed.

List#

FieldTypeDescription
idalwaysstringThe list’s id.
clientIdstring or nullThe id the app gave it. Usually the same as id.
ownerUserIdstringWho made it.
ownerUsernamestringTheir username.
titlealwaysstringTitle.
descriptionstring or nullDescription.
kindstringranked, collection, smart or collaborative.
One of: ranked, collection, smart, collaborative
visibilitystringAlways public without credentials.
emojistring or nullEmoji. May be empty.
iconstring or nullThe SF Symbol name Rankd’s apps draw for it.
themestring or nullThe colour theme Rankd’s apps draw it in.
categorystring or nullCategory. May be empty.
tagsarray of string
createdAtstring (date-time) or nullCreated.
updatedAtstring (date-time) or nullLast changed.
entriesalwaysarray of objectIn order.
positionintegerPosition, from 0.
notestring or nullThe owner’s note on this entry.
musicMusicRef

PersonResult#

FieldTypeDescription
usernamealwaysstringUsername.
displayNamestringDisplay name, or the username when they have none.
avatarUrlstring or nullProfile picture.
ratingCountintegerHow many ratings they have made.

Chart#

FieldTypeDescription
typealwaysstringWhat is charted.
One of: album, song, artist, music_video
windowalwaysstringThe period ranked.
One of: week
generatedAtstring (date-time)When the chart was worked out.
entriesalwaysarray of object
rankintegerThis week’s position.
previousRankinteger or nullLast week’s position. null when new.
movementstringWhich way it moved.
One of: up, down, same, new
changeinteger or nullHow many places it moved.
musicMusicSummary
communityobject
averagenumberAverage rating, 0–100.
countintegerHow many ratings.
rankedThisWeekintegerRatings made this week.

Discover#

FieldTypeDescription
trendingAlbumsarray of object
musicMusicRef
artworkTemplatestring or nullArtwork with {w}x{h}.
ratingCountintegerRatings.
averageRatingnumber or nullAverage, 0–100.
recentReviewsarray of ReviewCard
recentListsarray of object
idstringList id.
ownerUsernamestringOwner.
ownerDisplayNamestring or nullOwner’s display name.
titlestringTitle.
descriptionstring or nullDescription.
emojistring or nullEmoji. May be empty.
entryCountintegerEntries.
updatedAtstring (date-time) or nullLast changed.
activeMembersarray of object
idstringUser id.
usernamestringUsername.
displayNamestring or nullDisplay name.
avatarUrlstring or nullProfile picture.
foundingMemberobject or null
numberintegerFounding Member number.
ratingCountintegerRatings.

FeedCard#

One card in the feed. type says what it is and which other fields it has. Skip types you do not recognise.

FieldTypeDescription
idalwaysstringThe card’s stable id.
typealwaysstringWhat kind of card. Today: rating, review, list, trending, new_release, insight and suggested_users. More can be added.
createdAtstring (date-time) or nullWhen the thing it shows happened.
reasonstring or nullWhy it is in the feed, for display.
actorobjectWho did it, on cards about someone’s activity.
idstringUser id.
usernamestringUsername.
displayNamestring or nullDisplay name.
avatarUrlstring or nullProfile picture.
musicMusicSummary
valueinteger or nullOn rating and review cards: the rating, 0–100. null for a review given without one.
reviewobjectOn review cards: the review.
sessionobject or nullOn rating cards: other ratings made at the same sitting.
usersarray of objectOn suggested_users cards: the people suggested.
insightobjectOn insight cards: the insight.
listobjectOn list cards: the list.
statsobjectOn trending and new_release cards: its numbers.
periodstringOn trending and new_release cards: the period it covers.
activityIdstring or nullThe activity the card shows, when it shows one.
engagementobjectCounts of reactions and comments.
↑ ↓ to move↵ to open/ or ⌘K to search