Roblox catalog api issue

Im working on something for fun using the roblox catalog api but realized that it returns an unexpected json file

local HTTPSERVICE = game:GetService("HttpService")
local data = HTTPSERVICE:GetAsync("https://catalog.roblox.com/v2/search/items/details?Category=13&Limit=10") -- i am using a proxy here in the actual script
print(data)

but it prints this

{"keyword":null,
"elasticsearchDebugInfo":{"elasticsearchQuery":null,
"isFromCache":false,
"indexName":"",
"isTerminatedEarly":null,
"isForceTerminationEnabledByRequest":null
},
"previousPageCursor":null,
"nextPageCursor":"2_1_d515f723411532860176328ad9b4f4ba",
"data":[
{"id":311,"itemType":"Bundle","bundleType":1,"name":"Robloxian 2.0","description":"The first official ROBLOX body package. You get a cool new set of arms, leg, and a torso - all for one money!!!","productId":369653977,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":15,"purchaseCount":0,"favoriteCount":1976131,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":667,"itemType":"Bundle","bundleType":2,"name":"Oldschool Animation Pack","description":"Party like its 2006. Relive the glorious old days with this retro style animation pack.","productId":1023464725,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":80,"purchaseCount":0,"favoriteCount":4429529,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":126,"itemType":"Bundle","bundleType":1,"name":"John","description":"John is one of several exclusive Roblox Avatars available for free! You can change your look at any time by selecting or buying a different avatar.\r\n","productId":369653772,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":0,"priceStatus":"Free","purchaseCount":0,"favoriteCount":4708217,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":171835,"itemType":"Bundle","bundleType":4,"name":"Half Head","description":"Your head is cut in half ⬇️More Dynamic heads azohead https://www.roblox.com/catalog?Keyword=azohead&Category=4&Subcategory=66&salesTypeFilter=1&SortType=1&SortAggregation=1 - - - - - - - - - - - - - - - - - - - - - - - ⬇️More cute stuffs😊 https://www.roblox.com/catalog?Category=1&CreatorName=Exclusive%20UGC&CreatorType=Group&salesTypeFilter=1&SortType=2&SortAggregation=3","productId":1686856163,"itemStatus":[],"itemRestrictions":["Live"],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":80269991,"creatorName":"Az0te","price":75,"purchaseCount":0,"favoriteCount":222406,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":7699174,"itemType":"Asset","assetType":18,"name":"Silly Fun","description":"Super Silly Fun Face?","productId":1283316,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":0,"priceStatus":"Free","purchaseCount":0,"favoriteCount":1788766,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":14825332446,"itemType":"Asset","assetType":46,"name":"Warm Pretzel Back Snacker","description":"Gluten-free option in the works. * now on offer until October 15 *","productId":1654179539,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":0,"priceStatus":"Free","purchaseCount":0,"favoriteCount":126529,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":746767604,"itemType":"Asset","assetType":17,"name":"Cheeks ","description":"Perfect for someone as cheeky as yourself!","productId":55396217,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":75,"purchaseCount":0,"favoriteCount":1612704,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":872,"itemType":"Bundle","bundleType":3,"name":"Roblox Sneakers - Gray","description":"Style it up in signature black.","productId":1249168271,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":0,"priceStatus":"Free","purchaseCount":0,"favoriteCount":243185,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":51116,"itemType":"Bundle","bundleType":4,"name":"Smooth Brain Inside Out (Recolorable)","description":"Join For More: https://www.roblox.com/groups/9558277/Blockle","productId":1671147419,"itemStatus":[],"itemRestrictions":["Live"],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":186480194,"creatorName":"blockleman","price":75,"purchaseCount":0,"favoriteCount":191076,"offSaleDeadline":null,"saleLocationType":"NotApplicable"},
{"id":7192553841,"itemType":"Asset","assetType":67,"name":"Zip Hoodie - Black","description":"Whether you’re hanging out on the couch or off for an adventure, just zip up this laidback hoodie and enjoy!","productId":1235118373,"itemStatus":[],"itemRestrictions":[],"creatorHasVerifiedBadge":true,"creatorType":"User","creatorTargetId":1,"creatorName":"Roblox","price":0,"priceStatus":"Free","purchaseCount":0,"favoriteCount":267378,"offSaleDeadline":null,"saleLocationType":"NotApplicable"}
]}

according to the docs category 13 should only return items not made by roblox but most of the json is Items made by Roblox

1 Like

You could loop through more than 10 and try to sort through the items that aren’t created by Roblox, more like a bruteforce if you will.

local items = {}

if decodedData and decodedData.data then
    for _, item in ipairs(decodedData.data) do
        if item.creatorName ~= "Roblox" then
            table.insert(items, item)
        end
        if #items >= 10 then
            break
        end
    end
end
1 Like

im trying to get for example hats, but brought this up as an example of the API being broken

1 Like

Then this should be in another category, not scripting support if you’re trying to report a broken api

im not trying to report a broken API, just wondering if im doing something wrong

the url for hats should be
https://catalog.roblox.com/v2/search/items/details?Subcategory=9

1 Like

The correct endpoint is; https://catalog.roblox.com/v2/search/items/details?categoryFilter=CommunityCreations&limit=10. It’s also what AvatarEditorService:SearchCatalog uses and does not support subcategories either.

The documentation you got this from is also inaccurate because it is for the V1 endpoint at https://catalog.roblox.com/v1/search/items/details.

can i use subcategories in the V1 api?

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