import requests import random def get_nft(): # To find the collection's address, you have to do a curl against the API # curl -s --request GET --url https://api.opensea.io/api/v1/collection/ | | jq -r .[].primary_asset_contracts[].address # Alternatively, go to some asset on Opensea and take the chunk of the URL after "assets": # https://opensea.io/assets/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/1469 # In this case, "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d" collections = [ "0xed5af388653567af2f388e6224dc7c4b3241c544", # Azuki "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d", # Bored Ape Yacht Club "0x5180db8f5c931aae63c74266b211f580155ecac8", # Crypto Coven "0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb", # Crypto Punks "0x8943c7bac1914c9a7aba750bf2b6b09fd21037e0", # Lazy Lions "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", # Pudgy Penguins "0x54a79ab6f5210fcb2c5fc914271a865003f15576", # Panda Astronaut Club ] url = ( "https://api.opensea.io/api/v1/bundles?limit=50&asset_contract_address=%s" % random.choice(collections) ) x = requests.get(url).json()["bundles"] return random.choice(x)["assets"][0]["image_url"]