Skip to main content
Glama

RBX Invest Roblox Limiteds market data

Search or rank Roblox Limiteds

search_items

Search the Roblox Limited catalog by name, or screen the whole market when no query is given. Returns asset id, RAP, RAP across every copy sold, the lowest resale listing, stock left, the move in RAP over 1/7/14/30 days and lifetime in both percent and Robux, sales counts and sales value per window, the typical sale price over 30/90/180 days, and the item score. Rank by any of those with sort, and bound any of them with filters to ask a question with more than one condition in it. Prices are Robux. Pages run up to 100 rows and paging stops at offset 10,000: to work with every item, download https://rbxinvest.com/catalog.json (the whole catalog in one file) instead of paging.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoMetric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the "all" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved). Price level: movingAvg30d/90d/180d, the typical sale price over that span in Robux (the median of the daily average sale prices, which a few sales at an odd price cannot drag the way they drag RAP; free claims at 0 R$ are left out and an item that only moved by claim reads 0); only items that sold in the span have one.rap
limitNo
queryNoPart of an item name, e.g. "valkyrie". Omit to rank or screen the catalog.
offsetNoRows to skip, for reading past the first page (at most 10,000). The reply reports the total that matched; for more rows than paging reaches, narrow the filters or use https://rbxinvest.com/catalog.json.
filtersNoRanges narrowing the catalog, ANDed together. Each is in the unit its metric is shown in: Robux for rap/totalValue/price/creatorPrice/salesTotal*/growthRs*/movingAvg*, percent for growth*/percentRemaining/percentSold, a count for copies/copiesLeft/volume*. An item with no value for a bounded metric is excluded.
directionNodesc
item_typeNoregular_limited is a classic Limited, ugc_limited a UGC one.all
asset_typeNoOnly this kind of item, e.g. Hat, HairAccessory, FaceAccessory, BackAccessory, Face, Gear. Omit for every kind.
resellableNotrue = only items that can be resold at all (no Roblox resale restriction); false = only ones that cannot. Omit for both.
availabilityNoSale status. for_sale = the creator still sells new copies at the original price; resale_only = only other players sell it; off_sale = the creator stopped early and nobody is reselling; sold_out = every copy minted and nobody is reselling. "available" is an older name for for_sale. Each row carries its sales_status.all
forty_eligibleNotrue = only items sold in any experience, which a buyer can sell in their own game and keep the 40% affiliate commission on; false = only items that are not. Omit for both.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / availability / description
      Previous value: -"available = copies still in stock from the creator."New value: +"Sale status. for_sale = the creator still sells new copies at the original price; resale_only = only other players sell it; off_sale = the creator stopped early and nobody is reselling; sold_out = every copy minted and nobody is reselling. \"available\" is an older name for for_sale. Each row carries its sales_status."
    • changedInput schema / properties / availability / enum
      Previous value: -[
      -  "all",
      -  "available"
      -]New value: +[
      +  "all",
      +  "for_sale",
      +  "resale_only",
      +  "off_sale",
      +  "sold_out",
      +  "available"
      +]
    • addedInput schema / properties / forty_eligible
      Added value: +{
      +  "description": "true = only items sold in any experience, which a buyer can sell in their own game and keep the 40% affiliate commission on; false = only items that are not. Omit for both.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / resellable
      Added value: +{
      +  "description": "true = only items that can be resold at all (no Roblox resale restriction); false = only ones that cannot. Omit for both.",
      +  "type": "boolean"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / limit / maximum
      Previous value: -25New value: +100
    • changedInput schema / properties / offset / description
      Previous value: -"Rows to skip, for reading past the first page (at most 500). The reply reports the total that matched; for more rows than paging reaches, narrow the filters or use https://rbxinvest.com/catalog.json."New value: +"Rows to skip, for reading past the first page (at most 10,000). The reply reports the total that matched; for more rows than paging reaches, narrow the filters or use https://rbxinvest.com/catalog.json."
    • changedInput schema / properties / offset / maximum
      Previous value: -500New value: +10000
  3. Changed2 schema fields changed
    • changedInput schema / properties / offset / description
      Previous value: -"Rows to skip, for reading past the first page. The reply reports the total that matched."New value: +"Rows to skip, for reading past the first page (at most 500). The reply reports the total that matched; for more rows than paging reaches, narrow the filters or use https://rbxinvest.com/catalog.json."
    • addedInput schema / properties / offset / maximum
      Added value: +500
  4. Changed1 schema field changed
    • changedInput schema / properties / sort / description
      Previous value: -"Metric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved). Price level: movingAvg30d/90d/180d, the average sale price over that span in Robux (the total paid over copies sold); only items that sold in the span have one."New value: +"Metric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved). Price level: movingAvg30d/90d/180d, the typical sale price over that span in Robux (the median of the daily average sale prices, which a few sales at an odd price cannot drag the way they drag RAP; free claims at 0 R$ are left out and an item that only moved by claim reads 0); only items that sold in the span have one."
  5. Changed4 schema fields changed
    • changedInput schema / properties / filters / description
      Previous value: -"Ranges narrowing the catalog, ANDed together. Each is in the unit its metric is shown in: Robux for rap/totalValue/price/creatorPrice/salesTotal*/growthRs*, percent for growth*/percentRemaining/percentSold, a count for copies/copiesLeft/volume*. An item with no value for a bounded metric is excluded."New value: +"Ranges narrowing the catalog, ANDed together. Each is in the unit its metric is shown in: Robux for rap/totalValue/price/creatorPrice/salesTotal*/growthRs*/movingAvg*, percent for growth*/percentRemaining/percentSold, a count for copies/copiesLeft/volume*. An item with no value for a bounded metric is excluded."
    • changedInput schema / properties / filters / items / properties / metric / enum
      Previous value: -[
      -  "rap",
      -  "totalValue",
      -  "price",
      -  "creatorPrice",
      -  "growth1d",
      -  "growth7d",
      -  "growth14d",
      -  "growth30d",
      -  "growthall",
      -  "growthRs1d",
      -  "growthRs7d",
      -  "growthRs14d",
      -  "growthRs30d",
      -  "growthRsall",
      -  "score",
      -  "copies",
      -  "copiesLeft",
      -  "percentSold",
      -  "percentRemaining",
      -  "volume1d",
      -  "volume7d",
      -  "volume14d",
      -  "volume30d",
      -  "demandGrowth1d",
      -  "demandGrowth7d",
      -  "demandGrowth14d",
      -  "demandGrowth30d",
      -  "salesTotal1d",
      -  "salesTotal7d",
      -  "salesTotal14d",
      -  "salesTotal30d"
      -]New value: +[
      +  "rap",
      +  "totalValue",
      +  "price",
      +  "creatorPrice",
      +  "growth1d",
      +  "growth7d",
      +  "growth14d",
      +  "growth30d",
      +  "growthall",
      +  "growthRs1d",
      +  "growthRs7d",
      +  "growthRs14d",
      +  "growthRs30d",
      +  "growthRsall",
      +  "score",
      +  "copies",
      +  "copiesLeft",
      +  "percentSold",
      +  "percentRemaining",
      +  "volume1d",
      +  "volume7d",
      +  "volume14d",
      +  "volume30d",
      +  "demandGrowth1d",
      +  "demandGrowth7d",
      +  "demandGrowth14d",
      +  "demandGrowth30d",
      +  "salesTotal1d",
      +  "salesTotal7d",
      +  "salesTotal14d",
      +  "salesTotal30d",
      +  "movingAvg30d",
      +  "movingAvg90d",
      +  "movingAvg180d"
      +]
    • changedInput schema / properties / sort / description
      Previous value: -"Metric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved)."New value: +"Metric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved). Price level: movingAvg30d/90d/180d, the average sale price over that span in Robux (the total paid over copies sold); only items that sold in the span have one."
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "rap",
      -  "totalValue",
      -  "price",
      -  "creatorPrice",
      -  "growth1d",
      -  "growth7d",
      -  "growth14d",
      -  "growth30d",
      -  "growthall",
      -  "growthRs1d",
      -  "growthRs7d",
      -  "growthRs14d",
      -  "growthRs30d",
      -  "growthRsall",
      -  "score",
      -  "copies",
      -  "copiesLeft",
      -  "percentSold",
      -  "percentRemaining",
      -  "volume1d",
      -  "volume7d",
      -  "volume14d",
      -  "volume30d",
      -  "demandGrowth1d",
      -  "demandGrowth7d",
      -  "demandGrowth14d",
      -  "demandGrowth30d",
      -  "salesTotal1d",
      -  "salesTotal7d",
      -  "salesTotal14d",
      -  "salesTotal30d"
      -]New value: +[
      +  "rap",
      +  "totalValue",
      +  "price",
      +  "creatorPrice",
      +  "growth1d",
      +  "growth7d",
      +  "growth14d",
      +  "growth30d",
      +  "growthall",
      +  "growthRs1d",
      +  "growthRs7d",
      +  "growthRs14d",
      +  "growthRs30d",
      +  "growthRsall",
      +  "score",
      +  "copies",
      +  "copiesLeft",
      +  "percentSold",
      +  "percentRemaining",
      +  "volume1d",
      +  "volume7d",
      +  "volume14d",
      +  "volume30d",
      +  "demandGrowth1d",
      +  "demandGrowth7d",
      +  "demandGrowth14d",
      +  "demandGrowth30d",
      +  "salesTotal1d",
      +  "salesTotal7d",
      +  "salesTotal14d",
      +  "salesTotal30d",
      +  "movingAvg30d",
      +  "movingAvg90d",
      +  "movingAvg180d"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / asset_type / enum
      Previous value: -[
      -  "AvatarBackground",
      -  "BackAccessory",
      -  "DressSkirtAccessory",
      -  "DynamicHead",
      -  "EmoteAnimation",
      -  "EyebrowAccessory",
      -  "EyelashAccessory",
      -  "Face",
      -  "FaceAccessory",
      -  "FaceMakeup",
      -  "FrontAccessory",
      -  "Gear",
      -  "HairAccessory",
      -  "Hat",
      -  "JacketAccessory",
      -  "LeftShoeAccessory",
      -  "LipMakeup",
      -  "NeckAccessory",
      -  "PantsAccessory",
      -  "ShirtAccessory",
      -  "ShortsAccessory",
      -  "ShoulderAccessory",
      -  "SweaterAccessory",
      -  "TShirtAccessory",
      -  "WaistAccessory"
      -]New value: +[
      +  "AvatarBackground",
      +  "BackAccessory",
      +  "DressSkirtAccessory",
      +  "DynamicHead",
      +  "EmoteAnimation",
      +  "EyebrowAccessory",
      +  "EyelashAccessory",
      +  "EyeMakeup",
      +  "Face",
      +  "FaceAccessory",
      +  "FaceMakeup",
      +  "FrontAccessory",
      +  "Gear",
      +  "HairAccessory",
      +  "Hat",
      +  "JacketAccessory",
      +  "LeftShoeAccessory",
      +  "LipMakeup",
      +  "NeckAccessory",
      +  "PantsAccessory",
      +  "ShirtAccessory",
      +  "ShortsAccessory",
      +  "ShoulderAccessory",
      +  "SweaterAccessory",
      +  "TShirtAccessory",
      +  "WaistAccessory"
      +]
  7. Changed1 schema field changed
    • changedInput schema / properties / asset_type / enum
      Previous value: -[
      -  "AvatarBackground",
      -  "BackAccessory",
      -  "DressSkirtAccessory",
      -  "DynamicHead",
      -  "EmoteAnimation",
      -  "EyebrowAccessory",
      -  "EyelashAccessory",
      -  "Face",
      -  "FaceAccessory",
      -  "FrontAccessory",
      -  "Gear",
      -  "HairAccessory",
      -  "Hat",
      -  "JacketAccessory",
      -  "LeftShoeAccessory",
      -  "NeckAccessory",
      -  "PantsAccessory",
      -  "ShirtAccessory",
      -  "ShortsAccessory",
      -  "ShoulderAccessory",
      -  "SweaterAccessory",
      -  "TShirtAccessory",
      -  "WaistAccessory"
      -]New value: +[
      +  "AvatarBackground",
      +  "BackAccessory",
      +  "DressSkirtAccessory",
      +  "DynamicHead",
      +  "EmoteAnimation",
      +  "EyebrowAccessory",
      +  "EyelashAccessory",
      +  "Face",
      +  "FaceAccessory",
      +  "FaceMakeup",
      +  "FrontAccessory",
      +  "Gear",
      +  "HairAccessory",
      +  "Hat",
      +  "JacketAccessory",
      +  "LeftShoeAccessory",
      +  "LipMakeup",
      +  "NeckAccessory",
      +  "PantsAccessory",
      +  "ShirtAccessory",
      +  "ShortsAccessory",
      +  "ShoulderAccessory",
      +  "SweaterAccessory",
      +  "TShirtAccessory",
      +  "WaistAccessory"
      +]
  8. Changed1 schema field changed
    • addedInput schema / properties / asset_type
      Added value: +{
      +  "description": "Only this kind of item, e.g. Hat, HairAccessory, FaceAccessory, BackAccessory, Face, Gear. Omit for every kind.",
      +  "enum": [
      +    "AvatarBackground",
      +    "BackAccessory",
      +    "DressSkirtAccessory",
      +    "DynamicHead",
      +    "EmoteAnimation",
      +    "EyebrowAccessory",
      +    "EyelashAccessory",
      +    "Face",
      +    "FaceAccessory",
      +    "FrontAccessory",
      +    "Gear",
      +    "HairAccessory",
      +    "Hat",
      +    "JacketAccessory",
      +    "LeftShoeAccessory",
      +    "NeckAccessory",
      +    "PantsAccessory",
      +    "ShirtAccessory",
      +    "ShortsAccessory",
      +    "ShoulderAccessory",
      +    "SweaterAccessory",
      +    "TShirtAccessory",
      +    "WaistAccessory"
      +  ],
      +  "type": "string"
      +}
  9. Changed4 schema fields changed
    • changedInput schema / properties / filters / description
      Previous value: -"Ranges narrowing the catalog, ANDed together. Each is in the unit its metric is shown in: Robux for rap/totalValue/price/salesTotal*/growthRs*, percent for growth*/percentRemaining/percentSold, a count for copies/copiesLeft/volume*. An item with no value for a bounded metric is excluded."New value: +"Ranges narrowing the catalog, ANDed together. Each is in the unit its metric is shown in: Robux for rap/totalValue/price/creatorPrice/salesTotal*/growthRs*, percent for growth*/percentRemaining/percentSold, a count for copies/copiesLeft/volume*. An item with no value for a bounded metric is excluded."
    • changedInput schema / properties / filters / items / properties / metric / enum
      Previous value: -[
      -  "rap",
      -  "totalValue",
      -  "price",
      -  "growth1d",
      -  "growth7d",
      -  "growth14d",
      -  "growth30d",
      -  "growthall",
      -  "growthRs1d",
      -  "growthRs7d",
      -  "growthRs14d",
      -  "growthRs30d",
      -  "growthRsall",
      -  "score",
      -  "copies",
      -  "copiesLeft",
      -  "percentSold",
      -  "percentRemaining",
      -  "volume1d",
      -  "volume7d",
      -  "volume14d",
      -  "volume30d",
      -  "demandGrowth1d",
      -  "demandGrowth7d",
      -  "demandGrowth14d",
      -  "demandGrowth30d",
      -  "salesTotal1d",
      -  "salesTotal7d",
      -  "salesTotal14d",
      -  "salesTotal30d"
      -]New value: +[
      +  "rap",
      +  "totalValue",
      +  "price",
      +  "creatorPrice",
      +  "growth1d",
      +  "growth7d",
      +  "growth14d",
      +  "growth30d",
      +  "growthall",
      +  "growthRs1d",
      +  "growthRs7d",
      +  "growthRs14d",
      +  "growthRs30d",
      +  "growthRsall",
      +  "score",
      +  "copies",
      +  "copiesLeft",
      +  "percentSold",
      +  "percentRemaining",
      +  "volume1d",
      +  "volume7d",
      +  "volume14d",
      +  "volume30d",
      +  "demandGrowth1d",
      +  "demandGrowth7d",
      +  "demandGrowth14d",
      +  "demandGrowth30d",
      +  "salesTotal1d",
      +  "salesTotal7d",
      +  "salesTotal14d",
      +  "salesTotal30d"
      +]
    • changedInput schema / properties / sort / description
      Previous value: -"Metric to rank by. Size: rap, totalValue, price, copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved)."New value: +"Metric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved)."
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "rap",
      -  "totalValue",
      -  "price",
      -  "growth1d",
      -  "growth7d",
      -  "growth14d",
      -  "growth30d",
      -  "growthall",
      -  "growthRs1d",
      -  "growthRs7d",
      -  "growthRs14d",
      -  "growthRs30d",
      -  "growthRsall",
      -  "score",
      -  "copies",
      -  "copiesLeft",
      -  "percentSold",
      -  "percentRemaining",
      -  "volume1d",
      -  "volume7d",
      -  "volume14d",
      -  "volume30d",
      -  "demandGrowth1d",
      -  "demandGrowth7d",
      -  "demandGrowth14d",
      -  "demandGrowth30d",
      -  "salesTotal1d",
      -  "salesTotal7d",
      -  "salesTotal14d",
      -  "salesTotal30d"
      -]New value: +[
      +  "rap",
      +  "totalValue",
      +  "price",
      +  "creatorPrice",
      +  "growth1d",
      +  "growth7d",
      +  "growth14d",
      +  "growth30d",
      +  "growthall",
      +  "growthRs1d",
      +  "growthRs7d",
      +  "growthRs14d",
      +  "growthRs30d",
      +  "growthRsall",
      +  "score",
      +  "copies",
      +  "copiesLeft",
      +  "percentSold",
      +  "percentRemaining",
      +  "volume1d",
      +  "volume7d",
      +  "volume14d",
      +  "volume30d",
      +  "demandGrowth1d",
      +  "demandGrowth7d",
      +  "demandGrowth14d",
      +  "demandGrowth30d",
      +  "salesTotal1d",
      +  "salesTotal7d",
      +  "salesTotal14d",
      +  "salesTotal30d"
      +]
  10. Changed3 schema fields changed
    • changedInput schema / properties / filters / items / properties / metric / enum
      Previous value: -[
      -  "rap",
      -  "totalValue",
      -  "price",
      -  "growth1d",
      -  "growth7d",
      -  "growth30d",
      -  "growthall",
      -  "growthRs1d",
      -  "growthRs7d",
      -  "growthRs30d",
      -  "growthRsall",
      -  "score",
      -  "copies",
      -  "copiesLeft",
      -  "percentSold",
      -  "percentRemaining",
      -  "volume1d",
      -  "volume7d",
      -  "volume30d",
      -  "demandGrowth1d",
      -  "demandGrowth7d",
      -  "demandGrowth30d",
      -  "salesTotal1d",
      -  "salesTotal7d",
      -  "salesTotal30d"
      -]New value: +[
      +  "rap",
      +  "totalValue",
      +  "price",
      +  "growth1d",
      +  "growth7d",
      +  "growth14d",
      +  "growth30d",
      +  "growthall",
      +  "growthRs1d",
      +  "growthRs7d",
      +  "growthRs14d",
      +  "growthRs30d",
      +  "growthRsall",
      +  "score",
      +  "copies",
      +  "copiesLeft",
      +  "percentSold",
      +  "percentRemaining",
      +  "volume1d",
      +  "volume7d",
      +  "volume14d",
      +  "volume30d",
      +  "demandGrowth1d",
      +  "demandGrowth7d",
      +  "demandGrowth14d",
      +  "demandGrowth30d",
      +  "salesTotal1d",
      +  "salesTotal7d",
      +  "salesTotal14d",
      +  "salesTotal30d"
      +]
    • changedInput schema / properties / sort / description
      Previous value: -"Metric to rank by. Size: rap, totalValue, price, copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/30d/all (percent) and growthRs1d/7d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/30d (sales) and salesTotal1d/7d/30d (Robux moved)."New value: +"Metric to rank by. Size: rap, totalValue, price, copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved)."
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "rap",
      -  "totalValue",
      -  "price",
      -  "growth1d",
      -  "growth7d",
      -  "growth30d",
      -  "growthall",
      -  "growthRs1d",
      -  "growthRs7d",
      -  "growthRs30d",
      -  "growthRsall",
      -  "score",
      -  "copies",
      -  "copiesLeft",
      -  "percentSold",
      -  "percentRemaining",
      -  "volume1d",
      -  "volume7d",
      -  "volume30d",
      -  "demandGrowth1d",
      -  "demandGrowth7d",
      -  "demandGrowth30d",
      -  "salesTotal1d",
      -  "salesTotal7d",
      -  "salesTotal30d"
      -]New value: +[
      +  "rap",
      +  "totalValue",
      +  "price",
      +  "growth1d",
      +  "growth7d",
      +  "growth14d",
      +  "growth30d",
      +  "growthall",
      +  "growthRs1d",
      +  "growthRs7d",
      +  "growthRs14d",
      +  "growthRs30d",
      +  "growthRsall",
      +  "score",
      +  "copies",
      +  "copiesLeft",
      +  "percentSold",
      +  "percentRemaining",
      +  "volume1d",
      +  "volume7d",
      +  "volume14d",
      +  "volume30d",
      +  "demandGrowth1d",
      +  "demandGrowth7d",
      +  "demandGrowth14d",
      +  "demandGrowth30d",
      +  "salesTotal1d",
      +  "salesTotal7d",
      +  "salesTotal14d",
      +  "salesTotal30d"
      +]
  11. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses currency (Robux), page size (100 rows), a hard paging ceiling (offset 10,000), and metric caveats such as metrics being absent for items that did not sell in the window and moving averages excluding free claims. It does not cover auth or rate-limit behavior, but for a read-only catalog search this is strong disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then return fields, then ranking/filtering, then paging constraints. Dense and mostly waste-free, though the long enumeration of return fields makes it heavier than strictly necessary given that the schema already documents the sortable metrics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema and no annotations, the description compensates by enumerating the returned fields and spelling out paging limits and the bulk-download alternative. It is close to complete; only auth/permission context is left unaddressed, which is minor for a read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 82%, so the baseline is 3, but the description adds genuine meaning: it explains that filters are ANDed, that each bound is in the metric's own unit (Robux/percent/count), and that items lacking a bounded metric are excluded. These are semantic clarifications beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'Search the Roblox Limited catalog by name, or screen the whole market when no query is given.' The dual mode (name search vs. whole-market screening/ranking) is made explicit. It does not explicitly differentiate itself from siblings like get_items or find_deals, which keeps it just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use context: screen the whole market when no query is given, rank via sort, narrow via filters for multi-condition questions, and download catalog.json 'instead of paging' for the full set. It names an alternative for the complete-dataset case but does not route the agent among other sibling tools (e.g., get_item_details), so it falls short of full 5-level routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources