HTTP 429 (Too many requests)

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want to send multiple http requests to get the players full limited inventory.

  2. What is the issue? Include screenshots / videos if possible!
    The issue is that after 2 or 3 (random low amount) of http requests it would give the error HTTP 429 (Too Many Requests)

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I tried to put this code into the console and ran it 3 times, yet it still gave me the error:

local HttpService = game:GetService("HttpService")
local link = "https://inventory.rprxy.xyz/v1/users/1/assets/collectibles?limit=100" local JSON = HttpService:GetAsync(link)
local tempData = HttpService:JSONDecode(JSON)
print(tempData)

Now I thought that there was a max of 500 requests per minute so I don’t know why its happening.

1 Like

This is an issue I ran into a while ago, while simply making a bug reports system.

I ended up fixing it by removing the potential for more requests to be sent, which I did by limiting players to one report per day.

This is likely just a coincidence, however it’s worth a go?

If that doesn’t work (i cant think of a way to implement it in your case), it’s likely what happened with a system I had which simply requested group info to display a member count every 5 minutes. I haven’t found a solution to that one yet, and it only sends one request per five minutes and is the only script in the game which makes requests.
Still threw the error at me after just one request however, and I have not figured out why.

Yeah I just found this thread which is similar (except this time its with HTTP requests instead of DataStores but I think its the same issue.

In my instance, where I get the users limiteds, sometimes it throws the error, sometimes it doesn’t. Here is the game that I’m referring to. If you get a few billboards above your head when you join, everything went like its supposed to go, if not, then it falsely errored.

I’m pretty sure the most requests my script sends per player is 19 (that’s if you own the limiteds Roblox has released, if not, then divide your limiteds by 100 and round it up)

1 Like

There are some HTTPSERVICE trackers and stuff which allow you to see how much of the limit you’re using. You should test that.

I see where you are coming from but the thing is, even if I open a fresh studio and run this code:

local HttpService = game:GetService("HttpService")
local link = "https://inventory.rprxy.xyz/v1/users/1/assets/collectibles?limit=100" local JSON = HttpService:GetAsync(link)
local tempData = HttpService:JSONDecode(JSON)
print(tempData)

which only has 2 cases of use for HTTP service and run it a couple times (5 at most) then it will error despite the maximum being 500.
I doubt this is only happening for me so I would appreciate if you could run that in console a few times and tell me what happens, thank you for your response.

An HTTP 429 error is returned by their webserver for hitting their rate limits. Your thinking about all of HTTPService which has a limit of 500 requests per a minute. You’ll have to not send all the requests at once. Also note that AvatarEditorService (not enabled yet) will be able to do what your trying to do without proxying to the Roblox API when it is enabled.

Oh yeah I tried loading the api a few times and noticed that the rate limit has been reached, so should I just make my own proxy server using a free service such as Heroku for the time being?