Getting a Place's Server List

This is super basic, but this is just a super quick explanation as to how you could get the full list of servers of a game.

Roblox has a very open (and well documented) games api that you can use with HttpService. There’s a lot of stuff in that API, however the endpoint we’re looking for is the /v1/games/{placeId}/servers/{serverType}. The documentation will essentially help you build a URL you can GET from, however a minor issue is that you’re limited to only 100 servers at a time. This could easily be mitigated with a while loop. I made a quick example of a function that would get all the servers of a specified placeId below:

local HttpService = game:GetService("HttpService")

function getServerList(placeId)
    local cursor
    local servers = {}
        local response = HttpService:JSONDecode(HttpService:GetAsync("" .. placeId .. "/servers/Public?sortOrder=Asc&limit=100" .. (cursor and "&cursor=" .. cursor or "")))
        for _, v in pairs( do
            table.insert(servers, v)
        cursor = response.nextPageCursor
    until not cursor
    return servers

As shown in the games API documentation, the array this function returns should be filled with objects formatted like so:

    "id": "00000000-0000-0000-0000-000000000000",
    "maxPlayers": 0,
    "playing": 0,
    "playerIds": [
    "fps": 0,
    "ping": 0,
    "name": "string",
    "vipServerId": 0,
    "accessCode": "00000000-0000-0000-0000-000000000000"

(yes id is the job id)

Hope you found this helpful, cheers!

EDIT: You may want to add a delay in-between requests to avoid being rate-limited.


Very interesting, thanks for sharing

Have you actually tested this? You can’t access Roblox endpoints from inside Roblox?


Roblox servers cant send requests to domains outside the internal service HttpRbxApiService, where it’s methods are all behind RobloxScriptSecurity, meaning you cant use it.

afaik, this is done to prevent roblox servers from ddosing their own site.

1 Like