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!