Skip to content

Instantly share code, notes, and snippets.

@exurd
Last active June 15, 2024 20:52
Show Gist options
  • Save exurd/a60da191badca289a9ad1797e142df16 to your computer and use it in GitHub Desktop.
Save exurd/a60da191badca289a9ad1797e142df16 to your computer and use it in GitHub Desktop.
Roblox Python Script: Find median price for resellable limiteds
import requests
import time
import statistics
def medianPrice(CollectibleItemId):
itemReq = requestSession.get(f"https://apis.roblox.com/marketplace-sales/v1/item/{CollectibleItemId}/resellers?cursor=&limit=100")
#print(playerReq)
list = []
if itemReq.ok:
itemJson = itemReq.json()
if 'errors' in itemJson:
print("Error in itemJson! [", itemJson, "]")
#continue
else:
print("Searching listings on item...")
while True:
for seller in itemJson['data']:
#print(seller)
#print(seller['price'])
list.append(seller['price'])
#print(universe_json['nextPageCursor'])
if itemJson['nextPageCursor'] == "":
print("Searched all sellers.")
return statistics.median(list)
else:
print("Checking next page of sellers...")
time.sleep(3)
itemJson = requestSession.get(f"https://apis.roblox.com/marketplace-sales/v1/item/{CollectibleItemId}/resellers?cursor={itemJson['nextPageCursor']}&limit=100").json()
else:
print("Error! [", itemReq, "]")
#continue
requestSession = requests.Session()
adapter = requests.adapters.HTTPAdapter(max_retries=5)
requestSession.mount('https://', adapter)
requestSession.mount('http://', adapter)
requestSession.headers['Referer'] = "https://www.roblox.com"
def findMedianFor(catalogId):
catalogReq = requestSession.get(f"https://economy.roblox.com/v2/assets/{str(catalogId)}/details")
if catalogReq.ok:
catalogJson = catalogReq.json()
#print(catalogJson)
CollectibleItemId = catalogJson['CollectibleItemId']
#print(CollectibleItemId)
median = medianPrice(CollectibleItemId)
print(f"Median Price: {median}")
else:
raise Exception("Catalog API failed to load")
findMedianFor(13059017976)
@exurd
Copy link
Author

exurd commented Jun 15, 2024

Output example with ID 13059017976:

Searching listings on item...
Checking next page of sellers...
Checking next page of sellers...
Searched all sellers.
Median Price: 85

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment