Skip to content

Games v1

Reference for the Games v1 endpoints on Roblox.

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

Method Path Name
GET /v1/games getGames
GET /v1/games/:universeId/favorites getGamesUniverseidFavorites
POST /v1/games/:universeId/favorites postGamesUniverseidFavorites
GET /v1/games/:universeId/favorites/count getGamesUniverseidFavoritesCount
GET /v1/games/:universeId/media getGamesUniverseidMedia
GET /v1/games/games-product-info getGamesGamesProductInfo
GET /v1/games/multiget-place-details getGamesMultigetPlaceDetails
GET /v1/games/multiget-playability-status getGamesMultigetPlayabilityStatus
GET /v1/games/recommendations/game/:universeId getGamesRecommendationsGameUniverseid
GET /v1/games/:placeId/servers/:serverType getGamesPlaceidServersServertype

GET /v1/games

Gets a list of games’ detail

Usage
import { fetchApi } from 'rozod';
import { getGames } from 'rozod/endpoints/gamesv1';
const data = await fetchApi(getGames, {
universeIds: /* number */,
fields: /* string? */
});
Name Type Required Description
universeIds number Yes A list of universe Ids. Cannot exceed a maximum of 50 IDs.
fields string? No Optional comma-separated list of field names to include in the response. When omitted, all fields are returned.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
id number
rootPlaceId number
name string
description string
sourceName string
sourceDescription string
creator object See below
price number
allowedGearGenres string[]
allowedGearCategories string[]
isGenreEnforced boolean
copyingAllowed boolean
playing number
visits number
maxPlayers number
created string
updated string
studioAccessToApisAllowed boolean
createVipServersAllowed boolean
universeAvatarType `1 2
genre string
genre_l1 string
genre_l2 string
untranslated_genre_l1 string
isAllGenre boolean
isFavoritedByUser boolean
favoritedCount number
licenseDescription string
refundLink string
localizedFiatPrice string
refundPolicy object See below
canonicalUrlPath string
isContentRestricted boolean
creationSource string

creator fields:

Field Type Description
id number
name string
type string
isRNVAccount boolean
hasVerifiedBadge boolean

refundPolicy fields:

Field Type Description
policyText string
learnMoreBaseUrl string
locale string
articleId string
Status Description
400 8: The universe IDs specified are invalid.
9: Too many universe IDs were requested.
429 4: Too many requests have been made.

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/endpoints/gamesv1';
const data = await fetchApi(getGamesUniverseidFavorites, {
universeId: /* integer */
});
Name Type Required Description
universeId integer Yes The Id of the universe.
Field Type Description
isFavorited boolean
Status Description
400 3: The universe's root place is invalid.
401 0: Authorization has been denied for this request.
404 2: 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/endpoints/gamesv1';
const data = await fetchApi(postGamesUniverseidFavorites, {
universeId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
universeId integer Yes The Id of the universe.
Field Type Description
isFavorited boolean

Type: unknown

Status Description
400 3: The universe's root place is invalid.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
11: You are not authorized to perform this action.
404 2: The requested universe does not exist.
429 4: 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/endpoints/gamesv1';
const data = await fetchApi(getGamesUniverseidFavoritesCount, {
universeId: /* integer */
});
Name Type Required Description
universeId integer Yes The Id of the universe.
Field Type Description
favoritesCount number
Status Description
400 3: The universe's root place is invalid.
404 2: 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/endpoints/gamesv1';
const data = await fetchApi(getGamesUniverseidMedia, {
universeId: /* integer */
});
Name Type Required Description
universeId integer Yes The id of the universe we get media data from.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
id number
assetTypeId number
assetType string
imageId number
videoHash string
videoTitle string
approved boolean
altText string
Status Description
400 3: The universe's root place is invalid.
404 2: 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/endpoints/gamesv1';
const data = await fetchApi(getGamesGamesProductInfo, {
universeIds: /* number */
});
Name Type Required Description
universeIds number Yes A list of universe Ids. Cannot exceed a maximum of 100 IDs.
Field Type Description
data object[] See below

data[] item fields:

Field Type Description
universeId number
isForSale boolean
productId number
price number
sellerId number
fiatPurchaseData object See below

fiatPurchaseData fields:

Field Type Description
localizedFiatPrice string
basePriceId string
Status Description
400 8: 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/endpoints/gamesv1';
const data = await fetchApi(getGamesMultigetPlaceDetails, {
placeIds: /* number */
});
Name Type Required Description
placeIds number Yes List of placeId to uniquely Identify a place

Array of objects:

Field Type Description
placeId number
name string
description string
sourceName string
sourceDescription string
url string
builder string
builderId number
hasVerifiedBadge boolean
isPlayable boolean
reasonProhibited string
universeId number
universeRootPlaceId number
price number
imageToken string
fiatPurchaseData object See below

fiatPurchaseData fields:

Field Type Description
localizedFiatPrice string
basePriceId string
Status Description
401 0: 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/endpoints/gamesv1';
const data = await fetchApi(getGamesMultigetPlayabilityStatus, {
universeIds: /* number */
});
Name Type Required Description
universeIds number Yes A list of universe Ids. Cannot exceed a maximum of 50 IDs.

Array of objects:

Field Type Description
playabilityStatus `“UnplayableOtherReason” “Playable”
isPlayable boolean
universeId number
unplayableDisplayText string
playableUxTreatment object See below
upsellUxTreatment object See below
demoModeAvailable boolean
privatePlaytestInfo object See below

playableUxTreatment fields:

Field Type Description
treatment string
data object See below

data fields:

Field Type Description
titleText string
bodyText string
primaryActionText string
secondaryActionText string

upsellUxTreatment fields:

Field Type Description
treatment string
data object See below

data fields:

Field Type Description
bodyText string

privatePlaytestInfo fields:

Field Type Description
isPlayable boolean
playabilityStatus `“UnplayableOtherReason” “Playable”
Status Description
400 8: The universe IDs specified are invalid.
9: Too many universe IDs were requested.
429 4: Too many requests have been made.

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

Get games recommendations based on a given universe

Usage
import { fetchApi } from 'rozod';
import { getGamesRecommendationsGameUniverseid } from 'rozod/endpoints/gamesv1';
const data = await fetchApi(getGamesRecommendationsGameUniverseid, {
universeId: /* integer */,
PaginationKey: /* string */,
MaxRows: /* integer */,
IsTruncatedResultsEnabled: /* boolean */
});
Name Type Required Description
universeId integer Yes The universe to base recommendations on
PaginationKey string Yes The 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.
MaxRows integer Yes The requested number of rows.
IsTruncatedResultsEnabled boolean Yes Truncated Results
Field Type Description
games object[] See below
nextPaginationKey string

games[] item fields:

Field Type Description
creatorId number
creatorName string
creatorType string
creatorHasVerifiedBadge boolean
totalUpVotes number
totalDownVotes number
universeId number
name string
placeId number
playerCount number
imageToken string
isSponsored boolean
nativeAdData string
isShowSponsoredLabel boolean
price number
analyticsIdentifier string
gameDescription string
genre string
minimumAge number
ageRecommendationDisplayName string
contentMetadata object See below
canonicalUrlPath string

contentMetadata fields:

Field Type Description
badgePosition string
badgeAnalyticsId string
badgeType string
badgeIcon string
badgeComponentType string
Status Description
400 1: The pagination key is invalid.
404 2: The requested universe does not exist.

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

Get the game server list

Usage
import { fetchApi } from 'rozod';
import { getGamesPlaceidServersServertype } from 'rozod/endpoints/gamesv1';
const data = await fetchApi(getGamesPlaceidServersServertype, {
placeId: /* integer */,
serverType: /* unknown */,
excludeFullGames: /* boolean? */,
cursor: /* string? */
});
Name Type Required Description
placeId integer Yes The Id of the place we are geting the server list for.
serverType unknown Yes The type of the server we geting the server list for.
excludeFullGames boolean? No Exclude full servers.
cursor string? No The paging cursor for the previous or next page.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
id string
maxPlayers number
playing number
playerTokens string[]
players object[] See below
fps number
ping number
name string
vipServerId number
accessCode string
owner object See below

players[] item fields:

Field Type Description
playerToken string
id number
name string
displayName string

owner fields:

Field Type Description
hasVerifiedBadge boolean
id number
name string
displayName string
Status Description
400 1: 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.
404 1: The place is invalid.