RoProxy.com - A free, rotating proxy for Roblox APIs

I deployed to Heroku and I’ve tested the example endpoint provided in the README file (https://games.roblox.com/docs) and it worked fine.

However, when I tried utilizing the proxy to grab the endpoint http://setup.roblox.com/versionQTStudio, I got an error: “Proxy failed to connect. Please try again”. I used “/setup/versionQTStudio” in the request so I assume it should be working correctly.

setup.roblox.com has some funky TLS certificate if I remember correctly. For your case, I feel it’s worth mentioning that setup.roblox.com is mirrored to setup.rbxcdn.com which is accessible via HTTPService.

2 Likes

Oh, I didn’t know that. That’s awesome! Thanks!


I got this error while trying to use RoProxy, can somebody help me?

local function getPlaceData(placeId)
		local endpoint = "https://games.roproxy.com//v1/games/multiget-place-details?placeIds="..placeId 
		return GET(endpoint)
	end

	local function getUniverseData(universeId)
		local endpoint = "https://games.roproxy.com//v1/games?universeIds="..universeId
		return GET(endpoint)
	end

The multiget-place-details endpoint requires you to be logged in - try apis/universes/v1/places/{placeId}/universe (to get the universe id) in combination with your getUniverseData function.

Like this?

local function getPlaceData(placeId)
		local endpoint = "https://games.roproxy.com//v1/games/multiget-place-details?placeIds="..placeId 
		return GET(endpoint)
	end

	local function getUniverseData(universeId)
		local endpoint = "https://games.roproxy.com/apis/universes/v1/places/"..universeId.."/universe"
		return GET(endpoint)
	end

Also heres more code:

local function Proxy(url) 
		return url 
	end

	local function GET(url)
		url = Proxy(url)
		local result
		local Success, Error = pcall(function()
			result = HttpService:GetAsync(url)
			result = HttpService:JSONDecode(result)
		end)
		if Success then 
			return result 
		else 
			warn(Error)
		end
	end

	local function getPlaceData(placeId)
		local endpoint = "https://games.roproxy.com//v1/games/multiget-place-details?placeIds="..placeId 
		return GET(endpoint)
	end

	local function getUniverseData(universeId)
		local endpoint = "https://games.roproxy.com/apis/universes/v1/places/"..universeId.."/universe"
		return GET(endpoint)
	end

Pretty sure that’s the exact same code you sent before - don’t use games/v1/games/multiget-place-details. It requires authentication. The games/v1/games?universeIds={universeId} endpoint should have all the data you need, and if you don’t already have the universeId you can get it with the apis/universes/v1/places/{placeId}/universe endpoint. What’s your use case?

Very useful tool to use for proxies!

I’m generating random game ID’s for a Super Place Roulette game I am making. I am trying to find out how to find out whether the game is public or not based off of the ID.

Btw, will this work?

local function getPlaceData(placeId)
		local endpoint = "https://games.roproxy.com/apis/universes/v1/places/"..placeId.."/universe"
		return GET(endpoint)
	end

	local function getUniverseData(universeId)
		local endpoint = "https://games.roproxy.com/apis/universes/v1/places/"..universeId.."/universe"
		return GET(endpoint)
	end

No, those endpoints don’t exist. Regardless, I don’t think there’s a way to check if a game is public without authentication. All endpoints I’m aware of return an “isPlayable” property - which is based on the authenticated user. If you’d still like to do so, feel free to host your own instance of RoProxy Lite and send a cookie along with your requests.

Hi,

I’ve sent you a PM. Please take a look at it when you get a chance.

Thanks.

will roproxy support https://premiumfeatures.roblox.com?

I’m trying to build a server list for my game, but it’s refusing to print out my games servers, giving me “HTTP 403 (Forbidden)”… Does RoProxy not support this feature?

local httpService = game:GetService("HttpService")
local url = "https://games.roproxy.com/v1/games?universeIds=4165271081"

function getserverlist(placeId)
	
	local cursor
	local servers = {}
	repeat
		

		local url2 = httpService:JSONDecode(httpService:GetAsync("https://games.roproxy.com/v1/games/" .. placeId .. "/servers/Public?sortOrder=Asc&limit=100" .. (cursor and "&cursor=" .. cursor or "")))

		cursor = url2.nextPageCursor
		
	until not cursor
	
return servers
	
end

local response = httpService:GetAsync(url)
local data = httpService:JSONDecode(response)

wait(5)

getserverlist(4165271081)

game.ReplicatedStorage.UpdatePlayers:FireAllClients("KIYOSHIRI", data.data[1].playing)

@V_lidus see the above post about the servers endpoint:

1 Like

Is there an alternative then? I don’t have the funds to host my own server…

Also what was malicious about RoSearcher? (I’m not familiar with it)

RoSearcher was an extension that used the server endpoint to search for players on any server in any game. It basically checked the pfp’s on the user list of the server to check for the player. The developer later installed a back door that would steal your roblosecurity cookie.

Anyways, most people use MessagingService for server lists, check out the docs or tutorials.

2 Likes

Wait, so if the issue was that he installed a backdoor, why would the creator of roproxy disable endpoints for servers? That wouldn’t stop the backdoor?

Anyways, most people use MessagingService for server lists, check out the docs or tutorials.

I’ll have to look into this, thanks.

1 Like

Tracking players this way is against tos.

2 Likes

This is an amazing resource! You can freely access Roblox Resources with this rather than getting the annoying warning message: HTTPService can’t access Roblox Resources

This is also a Free Proxy which is great since some people can’t afford a proxy, but they can look for alternatives that are free like this! (I can’t afford a proxy, so I use this instead and it works well! :+1:)

Incredible work! This deserved an +1 :heart:

Overall:
10/10!

1 Like