Increase CheckUserBadgesAsync badges per request to 100

As a Roblox developer, it is currently too hard to query a user’s badge ownership for lots of badges at once.

I’m creating an experience around sharing badges you’ve achieved across the platform. I’m currently using RoProxy to use the badge API endpoints (specifically /users/{Id}/badges/awarded-dates?badgeIds={Ids}), because CheckUserBadgesAsync is limited to 10 badges per request. With 5 requests per player, that’s only 50 badges per minute per player. My experience has thousands! The Web API allows for querying 100 badges per request; assuming the current CheckUserBadgesAsync ratelimits, using the Web API would be 500 badge checks per minute per player, instead of the CheckUserBadgesAsync limit of 50. That’s a huge difference!

I would love to get away from using RoProxy since it has plenty of flaws (and it fails regularly), but I currently cannot because of the extremely small limit with CheckUserBadgesAsync compared to the Badge API, otherwise players would have to wait 10+ minutes for everything to load. If Roblox is able to address this issue, it would allow me to get away from using a proxy in production and use native API instead.

Shoutout to @Abcreator for mentioning this on the CheckUserBadgesAsync announcement thread, makes me feel better that I’m not alone on this!

Thanks!

6 Likes

Thanks for filing this request. At this time, we won’t be raising the limit for this endpoint. While we understand this makes it difficult to implement what you’re trying to do in your experience, it’s not what the badges system is designed for.

If it fits your use case, we encourage you to use Data Stores or Memory Stores to cache previously-fetched badge awards.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.