I'd like to learn what is used, I think it's the Catalog API but I'm not 100% sure.
Well, you need multiple things. First off, a very good understanding of RBXLua and regular Lua. You're going to need to create a screengui that supports flipping through pages. You're also going to need to know the Web APIs required.
In this particular case you need to use the Catalog API.
You will need to use a proxy to access roblox's web apis or you'll get an error.
When using the Catalog API here's how a JSON Callback looks:
{"AssetId": 66747327, "Name": "Cuter Fox", "Url": "/Cuter-Fox-item?id=66747327", "PriceInRobux": "50", "Updated": "4 months ago", "Favorited": "0 times", "Sales": "0", "Remaining": "", "Creator": "ROBLOX", "CreatorUrl": "/User.aspx?ID=1", "PrivateSales": "", "PriceView": 2, "BestPrice": "", "ContentRatingTypeID": 0, "AssetTypeID": 8, "CreatorID": 1, "CreatedDate": "\/Date(1322616958803)\/", "UpdatedDate": "\/Date(1322701833910)\/", "IsForSale": true, "IsPublicDomain": false, "IsLimited": false, "IsLimitedUnique": false, "MinimumMembershipLevel": 1}
The link I posted above related to the Catalog API should be all you need to get started.
Hope I helped :)