Does anyone happen to know the exact rate limit for MarketplaceService:GetProductInfo()?
I’m hoping to create an in-game catalog service where players can insert their own IDs to get accessories, and to display certain vital information about the assets players are inserting I need to use GetProductInfo. My fear is that, in a game with too many people, users could reach the rate limit for :GetProductInfo. To prevent this, I need to know what the rate limit for the service is.
I’ve searched through as much as I can find, the official page for the function, MarketplaceService | Roblox Creator Documentation, didn’t have any relevant information for my question, and I searched through the developer forum for any relevant information, but couldn’t find anything substantial.
local MarketPlaceService = game:GetService('MarketplaceService')
local Table = {
8697828215,
8697880453,
8697872446,
8697842803,
8698648139,
7797492492,
35686032,
6066001918,
4717929453,
5804488881,
7797594406,
5765322674,
2226792069,
6594685176
}
x = 1
while true do
for _, TStuff in pairs(Table) do
print(MarketPlaceService:GetProductInfo(TStuff))
print(TStuff)
wait()
print(x)
x = x+1
end
end
I did hit a 100/minute rate limit in a server script, but going into an actual game, rather than a studio instance, had the count go up past 600 per minute. I’m not sure if this is because I was recycling the same 14 IDs, or if the limit really is that high for a 1 player game, but it didn’t really leave me with much to go off of. I could try just straight up listing 100+ different IDs but that seems like, to be quite honest, an extremely large amount of time to waste for something like this. A post I saw earlier seemed to think that the cap was 600 on the server and 300 on the client, but I’m not really sure what to make of that because I just hit ~700 with a server script before I ended the game instance.
You’re probably triggering an internal cache so it’s returning the information you’ve already queried rather than performing a new request. 100 requests per minute seems accurate but you’ll probably need a broader scale test to confirm that’s accurate (need significantly more IDs in the table).
Yeah, I was doing some additional tests and, with different assets, I was able to hit just 100/minute on the client but 600/minute on the server. Going to have to see if these numbers stack, ie. 600 + 100/client, or what the case may be.