Roblox API shows all badges of a user, even if their inventory privacy is set to private

Basically, go to a user with a private inventory ( for example my alt which is BobTheShrub - Roblox )

As you can see, I cannot see all the badges my alt has by default.

However, now, I’ll get the User ID which is 7576828074.

Copy and paste https://badges.roblox.com/v1/users/{userid}/badges?limit=100&sortOrder=Asc in the address bar
Replace {userid} with the user id of the player ( So, in this case, it’s going to turn out as “https://badges.roblox.com/v1/users/7576828074/badges?limit=100&sortOrder=Asc” )

Now navigating to the URL, you’ll see a list of the latest 100 badges ( you can see more by chaging pages, this is not supposed to happen as it’s only supposed to show the last 6 which are displayed on the user’s profile by default. )

Expected behavior

The API Should only return the last 6 badges, which is the default number of badges to display on a profile. ( like in the image )

3 Likes

Hi @GamingYouTube14 ,
Thanks for bringing this to our attention. I lead the Badges team. If I understand correctly, you are saying that the UI is not handling the privacy of Badges consistently? You have set your inventory to private. Yet, on the main user page, you see the first 6 Badges. Then, when clicking “See All”, you cannot see details of any Badges, including the 6 you could see on the main page. This is very inconsistent. You’d expect to at least see the six Badges on Inventory or all of them.

I believe Badges are supposed to always be public so that it is the Inventory page that should show all the Badges. I don’t believe we consider Badges to be Inventory items but a separate entity all together. However that Inventory page is misleading in this regard. I will follow up with Product and Engineering on the best way to make this more consistent.

7 Likes

Oh so it isn’t a bug with the API displaying items not supposed to be displayed, but the opposite ( inventory not displaying items supposed to be displayed) ?

In the post, I was saying that the API is returning badges you are usually not able to see with the normal roblox UI, not that the UI was not displaying badges you were supposed to see, by the way

1 Like

Hi @GamingYouTube14,
Thank you for reaching out with this issue, and for your patience. We have spent some time looking into this inconsistency.

While it is inconsistent, as of now it is the expected behavior. Badges have historically been public, hence why they are visible on the profile page and via the Badges API. However, since the full list of Badges is shown on the Inventory page, it is blocked by the inventory privacy configurations.

Thank you for making us aware of this, and we understand it is not a great pattern. We have added it to our backlog, but at this moment it is of low priority. We will get back to you with updates when we do work on it!

2 Likes

So this means I can’t fetch badges of private inventories, even my own games? So an in-game badge viewer won’t work anymore?

You can, the weird part is that you can fetch them but not see them in the inventory page.

1 Like