If you wish to retrieve items from a specific datecenter, you can to use SoftLayer_Product_Package::getItemPrices, for example, the rest API call below retrieves all network speed items greater than 1000 Mbps in ams01 for the VSI package Id (eg. 835 "PUBLIC_CLOUD_SERVER"):
Method: GET
https://username:apikey@api.softlayer.com/rest/v3.1/SoftLayer_Product_Package/835/getItemPrices?objectMask=mask[id,item,pricingLocationGroup[locations[name]]]&objectFilter={"itemPrices":{"pricingLocationGroup":{"locations":{"name":{"operation":"ams01"}}},"item":{"itemCategory":{"categoryCode":{"operation":"port_speed"}},"capacity":{"operation":">=1000"}}}}
You can use a bare metal package Id (eg. 200 "BARE_METAL_SERVER"), in order to retrieve items for Bare Metal. Also, I suggest you use standard prices and use them with any datacenter.
Method: GET
https://username:apikey@api.softlayer.com/rest/v3.1/SoftLayer_Product_Package/200/getItemPrices?objectMask=mask[id,locationGroupId,item[itemCategory],pricingLocationGroup[locations[name]]]&objectFilter={"itemPrices":{"locationGroupId":{"operation":"is null"},"item":{"itemCategory":{"categoryCode":{"operation":"port_speed"}},"capacity":{"operation":">=1000"}}}}
Keep in mind that the API call above, retrieves standard prices for bare metal, and if you wish to get standard prices for VSI you will have to use a package Id for VSI.
References:
https://sldn.softlayer.com/article/understanding-ordering/
https://sldn.softlayer.com/python/ordering_slcli/