How to parse a specific category of items using roproxy?

Hello everyone!
Recently I started making a system similar to a locker for changing clothes (approximately like Catalog Avatar Creator) and ran into a problem. When using roproxy, the system gives me only one list where the items will be in disarray.

But I want to separate the inventory into sections by type: Hat, hair, face, etc.
But when I specify the desired type in the category in the proxy, it still gives me the same list. How else can I get a specific category of items using roproxy?

proxy that I use:

https://catalog.roproxy.com/v1/search/items?category=all&keyword=&limit=30

Does this answer your question? https://catalog.roblox.com//docs/index.html

1 Like

As far as I understand, here I can just get information about random things from the catalog, but I don’t see a way to get items of the same type here

1 Like

Is this what you’re looking for? It returns items with a category and other useful information.
https://catalog.roproxy.com/v2/search/items/details?category=all&keyword=&limit=30

1 Like

I used such a proxy, but the problem is that not all categories will have equal amounts of items. I want to insert exactly 30-40 items for each category, but given that the proxy has all, this won’t work.

1 Like

Well, you can try understanding the documentation yourself. Because honestly, I’m not quite sure either.
I found that you can do this: https://catalog.roblox.com/v2/search/items/details?AssetTypeIds=11, but I’m not sure if that’s what you wanted.

2 Likes

Yes! This is that I need! Thank u!

2 Likes

But the problem is that roblox does not provide access to its catalog, and because of this, a proxy is needed that will receive these lists

1 Like

Hey!

I’m not familiar with the web API for the Roblox catalog, but I wondered if you tried using AvatarEditorService’s SearchCatalog function? It would eliminate the need for a proxy.

Here’s an example:

local aes = game:GetService("AvatarEditorService")

local params = CatalogSearchParams.new()
params.AssetTypes = {Enum.AssetType.Hat}
params.CreatorType = Enum.CreatorType.User
params.CreatorId = 1

local pages = aes:SearchCatalog(params)

--now just iterate over it how you would with any other Pages object
1 Like

Wow I dont know about this service. But how i can set limit of accessories?

Just modify the CatalogSearchParams.

--since there's a whole lot of enums for accessories, here's a function to get them
local function getAccessories(): {Enum.AssetType}
    local accessories = {} --this will hold the accessory enums we want

    for _, enum in next, Enum.AssetType:GetEnumItems(), nil do
        if (string.find(enum.Name, "Accessory")) then
            table.insert(accessories, enum) --add it to the table if it's an accessory enum
        end
    end

    return accessories --return the table of enums
end

local params = CatalogSearchParams.new()
params.AssetTypes = getAccessories()
params.Limit = 30 --it will always default to 30 when not specified

Here’s the docs:
CatalogSearchParams | Documentation - Roblox Creator Hub
AvatarEditorService#SearchCatalog | Documentation - Roblox Creator Hub

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.