Users will only be able to paginate through first 500 of their most recently favorited items

[Update] October 13, 2023


Dear developers and users of Roblox,

As part of our ongoing commitment to upgrade the platform and provide everyone with more reliable services, we have unfortunately run into a situation where we have to make some tradeoffs.

Starting at the end of October 2023, we will be removing support for our public APIs to paginate past the top 500 of the most recent favorite items for a user. Any attempt to page past 500 items will only return empty results. This change is a result of a migration of our primary storage technology.

The following APIs and web pages on Roblox will be affected:

However, do note that these endpoints return a sorted list of user’s most recent favorites. Any new favorites that you have recently added to your list will show up at the top.

We apologize for any inconvenience caused and would love to hear any feedback or suggestions that you may have.

94 Likes

This topic was automatically opened after 10 minutes.

Sad to hear. For those of us with old accounts and hundreds of favorites, is it possible technically for the new storage technology to allow us to sort and display our favorites in reverse chronological order? I’m sure most including myself would like to continue to see our oldest favorites regardless of how many favorites we accumulate, for the sentimental value. Would love to see this added on the website if possible.


Also for anyone confused, this only affects the visibility of favorites on the website/app, not whether or not they are saved. They are saved, but you cannot go to the oldest ones if you have more than 500.

This is per category. You can see e.g. 500 favorited games, 500 favorited shirts, etc.

114 Likes

500 items?! Man I do quite sincerely think this a more than reasonable compromise. I am happy that the engineers are seeking a diverse set of methods to optimize the occasional web issues.

33 Likes

mean 500+ game favourite will no show?

i have over 1k page game favourite cmon

(if you can’t understand click this page^)

27 Likes

Is this exclusively for public APIs, or will this affect normal usage on the website as well?

22 Likes

I dont see how this is that big of a compromise to be totally honest, I mean a lot of the paginated APIs seem to stop working past page 34 anyway so, I dont see how this that big of a deal lol

16 Likes

I guess that’s kinda cool, nothing crazy just happened. Site optimization is nice and stuff

15 Likes

Welp. I guess that I should start purging some of my favourites of games I do not play anymore and make a list somewhere else to keep track of some. This honestly sucks that this is happening but if it’s required for optimization, oh well

20 Likes

Odd update, dunno how to feel about it.

Will we at least still be able to favorite more than 500 items and somehow look at very old items in some way?

I’m a type of guy who favorites quite a lot, I use the favorites system as like some sort of bookmark or “I will come back at this later”.
I’m pretty sure I’m already way past this limit and there’s probably some stuff I favorited 5 years ago that I still want to look at.

34 Likes

Thank god I’ve only favorited 460 games over the past 10 years. I can still favorite 40 more!

25 Likes

Thank you for being honest, I’m sure there was a good reason for this. :+1:

16 Likes

Can you please confirm that this 500 item limit is only PER category, ie experiences, hats, face accessories, dresses&skirts, faces, etc. ?
Can you also confirm whether this will affect the official Roblox website pages, or just the APIs?

I think 500 is quite a reasonable number, even for someone like me with a huge favourites list. I highly doubt my favourites list for any particular item is THAT long, although the total of ALL favourited items definitely is over 500.

Please add an on-site warning to users about this change, particularly those who actually do exceed this limit, as they may not even be aware of the devforums or this update.

18 Likes

Thanks for making us aware of this change ahead of time. As someone who’s been on Roblox for over a decade and has more than 500 favorited places, I’d really like to have a way to continue to view my oldest favorites. It’s very fun to be able to go through and play the same games I played when I was a kid. PeZ’s recommendation of being able to at least reverse the sorting direction is a good one, but at worst, having a way to download a spreadsheet of our favorites would also be sufficient, even if it’s only temporary.

20 Likes

bro fr doesnt know og players exists

13 Likes

What kind of update warrants this? The whole point of paging APIs is to make it possible to scroll indefinitely. I don’t want Roblox to get too comfortable with slapping these random limits on everything, even if this one is rather permissible. Unless I’m missing something, the favourites would still be there, just inaccessible, until you remove a few off the top.

Not to give Roblox any ideas, but it’s still possible to scroll indefinitely on followers/following, which I would think has the same structure.

22 Likes

This will affect normal usage on the website, check out the favorites link in the post above. Basically you wont be able to page past 17 pages of a user’s favorites.

18 Likes

Re: BritishTrainspotter

This 500 item limit is only per category. Yes, this will affect the official Roblox website pages.

14 Likes

How does this affect the list-json API endpoint used on the Roblox site? i.e., https://www.roblox.com/users/favorites/list-json?assetTypeId=9&itemsPerPage=100&userId=[userId]?

This isn’t an official API as it’s under the roblox.com domain, but I’m assuming it is also affected?

13 Likes

Update - here’s a script that can be used to download all of your favorites as a CSV. This script will probably stop working after this month.

:warning: As always, don’t paste code into your browser console that you don’t fully understand, otherwise you will die instantly :warning:

const USER_ID = 261; // replace with your Roblox user ID

let page = 0;
let apiResponses = [];

async function main() {
  while (true) {
    console.log(`Fetching page ${page}...`);
    const response = await fetch(
      `https://www.roblox.com/users/favorites/list-json?assetTypeId=9&itemsPerPage=100&pageNumber=${page}&userId=${USER_ID}`
    ).then((d) => d.json());
    console.log(response);

    if (response.Data.Items.length === 0) {
      break;
    }

    apiResponses.push(response.Data.Items);
    page++;
  }
}

function convertArrayOfObjectsToCSV(data) {
  let csv = "";

  csv += "title,url\n";

  data.forEach((item) => {
    csv += `"${item.title}","${item.url}"\n`;
  });

  return csv;
}

main().then(() => {
  apiResponses = apiResponses.flat(); // flatten [[page1], [page2]] -> [...page, ...page2]

  // full API response
  console.log("Full API response:");
  console.log(apiResponses);

  // if you only want title and URL
  const titleUrl = apiResponses.map((place) => {
    return { title: place.Item.Name, url: place.Item.AbsoluteUrl };
  });
  console.log("Title and URL JavaScript object response:");
  console.log(titleUrl);

  // want CSV?
  console.log("CSV response:");
  console.log(convertArrayOfObjectsToCSV(titleUrl));
});

Here’s what the results look like (in Firefox at least):

To save this to your computer, expand the CSV response fully then right click → Copy Message. Paste the message into notepad/sublime text, remove the final line (it’s just the stack trace) and save as a file with a .csv extension. From there, you can open it in a spreadsheet software of your choice.

Side note: OnlyOffice seems to default to using Tab as a delimiter. This needs to be switched to Comma to parse the file correctly:

image

46 Likes