MarketplaceService:GetProductInfo() fails for certain avatar items

Currently, MarketplaceService:GetProductInfo() sometimes fails for avatar items that are hidden, moderated, or archived.

When called on an item that meets the criteria, it will throw this error:
MarketplaceService:getProductInfo() failed because HTTP 400 (Bad Request)

Because this change was not announced anywhere, and the documentation does not mention it, I am hoping this is a bug. GetProductInfo is only ever supposed to fail if the asset ID does not exist.

This issue started happening recently and has broken some experiences that rely on this behavior. Specifically, if a script knows that an asset ID is valid, there’s no reason why GetProductInfo should ever fail, except for occasional network issues, in which you would use pcall to automatically retry until it succeeds. Because of this change, a script like this will now just retry forever.


Hidden, moderated, and archived avatar items

For extra context:

  • Hidden” refers to avatar items that have been hidden from the Marketplace by Roblox. This is often done for newly-created official Roblox items before they are ready to be publicly released.
    An example of a hidden item: 8777152268

  • Moderated” refers to avatar items that have been deleted by Roblox moderation.
    An example of a moderated item: 502405082

  • Archived” refers to avatar items that have been archived by the creator.
    An example of an archived item: 232512754

When calling GetProductInfo on any of the 3 asset IDs listed above, it will always fail.

Oddly enough, GetProductInfo doesn’t fail for all items that meet the criteria (but it does for most of them). For example, here is an archived item that GetProductInfo does NOT fail on: 9646621371


Repro

  1. In a script, call MarketplaceService:GetProductInfo(assetId, Enum.InfoType.Asset) with the asset ID of an avatar item that is hidden, moderated, or archived. Example asset IDs are available above.

  2. Observe the HTTP 400 error in the output.


Expected behavior

MarketplaceService:GetProductInfo() should not fail for avatar items that are hidden, moderated, or archived. It should only fail if the asset ID does not exist.

1 Like

Thanks for your report. We are looking into this API’s behavior for moderated items and will get back with a response.