Hi, I was wondering if someone could help me understand the inaccuracy with Moralis NFT Owners count. I call via Python like this. The results Iām getting for some example collections are:
0x7daec605e9e2a1717326eedfd660601e2753a057 - 10ktf-stockroom:
my results: 3810 holders
etherscan: 2729 holders
0xb4d06d46a8285f4ec79fd294f78a881799d8ced9 - 3landers
my results: 6096 holders
etherscan: 6130 holders
0x7ab2352b1d2e185560494d5e577f9d3c238b78c5 - adam-bomb-squad
my results: 8550
etherscan: 8557
Would be great if anyone can offer insight why Moralis gives precise but not accurate results
tradeUrl = "https://deep-index.moralis.io/api/v2/nft/" + str(tok_add) + \ "/owners?chain=eth&format=decimal"
if cursor != "":
tradeUrl += "&cursor=%s" % cursor
headers = {
"Content-Type": "application/json",
"X-API-Key": API-KEY,
}
response = requests.request("GET", tradeUrl, headers=headers, timeout = 30)
data = response.json()
results = data["result"]
for result in results:
owner = result["owner_of"]
if owner in addresses_dict:
addresses_dict[result["owner_of"]][1] += 1
else:
count+= 1
addresses_dict[result["owner_of"]] = [result["owner_of"], 1]
# next page
print("For " + tok_add + " the number of holders is " + str(count))