import time
import requests

startTime = time.time()
assetIds = [2, 11, 12, 34]
userId = 1928307387

def getItems(assetId):
    cursor = ""
    while True:
        request = requests.get(f"https://inventory.roblox.com/v2/users/{userId}/inventory/{assetId}?limit=100&cursor={cursor}")
        requestJson = request.json()
        nextCursor = requestJson.get("nextPageCursor")
        if nextCursor is None:
            break
        else:
            cursor = nextCursor

for assetId in assetIds:
    getItems(assetId)

endTime = time.time()
finalTime = endTime - startTime
print(f"Time taken: {finalTime}")

With this new API I got:
“Time taken: 4.353755474090576”

Much better than the previous one.