For the complete documentation index, see llms.txt. This page is also available as Markdown.

Places

Operations for discovering and managing places (scenes) in Genesis City. Places are deployable scenes located at specific parcel coordinates in the main Decentraland world.

List places with filters

get
/places

Retrieve a paginated list of places (scenes) in Genesis City with extensive filtering and sorting options.

Common Use Cases:

  • Get most popular places: ?order_by=like_score&limit=20

  • Search by name: ?search=casino

  • Find places at coordinates: ?positions=-23,-96

  • Get user's favorites: ?only_favorites=true (requires auth)

Performance Tips:

  • Use pagination (limit/offset) for large result sets

  • Cache results when possible

  • Use with_realms_detail=true only when you need real-time user counts

Query parameters
limitinteger · max: 100Optional

Maximum number of places to return (max 100)

Default: 100Example: 20
offsetintegerOptional

Number of places to skip for pagination

Default: 0Example: 0
positionsstring[] · max: 1000Optional

Filter by specific parcel coordinates. Format: "x,y" (e.g., "-23,-96"). Can specify multiple positions to get places at any of those coordinates.

Example: ["-23,-96","-22,-96"]
only_favoritesbooleanOptional

Show only the authenticated user's favorite places. Requires authentication. Returns empty list if not authenticated.

Default: falseExample: false
only_highlightedbooleanOptional

Show only places marked as highlighted by moderators

Default: false
order_bystring · enumOptional

Sort places by this field:

  • like_score: VP-weighted like ratio (default, best quality)
  • most_active: Current user count (trending now)
  • updated_at: Recently updated content
  • created_at: Newly created places
  • user_visits: Most visited in last 30 days
Default: like_scoreExample: most_activePossible values:
orderstring · enumOptional

Sort direction (ascending or descending)

Default: descExample: descPossible values:
with_realms_detailbooleanOptional

Include real-time realm and user count details. Experimental feature. Adds realms_detail array with per-realm user counts and active parcels. Note: Slightly slower response time.

Default: falseExample: true
searchstring · min: 3Optional

Full-text search in place title, description, and owner. Minimum 3 characters required. Returns empty array if too short.

Example: casino
categoriesstring[]Optional

Filter by categories (e.g., "art-gallery", "social", "game"). Get available categories from /categories endpoint. Multiple categories return places matching ANY category (OR logic).

Example: ["art-gallery","social"]
ownerstringOptional

Filter by owner's Ethereum address (case-insensitive). Must be a valid Ethereum address format.

Example: 0x1234567890123456789012345678901234567890Pattern: ^0x[a-fA-F0-9]{40}$
sdkstringOptional

Filter by SDK version (major version matching). Matches exact version or any version starting with the given prefix. Example: sdk=7 matches "7", "7.0.0", "7.3.27", etc. Places with null SDK values are treated as SDK6 (legacy scenes). Use 6 for SDK6/legacy scenes (including null), 7 for SDK7 scenes.

Example: 7
Responses
200

Successfully retrieved places

application/json
okbooleanOptionalExample: true
totalintegerOptional

Total number of places matching the query (for pagination)

Example: 150
get/places

Get specific places by IDs

post
/places

Retrieve multiple specific places by their UUIDs in a single request. Maximum 100 place IDs per request.

Use Cases:

  • Fetch details for a known set of places

  • Resolve place IDs from external sources

  • Batch operations for better performance

Note: Results are returned in the same order as requested IDs when available.

Query parameters
offsetintegerOptional

Number of results to skip

Default: 0
limitinteger · max: 100Optional

Maximum number of results (max 100)

Default: 100
order_bystring · enumOptional

Sort field

Default: like_scorePossible values:
orderstring · enumOptional

Sort direction

Default: descPossible values:
searchstring · min: 3Optional

Optional text search filter (minimum 3 characters)

Bodystring · uuid[]
string · uuid[] · min: 1 · max: 100Optional
Responses
200

Successfully retrieved places

application/json
okbooleanOptionalExample: true
totalintegerOptional

Total number of places matching the query (for pagination)

Example: 150
post/places

Get a specific place by ID

get
/places/{place_id}

Retrieve detailed information about a single place by its UUID.

Returns 404 if the place doesn't exist or has been disabled.

Performance: This endpoint includes aggregated user data (likes, favorites, visits).

Path parameters
place_idstring · uuidRequired

Unique identifier (UUID) of the place

Example: 550e8400-e29b-41d4-a716-446655440000
Query parameters
with_realms_detailbooleanOptional

Include real-time realm and user distribution data

Default: false
Responses
200

Place found and returned successfully

application/json
okbooleanOptionalExample: true
get/places/{place_id}

Get categories for a place

get
/places/{place_id}/categories

Retrieve all categories assigned to a specific place.

Categories are automatically assigned based on scene tags and can also be manually curated.

Path parameters
place_idstring · uuidRequired

UUID of the place

Responses
200

Categories retrieved successfully

application/json
okbooleanOptional
get/places/{place_id}/categories

Update place content rating 🔒

put
/places/{place_id}/rating

Update the content rating for a place. Requires authentication.

Content ratings help users filter appropriate content:

  • PR (Pre-Teen): Suitable for ages 10+

  • E (Everyone): Suitable for all ages

  • T (Teen): Suitable for ages 13+

  • A (Adult): Suitable for ages 18+, may contain mature content

  • R (Restricted): Adults only, explicit content

Note: Only authorized moderators can change ratings.

Authorizations
AuthorizationstringRequired

Decentraland authentication token obtained from the Decentraland SDK or auth services.

To authenticate:

  1. Use Decentraland's authentication SDK in your application
  2. Get the auth token from the SDK
  3. Include in requests: Authorization: Bearer <token>
Path parameters
place_idstring · uuidRequired

UUID of the place to rate

Body
content_ratingstring · enumRequired

New content rating:

  • PR (Pre-Teen): Ages 10+
  • E (Everyone): All ages
  • T (Teen): Ages 13+
  • A (Adult): Ages 18+, mature content
  • R (Restricted): Adults only, explicit content
Example: TPossible values:
commentstringOptional

Optional explanation for the rating change (for moderation log)

Example: Updated due to new interactive content
Responses
200

Rating updated successfully

application/json
okbooleanOptional
put/places/{place_id}/rating

Update place ranking 🔒 (Service token)

put
/places/{place_id}/ranking

Update the ranking score for a place. Requires service token authentication.

This endpoint uses a pre-configured service token for authentication, intended for service-to-service calls from the data team's systems. The token must be provided in the Authorization header as Bearer <token> or just <token>.

The ranking value is used to order places in listings. Higher ranking values appear first (after highlighted places). This endpoint is intended for the data team to curate place ordering based on quality metrics or promotional needs.

Use Cases:

  • Promote high-quality places in listings

  • Adjust place ordering based on data analysis

  • Set custom ordering for promotional periods

Authentication: Set the DATA_TEAM_AUTH_TOKEN environment variable on the server, then use that token value in the Authorization header when calling this endpoint.

Authorizations
AuthorizationstringRequired

Pre-configured service token for service-to-service authentication.

This authentication method is used for internal service calls, such as the data team's ranking updates. The token value must match the DATA_TEAM_AUTH_TOKEN environment variable configured on the server.

To authenticate: Include in requests: Authorization: Bearer <service-token> or Authorization: <service-token>

Path parameters
place_idstring · uuidRequired

UUID of the place to update ranking

Body
rankingnumber · nullableRequired

Ranking score for ordering places. Higher values appear first in listings (after highlighted places). Set to null to remove ranking.

Example: 0.85
Responses
200

Ranking updated successfully

application/json
okbooleanOptionalExample: true
put/places/{place_id}/ranking

Update place highlight status 🔒 (Admin only)

put
/places/{place_id}/highlight

Update the highlight status for a place. Requires authentication and admin privileges.

Highlighted places receive special promotion and appear at the top of listings. This endpoint is only available to administrators.

Use Cases:

  • Feature exceptional places on the overview page

  • Promote seasonal or event-related places

  • Curate the best content for new users

Authorizations
AuthorizationstringRequired

Decentraland authentication token obtained from the Decentraland SDK or auth services.

To authenticate:

  1. Use Decentraland's authentication SDK in your application
  2. Get the auth token from the SDK
  3. Include in requests: Authorization: Bearer <token>
Path parameters
place_idstring · uuidRequired

UUID of the place to highlight/unhighlight

Body
highlightedbooleanRequired

Set to true to highlight the place (feature it), false to remove highlight. Only administrators can update this field.

Example: true
Responses
200

Highlight status updated successfully

application/json
okbooleanOptionalExample: true
put/places/{place_id}/highlight

Get lightweight place status

post
/places/status

Retrieve basic status information for multiple places (up to 100).

Lightweight Alternative: Returns only essential fields (ID, title, position, disabled status). Use this instead of full place details when you only need to check if places exist or are enabled.

Performance: Faster than full place queries, suitable for status checks.

Bodystring · uuid[]
string · uuid[] · min: 1 · max: 100Optional
Responses
200

Status retrieved successfully

application/json
okbooleanOptional
totalintegerOptional

Number of places found

post/places/status

List destinations (places + worlds)

get
/destinations

Retrieve a paginated list of both places and worlds with comprehensive filtering options.

Authentication: Optional. When authenticated, enables only_favorites filtering and populates user_like, user_dislike, and user_favorite fields in responses.

Key Features:

  • Combines Genesis City places and Decentraland Worlds in a single response

  • Highlighted destinations are always returned first, followed by ranking value (descending), then by the specified order_by

  • Filter places by exact coordinates (pointer)

  • Filter worlds by exact name (world_names) or LIKE matching (names)

  • Filter by SDK version with prefix matching (e.g., sdk=7 matches 7.x.x; null values treated as SDK6)

  • Include connected user wallet addresses (with_connected_users)

  • Include live event status (with_live_events)

Common Use Cases:

  • Get all destinations: ?limit=50

  • Filter worlds by exact name: ?world_names=mycoolworld.dcl.eth

  • Filter worlds by name pattern: ?names=art&names=gallery

  • Filter by SDK7: ?sdk=7

  • Get only places: ?only_places=true

  • Get only worlds: ?only_worlds=true

  • Include connected users: ?with_connected_users=true

  • Include live event status: ?with_live_events=true

Authorizations
AuthorizationstringOptional

Decentraland authentication token obtained from the Decentraland SDK or auth services.

To authenticate:

  1. Use Decentraland's authentication SDK in your application
  2. Get the auth token from the SDK
  3. Include in requests: Authorization: Bearer <token>
Query parameters
limitinteger · max: 100Optional

Maximum number of destinations to return (max 100)

Default: 100
offsetintegerOptional

Number of destinations to skip for pagination

Default: 0
pointerstring[] · max: 1000Optional

Filter places by specific parcel coordinates (exact match). Worlds are excluded. Format: "x,y" (e.g., "-23,-96").

world_namesstring[] · max: 1000Optional

Filter worlds by exact name match. Example: world_names=mycoolworld.dcl.eth

namesstring[] · max: 1000Optional

Filter worlds by name using LIKE matching (partial match, case-insensitive). Example: names=art matches "art-gallery", "digital-art", etc.

only_favoritesbooleanOptional

Show only the authenticated user's favorite destinations. Returns empty list if not authenticated.

Default: false
only_highlightedbooleanOptional

Show only highlighted/featured destinations

Default: false
order_bystring · enumOptional

Sort destinations by:

  • like_score: VP-weighted like ratio (default)
  • most_active: Current user count
  • updated_at: Recently updated
  • created_at: Newest first
Default: like_scorePossible values:
orderstring · enumOptional

Sort direction

Default: descPossible values:
with_realms_detailbooleanOptional

Include real-time realm and user count details

Default: false
with_connected_usersbooleanOptional

Include the list of connected user wallet addresses for each destination. When enabled, adds connected_addresses array to each destination.

Default: false
with_live_eventsbooleanOptional

Include whether the destination has a live event. When enabled, adds live boolean to each destination. Data is cached for 5 minutes for performance.

Default: false
searchstring · min: 3Optional

Full-text search in title, description, owner (min 3 chars)

categoriesstring[]Optional

Filter by categories

ownerstringOptional

Filter by owner's Ethereum address

Pattern: ^0x[a-fA-F0-9]{40}$
creator_addressstringOptional

Filter by creator's Ethereum address

Pattern: ^0x[a-fA-F0-9]{40}$
only_worldsbooleanOptional

Show only worlds (excludes places)

Default: false
only_placesbooleanOptional

Show only places (excludes worlds)

Default: false
sdkstringOptional

Filter by SDK version. Places with null SDK values are treated as SDK6 (legacy scenes). Example: 7 for SDK7 scenes, 6 for SDK6/legacy scenes.

Responses
200

Destinations retrieved successfully

application/json
okbooleanOptionalExample: true
totalintegerOptional

Total number of places matching the query (for pagination)

Example: 150
get/destinations

Get specific destinations by IDs

post
/destinations

Retrieve multiple specific destinations (places and/or worlds) by their UUIDs in a single request. Maximum 100 destination IDs per request.

Authentication: Optional. When authenticated, enables only_favorites filtering and populates user_like, user_dislike, and user_favorite fields in responses.

Use Cases:

  • Fetch details for a known set of destinations

  • Resolve destination IDs from external sources

  • Batch operations for better performance

Note: Results are returned in the same order as requested IDs when available. All query parameters from the GET endpoint are supported for additional filtering.

Authorizations
AuthorizationstringOptional

Decentraland authentication token obtained from the Decentraland SDK or auth services.

To authenticate:

  1. Use Decentraland's authentication SDK in your application
  2. Get the auth token from the SDK
  3. Include in requests: Authorization: Bearer <token>
Query parameters
offsetintegerOptional

Number of results to skip

Default: 0
limitinteger · max: 100Optional

Maximum number of results (max 100)

Default: 100
order_bystring · enumOptional

Sort field

Default: like_scorePossible values:
orderstring · enumOptional

Sort direction

Default: descPossible values:
searchstring · min: 3Optional

Optional text search filter (minimum 3 characters)

with_connected_usersbooleanOptional

Include connected user wallet addresses for each destination

Default: false
with_realms_detailbooleanOptional

Include real-time realm data for each place

Default: false
only_favoritesbooleanOptional

Show only the authenticated user's favorite destinations. Returns empty list if not authenticated.

Default: false
only_highlightedbooleanOptional

Show only highlighted destinations

Default: false
only_worldsbooleanOptional

Show only worlds (excludes places)

Default: false
only_placesbooleanOptional

Show only places (excludes worlds)

Default: false
sdkstringOptional

Filter by SDK version. Places with null SDK values are treated as SDK6 (legacy scenes).

Bodystring · uuid[]
string · uuid[] · min: 1 · max: 100Optional
Responses
200

Successfully retrieved destinations

application/json
okbooleanOptionalExample: true
totalintegerOptional

Total number of places matching the query (for pagination)

Example: 150
post/destinations

Last updated