MarketplaceService:GetProductInfo() Rate limit

I am working on a catalog system that needs to get product info. I learned that if I tried calling :GetProductInfo() for every item I quickly hit rate limits. Due to this, I made a cache for items that were already called which greatly reduced the number of calls. However, new items still use :GetProductInfo(). My question is how many requests are allowed per minute, and more specifically are requests per client or per server? If they are per client then this system meets my needs, however, if they are per server it may become an issue.

I tried doing some little test with this code :

local n = 0
local t = 0 
pcall(function() 
 while true do 
    t+=task.wait() 
    local o = os.clock() 
    game:GetService("MarketplaceService"):GetProductInfo(125378389)
    t+= (os.clock()-o) 
    n += 1 
 end 
end) 
print(n,t)


Here are the results.
So each time I did it could only use GetProductInfo 100 times for around 40 seconds before it raises a HTTP 429 error.I would have to do further tests to figure out whether the limit is server or client based.

I tried doing a test in both client and server. I made the server script to start when the player joins while a local script inside the player does the same function. Here are the results
image
The amount is halved here so its probably per server.

Dang, that is quite unfortunate, thanks. I don’t think it will cause problems right off the bat, but I will see what happens.