Skip to content

Games v1

Reference for the Games v1 endpoints on Roblox.

Base URL: https://games.roblox.com

MethodPathName
GET/v1/gamesgetGames
GET/v1/games/:placeId/private-serversgetGamesPlaceidPrivateServers
GET/v1/games/:placeId/servers/:serverTypegetGamesPlaceidServersServertype
GET/v1/games/:universeId/favoritesgetGamesUniverseidFavorites
POST/v1/games/:universeId/favoritespostGamesUniverseidFavorites
GET/v1/games/:universeId/favorites/countgetGamesUniverseidFavoritesCount
GET/v1/games/:universeId/mediagetGamesUniverseidMedia
GET/v1/games/games-product-infogetGamesGamesProductInfo
GET/v1/games/multiget-place-detailsgetGamesMultigetPlaceDetails
GET/v1/games/multiget-playability-statusgetGamesMultigetPlayabilityStatus
GET/v1/games/recommendations/game/:universeIdgetGamesRecommendationsGameUniverseid
GET/v1/private-servers/enabled-in-universe/:universeIdgetPrivateServersEnabledInUniverseUniverseid

GET /v1/games

Gets a list of games’ detail

Usage
import { fetchApi } from 'rozod';
import { getGames } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGames, {
universeIds: /* number */,
languageCode: /* string? */
});
NameTypeRequiredDescription
universeIdsnumberYesA list of universe Ids. Cannot exceed a maximum of 50 IDs.
languageCodestring?NoThe HTML language code [optional].
FieldTypeDescription
dataobject[]See below

data[] item fields:

FieldTypeDescription
idnumber
rootPlaceIdnumber
namestring
descriptionstring
sourceNamestring
sourceDescriptionstring
creatorobjectSee below
pricenumber
allowedGearGenresstring[]
allowedGearCategoriesstring[]
isGenreEnforcedboolean
copyingAllowedboolean
playingnumber
visitsnumber
maxPlayersnumber
createdstring
updatedstring
studioAccessToApisAllowedboolean
createVipServersAllowedboolean
universeAvatarType`12
genrestring
genre_l1string
genre_l2string
untranslated_genre_l1string
isAllGenreboolean
isFavoritedByUserboolean
favoritedCountnumber
licenseDescriptionstring
refundLinkstring
localizedFiatPricestring
refundPolicyobjectSee below

creator fields:

FieldTypeDescription
idnumber
namestring
typestring
isRNVAccountboolean
hasVerifiedBadgeboolean

refundPolicy fields:

FieldTypeDescription
policyTextstring
learnMoreBaseUrlstring
localestring
articleIdstring
StatusDescription
4008: The universe IDs specified are invalid.
9: Too many universe IDs were requested.
4294: Too many requests have been made.

GET /v1/games/:placeId/private-servers

Get list of private servers user can access for given game id.

Usage
import { fetchApi } from 'rozod';
import { getGamesPlaceidPrivateServers } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesPlaceidPrivateServers, {
placeId: /* integer */,
excludeFriendServers: /* boolean? */,
cursor: /* string? */,
sortOrder: /* enum */
});
NameTypeRequiredDescription
placeIdintegerYesThe Id of the place we are geting the private server list for.
excludeFriendServersboolean?No
cursorstring?NoThe paging cursor for the previous or next page.
sortOrderenumYesThe order the results are sorted in.
FieldTypeDescription
gameJoinRestrictedboolean
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
idstring
maxPlayersnumber
playingnumber
playerTokensstring[]
playersobject[]See below
fpsnumber
pingnumber
namestring
vipServerIdnumber
accessCodestring
ownerobjectSee below

players[] item fields:

FieldTypeDescription
playerTokenstring
idnumber
namestring
displayNamestring

owner fields:

FieldTypeDescription
hasVerifiedBadgeboolean
idnumber
namestring
displayNamestring
StatusDescription
4001: The place is invalid.
7: Guest users are not allowed.
4041: The place is invalid.

GET /v1/games/:placeId/servers/:serverType

Get the game server list

Usage
import { fetchApi } from 'rozod';
import { getGamesPlaceidServersServertype } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesPlaceidServersServertype, {
placeId: /* integer */,
serverType: /* unknown */,
excludeFullGames: /* boolean? */,
cursor: /* string? */
});
NameTypeRequiredDescription
placeIdintegerYesThe Id of the place we are geting the server list for.
serverTypeunknownYesThe type of the server we geting the server list for.
excludeFullGamesboolean?NoExclude full servers.
cursorstring?NoThe paging cursor for the previous or next page.
FieldTypeDescription
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
idstring
maxPlayersnumber
playingnumber
playerTokensstring[]
playersobject[]See below
fpsnumber
pingnumber
namestring
vipServerIdnumber
accessCodestring
ownerobjectSee below

players[] item fields:

FieldTypeDescription
playerTokenstring
idnumber
namestring
displayNamestring

owner fields:

FieldTypeDescription
hasVerifiedBadgeboolean
idnumber
namestring
displayNamestring
StatusDescription
4001: The place is invalid.
6: The server type is invalid. For fetching private servers, please use https://games.roblox.com/v1/games/{placeId}/private-servers.
7: Guest users are not allowed.
4041: The place is invalid.

GET /v1/games/:universeId/favorites

Returns if a game was marked as favorite for the authenticated user

Usage
import { fetchApi } from 'rozod';
import { getGamesUniverseidFavorites } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesUniverseidFavorites, {
universeId: /* integer */
});
NameTypeRequiredDescription
universeIdintegerYesThe Id of the universe.
FieldTypeDescription
isFavoritedboolean
StatusDescription
4003: The universe’s root place is invalid.
4010: Authorization has been denied for this request.
4042: The requested universe does not exist.

POST /v1/games/:universeId/favorites

Favors (or unfavors) a game for the authenticated user

Usage
import { fetchApi } from 'rozod';
import { postGamesUniverseidFavorites } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(postGamesUniverseidFavorites, {
universeId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universeIdintegerYesThe Id of the universe.
FieldTypeDescription
isFavoritedboolean

Type: unknown

StatusDescription
4003: The universe’s root place is invalid.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
11: You are not authorized to perform this action.
4042: The requested universe does not exist.
4294: Too many requests have been made.

GET /v1/games/:universeId/favorites/count

Get the favorites count of a specific game.

Usage
import { fetchApi } from 'rozod';
import { getGamesUniverseidFavoritesCount } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesUniverseidFavoritesCount, {
universeId: /* integer */
});
NameTypeRequiredDescription
universeIdintegerYesThe Id of the universe.
FieldTypeDescription
favoritesCountnumber
StatusDescription
4003: The universe’s root place is invalid.
4042: The requested universe does not exist.

GET /v1/games/:universeId/media

Get the game media data

Usage
import { fetchApi } from 'rozod';
import { getGamesUniverseidMedia } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesUniverseidMedia, {
universeId: /* integer */
});
NameTypeRequiredDescription
universeIdintegerYesThe id of the universe we get media data from.
FieldTypeDescription
dataobject[]See below

data[] item fields:

FieldTypeDescription
idnumber
assetTypeIdnumber
assetTypestring
imageIdnumber
videoHashstring
videoTitlestring
approvedboolean
altTextstring
StatusDescription
4003: The universe’s root place is invalid.
4042: The requested universe does not exist.

GET /v1/games/games-product-info

Gets a list of games’ product info, used to purchase a game

Usage
import { fetchApi } from 'rozod';
import { getGamesGamesProductInfo } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesGamesProductInfo, {
universeIds: /* number */
});
NameTypeRequiredDescription
universeIdsnumberYesA list of universe Ids. Cannot exceed a maximum of 100 IDs.
FieldTypeDescription
dataobject[]See below

data[] item fields:

FieldTypeDescription
universeIdnumber
isForSaleboolean
productIdnumber
pricenumber
sellerIdnumber
fiatPurchaseDataobjectSee below

fiatPurchaseData fields:

FieldTypeDescription
localizedFiatPricestring
basePriceIdstring
StatusDescription
4008: The universe IDs specified are invalid.
9: Too many universe IDs were requested.

GET /v1/games/multiget-place-details

Get place details

Usage
import { fetchApi } from 'rozod';
import { getGamesMultigetPlaceDetails } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesMultigetPlaceDetails, {
placeIds: /* number */
});
NameTypeRequiredDescription
placeIdsnumberYesList of placeId to uniquely Identify a place

Array of objects:

FieldTypeDescription
placeIdnumber
namestring
descriptionstring
sourceNamestring
sourceDescriptionstring
urlstring
builderstring
builderIdnumber
hasVerifiedBadgeboolean
isPlayableboolean
reasonProhibitedstring
universeIdnumber
universeRootPlaceIdnumber
pricenumber
imageTokenstring
fiatPurchaseDataobjectSee below

fiatPurchaseData fields:

FieldTypeDescription
localizedFiatPricestring
basePriceIdstring
StatusDescription
4010: Authorization has been denied for this request.

GET /v1/games/multiget-playability-status

Gets a list of universe playability statuses for the authenticated user

Usage
import { fetchApi } from 'rozod';
import { getGamesMultigetPlayabilityStatus } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesMultigetPlayabilityStatus, {
universeIds: /* number */
});
NameTypeRequiredDescription
universeIdsnumberYesA list of universe Ids. Cannot exceed a maximum of 50 IDs.

Array of objects:

FieldTypeDescription
playabilityStatus`“UnplayableOtherReason""Playable"
isPlayableboolean
universeIdnumber
unplayableDisplayTextstring
playableUxTreatmentobjectSee below

playableUxTreatment fields:

FieldTypeDescription
treatmentstring
dataobjectSee below

data fields:

FieldTypeDescription
titleTextstring
bodyTextstring
primaryActionTextstring
secondaryActionTextstring
StatusDescription
4008: The universe IDs specified are invalid.
9: Too many universe IDs were requested.

GET /v1/games/recommendations/game/:universeId

Get games recommendations based on a given universe

Usage
import { fetchApi } from 'rozod';
import { getGamesRecommendationsGameUniverseid } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getGamesRecommendationsGameUniverseid, {
universeId: /* integer */,
PaginationKey: /* string */,
MaxRows: /* integer */,
IsTruncatedResultsEnabled: /* boolean */
});
NameTypeRequiredDescription
universeIdintegerYesThe universe to base recommendations on
PaginationKeystringYesThe key of a page, which includes the start row index and all other necessary information to query the data. This parameter is usually not needed for the first page.
MaxRowsintegerYesThe requested number of rows.
IsTruncatedResultsEnabledbooleanYesTruncated Results
FieldTypeDescription
gamesobject[]See below
nextPaginationKeystring

games[] item fields:

FieldTypeDescription
creatorIdnumber
creatorNamestring
creatorTypestring
creatorHasVerifiedBadgeboolean
totalUpVotesnumber
totalDownVotesnumber
universeIdnumber
namestring
placeIdnumber
playerCountnumber
imageTokenstring
isSponsoredboolean
nativeAdDatastring
isShowSponsoredLabelboolean
pricenumber
analyticsIdentifierstring
gameDescriptionstring
genrestring
minimumAgenumber
ageRecommendationDisplayNamestring
canonicalUrlPathstring
StatusDescription
4001: The pagination key is invalid.
4042: The requested universe does not exist.

getPrivateServersEnabledInUniverseUniverseid

Section titled “getPrivateServersEnabledInUniverseUniverseid”

GET /v1/private-servers/enabled-in-universe/:universeId

Checks if the private servers are enabled in the specified universe.

Usage
import { fetchApi } from 'rozod';
import { getPrivateServersEnabledInUniverseUniverseid } from 'rozod/lib/endpoints/gamesv1';
const data = await fetchApi(getPrivateServersEnabledInUniverseUniverseid, {
universeId: /* integer */
});
NameTypeRequiredDescription
universeIdintegerYes
FieldTypeDescription
privateServersEnabledboolean
StatusDescription
4008: The universe IDs specified are invalid.