The only possibility to get user's inventory is to call GetUserInventory, which gives all items for the user. Same for GetCatalogItems.
Would it be possible to not retrieve Dozens of items and then parse them in order to just query a single value, i.e. passing the item_id in the query ?