โฆ ROBLOX API PROXY
Your own roproxy.
Roblox game servers can't talk to Roblox's own website APIs. Call roproxy.davibevilla.com instead - it's ours, so another proxy going down never breaks your game.
How it works
Swap https://SERVICE.roblox.com/PATH for https://roproxy.davibevilla.com/SERVICE/PATH.
Example: https://friends.roblox.com/v1/users/1/followers/count โ https://roproxy.davibevilla.com/friends/v1/users/1/followers/count
Send your key in the X-Api-Key header (or ?key=). Get one with /keys in Discord or at bot.davibevilla.com/keys.
Limits per key: 60 a minute, 2,000 a day. Answers are cached for a few seconds to a few minutes, so asking the same thing again is fast. Every answer has an X-RateLimit-Remaining header.
Luau example
local HttpService = game:GetService("HttpService")
local KEY = "rpx_your_key_here" -- keep it in a SERVER script, never a LocalScript
local BASE = "https://roproxy.davibevilla.com"
-- does this player follow someone? (goes through every page of who they follow)
local function isFollowing(playerId, targetId)
local cursor = nil
for page = 1, 20 do
local url = BASE .. "/friends/v1/users/" .. playerId .. "/followings?limit=100&sortOrder=Desc"
if cursor then url ..= "&cursor=" .. cursor end
local ok, body = pcall(function()
return HttpService:GetAsync(url, true, { ["X-Api-Key"] = KEY })
end)
if not ok then return nil end -- could not check right now: try again later
local data = HttpService:JSONDecode(body)
for _, user in data.data or {} do
if user.id == targetId then return true end
end
cursor = data.nextPageCursor
if not cursor then return false end
end
return false
endTurn on Allow HTTP Requests in Game Settings โ Security.
Errors
401 no key / wrong key ยท 403 not an allowed endpoint ยท 404 unknown service ยท 429 too many requests (wait, or tomorrow) ยท 502 Roblox did not answer. Anything else is Roblox's own answer, passed straight through.
Allowed APIs & status
Checked automatically every few minutes.
GET /users/v1/users/{userId}GET /users/v1/users/{userId}/username-historyPOST /users/v1/usernames/usersPOST /users/v1/usersGET /friends/v1/users/{userId}/followingsGET /friends/v1/users/{userId}/followersGET /friends/v1/users/{userId}/followers/countGET /friends/v1/users/{userId}/friendsGET /groups/v1/groups/{groupId}GET /groups/v1/groups/{groupId}/rolesGET /groups/v2/users/{userId}/groups/rolesGET /thumbnails/v1/users/avatar-headshotGET /thumbnails/v1/games/iconsGET /games/v1/gamesGET /games/v1/games/votesGET /games/v1/games/{placeId}/servers/PublicGET /games/v2/users/{userId}/gamesGET /games/v1/games/{universeId}/game-passesGET /badges/v1/badges/{badgeId}GET /badges/v1/users/{userId}/badges/awarded-datesGET /inventory/v1/users/{userId}/items/{type}/{id}/is-ownedGET /inventory/v1/users/{userId}/can-view-inventoryGET /economy/v2/assets/{assetId}/detailsGET /avatar/v1/users/{userId}/avatar