We have recently made changes to the Catalog API. This change comes as part of our ongoing effort to optimize search results. When making requests to the API, please use the CatalogContext query parameter to explicitly specify what kind of catalog item for which you intend to search.
Using CatalogContext=2 will search for items in the library catalog (https://www.roblox.com/develop/library), while using CatalogContext=1 will search for items found on the avatar catalog (https://www.roblox.com/catalog). Continue to use the categories, subcategories, and other parameters as before, and if there is a need to search across both types of items, please make two requests.
The following page has been updated to reflect the changes.
Moving in the right direction. Looking forward to future optimizations for more efficient navigation when searching for assets. It would be very helpful if the Audio library was better organized. The Roblox uploaded audio can take hours to sort through when looking for any specific sounds.
Awesome to see that the Catalog API is getting some attention! Are there still plans in the future to expose the catalog API to Roblox games by allowing game servers to send GET requests to the catalog API or through an API built directly into the engine?
It’s nice to see some actual optimization for this section of roblox. Seems like forever we’ve been seeing things like “DRESS DRESS DRESS…” pop up on catalog when you search one word. The change listed above is semi noticeable. I hope more optimization is added for the catalog in the future.
Very nice to see this change, have they added two separate datastores in order to speed up the lookup of items? I found out about this about a month or so ago, when my audio lookup / download bot broke on discord so I checked what had changed. Good to see that you guys made an announcement about it.
However, I got a question. The API is written in JSON format which will make this useful for e.g. bots and extensions that are written in .js. However, is this something I could use e.g. for one of my game projects? Could I make an in-game version of the catalog for the player(s) to search around with then potentially import an asset of their choice in to my game at run-time for the player to wear, or play with?
You could use HTTPService:JSONDecode(json_table_from_api) to turn it into a regular lua table/dictionary, but you need to use a proxy to retrieve the information, unless Roblox allows us to use the API from within our games.