Expose a way to get a server's region

As it stands, there is no easy way to retrieve the region of a Roblox server without relying on frequently inaccurate third-party geo-ip endpoints.

As of a few days ago, the only free geo-ip API without request limits stopped reporting Roblox server regions accurately. Previously, as detailed in this thread, the endpoint at http://ip-api.com/json/ was used by many developers to retrieve accurate server geolocation information. Now all requests made to this specific API report Roblox servers as being located in California, instead of their actual locations.

Now developers are facing having to pay hefty bills for paid API’s that have retained their accuracy for reporting Roblox server regions. One such API, ipapi.co, costs $144 a year for a limit of 60,000 requests a month. Roblox experiences with a decent userbase can easily reach well beyond this limit. Our game, Deepwoken, with an average of 4-6k players, makes geo-ip location requests on server start. According to our analytics, this can be upwards of 50,000 requests a month. Without exposing server regions, Roblox developers who wish to provide information on servers to their users through server lists will have to pay hundreds of dollars a year.

It’s worth noting that player regions are already exposed through LocalizationService:GetCountryRegionForPlayerAsync.

Knowing which region a server is in is incredibly useful information for players to have access to, as it enables players to make an informed choice in what servers are best for them to play in in order for them to have the smoothest play experience. Without server lists, players find it difficult to find their friends in servers, and have to rely on Roblox’s default matchmaking which often does not meet the needs of the user, as they have no control. Even just being able to get the timezone or continent a server is based in would be incredibly useful.


Support. A game I’m developing for right now is a first person shooter with custom matchmaking, and for a period in time when this change occurred, every player was suddenly getting 300ms+ ping- which really really matters in a first person shooter. We now rely on an external server we already had for this, however that makes little sense for games without a pre-existing external server. A built-in way to get a servers region would be incredibly helpful.


Im pretty sure theres a way to get server regions, I think arsenal has done it, However im pretty sure revealing such information could be quite daunting depending on whoever is looking at that information regardless of it being used for a server region search, Idk thats my opinion but yeah, Weird that they wouldnt create a way for a region system to work!


Arsenal resorts to an external server in order to get that information, as @ffrostfall said - “We now rely on an external server”. This is pretty tedious, especially when developers have to pay for the server.


Ik, I dont understand why roblox would want to get people to rely on external servers when they are losing out on the $ sounds to me like a generic mistake that they need to fix, Cause it would save everyone money and time if they added their own function to the engine to make developers jobs way easier, This might be something we could see in the future hopefully


I would love for Roblox to have a game:GetServerRegion method or something similar, so I can use it in my server lists instead of relying on HTTP service


Why is this not implemented yet? It really does feel like I’m talking to a brick wall when I file feature requests and I’m not having it.


Bump. We still really need this, and maybe we could get some more comments on it given recent events?


Yet another bump. This still a very necessary feature for competitive games.


The http://ip-api.com/json/ endpoint works for Roblox servers again.


As a developer who has to use APIs to get Server Locations for Arsenal and Typical Colors 2, Roblox constantly changing their Server VPS locations makes using geolocation apis all the more difficult. We’re constantly updating the IPs their proxys use in order to get the actual location. If this were a native function then it would certainly help with matchmaking and estimating the ping.


I am debating adding a competitive mode for a game I’m developing for. This is something that makes me not want to. I would really like a reason as to why it’s not implemented yet.



Two top experiences I develop for, Grand Piece Online and Peroxide, both use an API to grab server locations, however, as Peroxide’s peak player base is at 80k (and for the past few days usually at around 60k players) they both hit the API limit for these services which cost a hefty amount. Being able to just grab the server’s region to display to users, as well as, use for a server list so players can choose servers closer to their region would help us a lot. This feature could help games a lot despite how benign it may seem.


Hey I’ve been playing GPO for long time,do you know what API they use ?

1 Like

if im not wrong (correct me i might be wrong)


this is server region (i tried this as server script it printed en-us which is united states)

so basicially roblox was exposing the region for the entire time with LocalizationService lol

1 Like

That doesn’t expose anything important, like state or district.

doesnt matter OP asked for server region and he got server region

That’s not even a region, it’s a locale.

This API is inaccurate since it’s based on language and not region. UK servers and Canada servers show up as US because en-us is the only supported dialect.

As an update, the third party API is still malfunctioning, as it thinks servers in Europe are actually Texas. At this point, there are no accurate third party API’s for geolocation left.

1 Like

Roblox has so many rich analytics tools with lots of information about servers so it doesn’t feel like a stretch to ask for Roblox to allow us to query some of that data like region for our own analytics or systems. Matchmaking has become a big part of experiences and region connection can often make a big difference in the player experience especially for multiplayer experiences where timing means a great deal (e.g. fighting games).

Would really love this.