9 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

GET /v2/search/items/details — openapi

Search for catalog items.

This endpoint is for search by item type ids.

Endpoint

Method: GET

Path: /v2/search/items/details

Servers:

Parameters

NameLocationRequiredDescription
Taxonomyqueryfalse
AssetTypeIdsqueryfalse
BundleTypeIdsqueryfalse
CategoryFilterqueryfalseThe category filter types, representing generic collections of catalog items requested by client. ['None' = 0, 'Featured' = 1, 'Collectibles' = 2, 'CommunityCreations' = 3, 'Landing' = 4, 'Premium' = 5, 'Recommended' = 6, 'HighDefinition' = 7]
SortAggregationqueryfalse['Past12Hours' = 0, 'PastDay' = 1, 'Past3Days' = 2, 'PastWeek' = 3, 'PastMonth' = 4, 'AllTime' = 5]
SortTypequeryfalsePrice values to be consolidated after roll out to api site. ['Relevance' = 0, 'Favorited' = 1, 'Sales' = 2, 'Created' = 3, 'Updated' = 3, 'PriceAsc' = 4, 'PriceDesc' = 5]
CreatorTypequeryfalse['All' = 0, 'User' = 1, 'Group' = 2]
CreatorTargetIdqueryfalse
CreatorNamequeryfalse
MaxPricequeryfalse
MinPricequeryfalse
Keywordqueryfalse
IncludeNotForSalequeryfalse
TriggeredByTopicDiscoveryqueryfalse
SalesTypeFilterqueryfalseThe Sales Type filter options for search. ['Unknown' = 0, 'All' = 1, 'Collectibles' = 2, 'Premium' = 3, 'TimedOptions' = 4]
TopicsqueryfalseThe input topics format is split by ",". E.g "topics=cat,hat,red".
limitqueryfalseThe number of results per request.
cursorqueryfalseThe paging cursor for the previous or next page.
sortOrderqueryfalseThe order the results are sorted in.
[
  {
    "in": "query",
    "name": "Taxonomy",
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "AssetTypeIds",
    "explode": true,
    "schema": {
      "type": "array",
      "items": {
        "format": "int32",
        "type": "integer"
      }
    }
  },
  {
    "in": "query",
    "name": "BundleTypeIds",
    "explode": true,
    "schema": {
      "type": "array",
      "items": {
        "format": "int32",
        "type": "integer"
      }
    }
  },
  {
    "in": "query",
    "name": "CategoryFilter",
    "description": "The category filter types, representing generic collections of catalog items requested by client. ['None' = 0, 'Featured' = 1, 'Collectibles' = 2, 'CommunityCreations' = 3, 'Landing' = 4, 'Premium' = 5, 'Recommended' = 6, 'HighDefinition' = 7]",
    "schema": {
      "type": "integer",
      "format": "int32",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ]
    }
  },
  {
    "in": "query",
    "name": "SortAggregation",
    "description": " ['Past12Hours' = 0, 'PastDay' = 1, 'Past3Days' = 2, 'PastWeek' = 3, 'PastMonth' = 4, 'AllTime' = 5]",
    "schema": {
      "type": "integer",
      "format": "int32",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    }
  },
  {
    "in": "query",
    "name": "SortType",
    "description": "Price values to be consolidated after roll out to api site. ['Relevance' = 0, 'Favorited' = 1, 'Sales' = 2, 'Created' = 3, 'Updated' = 3, 'PriceAsc' = 4, 'PriceDesc' = 5]",
    "schema": {
      "type": "integer",
      "format": "int32",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    }
  },
  {
    "in": "query",
    "name": "CreatorType",
    "description": " ['All' = 0, 'User' = 1, 'Group' = 2]",
    "schema": {
      "type": "integer",
      "format": "int32",
      "enum": [
        0,
        1,
        2
      ]
    }
  },
  {
    "in": "query",
    "name": "CreatorTargetId",
    "schema": {
      "type": "integer",
      "format": "int64"
    }
  },
  {
    "in": "query",
    "name": "CreatorName",
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "MaxPrice",
    "schema": {
      "type": "integer",
      "format": "int32"
    }
  },
  {
    "in": "query",
    "name": "MinPrice",
    "schema": {
      "type": "integer",
      "format": "int32"
    }
  },
  {
    "in": "query",
    "name": "Keyword",
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "IncludeNotForSale",
    "schema": {
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "TriggeredByTopicDiscovery",
    "schema": {
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "SalesTypeFilter",
    "description": "The Sales Type filter options for search. ['Unknown' = 0, 'All' = 1, 'Collectibles' = 2, 'Premium' = 3, 'TimedOptions' = 4]",
    "schema": {
      "type": "integer",
      "format": "int32",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ]
    }
  },
  {
    "in": "query",
    "name": "Topics",
    "description": "The input topics format is split by \",\". E.g \"topics=cat,hat,red\".",
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "limit",
    "description": "The number of results per request.",
    "schema": {
      "type": "integer",
      "format": "int32",
      "enum": [
        10,
        28,
        30,
        60,
        120
      ],
      "default": 10
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "description": "The paging cursor for the previous or next page.",
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "sortOrder",
    "description": "The order the results are sorted in.",
    "schema": {
      "type": "string",
      "enum": [
        "Desc"
      ],
      "default": "Desc"
    }
  }
]

Responses

StatusDescription
200OK
4001: Category subcategory selection not supported. 2: Creator id not found. 3: Creator type not found or cannot search by CreatorTargetId with CreatorType.All 4: Genre not found. 5: Sort combination not supported. 6: Invalid price range. 10: StartRequest is invalid.
4037: User is unauthorized. 22: In-experience search is denied for this place or universe.
4298: The flood limit has been exceeded. 8: The flood limit has been exceeded.
50318: Search request timed out
{
  "200": {
    "description": "OK",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Catalog.Api.CatalogSearchPageResponse_Roblox.Catalog.Api.CatalogSearchDetailedResponseItemV2_"
        }
      },
      "text/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Catalog.Api.CatalogSearchPageResponse_Roblox.Catalog.Api.CatalogSearchDetailedResponseItemV2_"
        }
      }
    }
  },
  "400": {
    "description": "1: Category subcategory selection not supported.\r\n2: Creator id not found.\r\n3: Creator type not found or cannot search by CreatorTargetId with CreatorType.All\r\n4: Genre not found.\r\n5: Sort combination not supported.\r\n6: Invalid price range.\r\n10: StartRequest is invalid."
  },
  "403": {
    "description": "7: User is unauthorized.\r\n22: In-experience search is denied for this place or universe."
  },
  "429": {
    "description": "8: The flood limit has been exceeded.\r\n8: The flood limit has been exceeded."
  },
  "503": {
    "description": "18: Search request timed out"
  }
}

Authentication

{
  "security": [
    {},
    {
      "roblox-legacy-cookie": []
    }
  ],
  "securitySchemes": {
    "roblox-api-key": {
      "type": "apiKey",
      "description": "A configurable key that allows granular access to Roblox resources. See https://create.roblox.com/docs/cloud/auth/api-keys for more information.",
      "name": "x-api-key",
      "in": "header"
    },
    "roblox-legacy-cookie": {
      "type": "apiKey",
      "description": "A browser cookie that represents the identity of a Roblox user. DO NOT SHARE THIS. Sharing this will allow someone to log in as you and to steal your Robux and items. We do not recommend using cookies to call endpoints. When possible, use API keys with the x-api-key header or OAuth 2.0 instead for authentication.",
      "in": "cookie",
      "name": ".ROBLOSECURITY"
    },
    "roblox-oauth2": {
      "type": "oauth2",
      "description": "Build or authorize apps to access Roblox resources. See https://create.roblox.com/docs/cloud/auth/oauth2-overview for more information.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://apis.roblox.com/oauth/v1/authorize",
          "tokenUrl": "https://apis.roblox.com/oauth/v1/token",
          "refreshUrl": "https://apis.roblox.com/oauth/v1/token",
          "scopes": {}
        }
      }
    }
  }
}

Complete Operation Definition

{
  "tags": [
    "Assets",
    "Avatars"
  ],
  "summary": "Search for catalog items.",
  "description": "This endpoint is for search by item type ids.",
  "parameters": [
    {
      "in": "query",
      "name": "Taxonomy",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "AssetTypeIds",
      "explode": true,
      "schema": {
        "type": "array",
        "items": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    {
      "in": "query",
      "name": "BundleTypeIds",
      "explode": true,
      "schema": {
        "type": "array",
        "items": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    {
      "in": "query",
      "name": "CategoryFilter",
      "description": "The category filter types, representing generic collections of catalog items requested by client. ['None' = 0, 'Featured' = 1, 'Collectibles' = 2, 'CommunityCreations' = 3, 'Landing' = 4, 'Premium' = 5, 'Recommended' = 6, 'HighDefinition' = 7]",
      "schema": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      }
    },
    {
      "in": "query",
      "name": "SortAggregation",
      "description": " ['Past12Hours' = 0, 'PastDay' = 1, 'Past3Days' = 2, 'PastWeek' = 3, 'PastMonth' = 4, 'AllTime' = 5]",
      "schema": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ]
      }
    },
    {
      "in": "query",
      "name": "SortType",
      "description": "Price values to be consolidated after roll out to api site. ['Relevance' = 0, 'Favorited' = 1, 'Sales' = 2, 'Created' = 3, 'Updated' = 3, 'PriceAsc' = 4, 'PriceDesc' = 5]",
      "schema": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ]
      }
    },
    {
      "in": "query",
      "name": "CreatorType",
      "description": " ['All' = 0, 'User' = 1, 'Group' = 2]",
      "schema": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1,
          2
        ]
      }
    },
    {
      "in": "query",
      "name": "CreatorTargetId",
      "schema": {
        "type": "integer",
        "format": "int64"
      }
    },
    {
      "in": "query",
      "name": "CreatorName",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "MaxPrice",
      "schema": {
        "type": "integer",
        "format": "int32"
      }
    },
    {
      "in": "query",
      "name": "MinPrice",
      "schema": {
        "type": "integer",
        "format": "int32"
      }
    },
    {
      "in": "query",
      "name": "Keyword",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "IncludeNotForSale",
      "schema": {
        "type": "boolean"
      }
    },
    {
      "in": "query",
      "name": "TriggeredByTopicDiscovery",
      "schema": {
        "type": "boolean"
      }
    },
    {
      "in": "query",
      "name": "SalesTypeFilter",
      "description": "The Sales Type filter options for search. ['Unknown' = 0, 'All' = 1, 'Collectibles' = 2, 'Premium' = 3, 'TimedOptions' = 4]",
      "schema": {
        "type": "integer",
        "format": "int32",
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      }
    },
    {
      "in": "query",
      "name": "Topics",
      "description": "The input topics format is split by \",\". E.g \"topics=cat,hat,red\".",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "limit",
      "description": "The number of results per request.",
      "schema": {
        "type": "integer",
        "format": "int32",
        "enum": [
          10,
          28,
          30,
          60,
          120
        ],
        "default": 10
      }
    },
    {
      "in": "query",
      "name": "cursor",
      "description": "The paging cursor for the previous or next page.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "sortOrder",
      "description": "The order the results are sorted in.",
      "schema": {
        "type": "string",
        "enum": [
          "Desc"
        ],
        "default": "Desc"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Roblox.Catalog.Api.CatalogSearchPageResponse_Roblox.Catalog.Api.CatalogSearchDetailedResponseItemV2_"
          }
        },
        "text/json": {
          "schema": {
            "$ref": "#/components/schemas/Roblox.Catalog.Api.CatalogSearchPageResponse_Roblox.Catalog.Api.CatalogSearchDetailedResponseItemV2_"
          }
        }
      }
    },
    "400": {
      "description": "1: Category subcategory selection not supported.\r\n2: Creator id not found.\r\n3: Creator type not found or cannot search by CreatorTargetId with CreatorType.All\r\n4: Genre not found.\r\n5: Sort combination not supported.\r\n6: Invalid price range.\r\n10: StartRequest is invalid."
    },
    "403": {
      "description": "7: User is unauthorized.\r\n22: In-experience search is denied for this place or universe."
    },
    "429": {
      "description": "8: The flood limit has been exceeded.\r\n8: The flood limit has been exceeded."
    },
    "503": {
      "description": "18: Search request timed out"
    }
  },
  "servers": [
    {
      "url": "https://catalog.roblox.com"
    }
  ],
  "x-roblox-stability": "EXPERIMENTAL",
  "x-roblox-engine-usability": {
    "apiKeyWithHttpService": false
  },
  "security": [
    {},
    {
      "roblox-legacy-cookie": []
    }
  ],
  "externalDocs": {
    "url": "https://create.roblox.com/docs/cloud/reference/features/assets#catalog_get_v2_search_items_details"
  }
}