Roblox api: Checking place Playability without authentication

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 am trying to create a game that randomly finds places on Roblox. I am trying to filter places that are private.

  2. What is the issue? Include screenshots / videos if possible!
    multiget-playability-status in the Roblox API always returns false, even on public games, as it requires a roblox cookie. same with multiget-place-details

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Yes, I have tried a lot of solutions, such as multiget-place-details and multiget-playability-status but those require an authenticated user.

Code to check if it is private:

function getPlayability(universeId)
    local url = "https://games.roproxy.com/v1/games/multiget-playability-status? 
    universeIds="..universeId 
	return HttpService:JSONDecode(HttpService:GetAsync(url))[1].isPlayable
end

Use HttpService:JSONDecode(). I’m assuming you have this in a pcall so there is no error.

Oh, sorry my bad. that is not the problem, as i have it typed correctly in my script.

Are you using game.GameId for the argument then?

No, not exactly. I am randomly generating PlaceIds and validating them using MarketPlaceService.
I am then getting the universeId using this code, then checking Playability.

function getUniverse(placeId)
	local endpoint = "https://apis.roproxy.com/universes/v1/places/"..placeId.."/universe"
	local id = GET(endpoint).universeId
end

Try getting a universe id you for sure know is playable, and one that isn’t, and see what the api returns. I never used this api before!

I have done that before with a public game of mine. 4444961092 is the id.
When using the api, it shows it is not playable.
https://games.roproxy.com/v1/games/multiget-playability-status?universeIds=4444961092

But if you go to the website, it returns this:

[{"playabilityStatus":"Playable","isPlayable":true,"universeId":4444961092}]

So maybe it is erroring, or maybe isPlayable is actually nil and it is returning an error in the json. Have you printed out the json and not just the value isPlayable?

It only shows true if the user is authenticated. With unauthenticated users it always shows isPlayable as false.

Is it possible to get the isPlayable status for just a normal user on roblox without having to authenticate it?

This is the response for a unauthenticated user.

[{"playabilityStatus":"GuestProhibited","isPlayable":false,"universeId":4444961092}]

For me it is false, could it be device based?

Oh, I didn’t account for authentication. Maybe try finding if the place is private? But if you can’t, then you can’t do this unfortunately.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.