Contract sync for NFT index


I am writing a python script to make a dashboard in which I can follow the economics behind NFT marketplaces/collections/users etc. I wanted to build it bottom up, starting from collections. For this I was using the /nft/{address} GET. I however was testing it with the Psychedelics Anonymous collection (contract: 0x75e95ba5997eb235f40ecf8347cdb11f18ff640b). PA has 9595 nfts in their collection, but when I did the call, 6 where missing. More specifically: [544, 2914, 6094, 8514, 8604, 8817].

When I used the /nft/{address}/{token_id} call for the PA contract and token id 544, I got

  "message": "No metadata found! Try again later"

I first thought it might be because they were minted much later but they were not and they actually also had transactions on opensea (etherscan). I guess this has to do with the syncing, so I also ran /nft/{address}/sync PUT for it but after 2 hours, it has not yet changed. I tested it with BAYC also and there it seemed to be complete.

So all signs point to syncing issues. How often do collections get synced by moralis? And if I initiate the sync myself with the put request, how long should that normally take?
I ask because else that could mean that my dashboard is inaccurate for newer collections.

thanks in advance for any advice or fixes you could provide/

from what I checked those 6 token ids seem to be missing, we will get back after it gets fixed

1 Like

@intothemeta, those token_ids that were missing are present now

1 Like

Thanks cryptokid!
What was the problem? And is there a way on my end to make sure I always have the complete collection as existing at the moment of my call to the API?

it looks like we have some cases of missing NFTs from our indexing, we are working on fixing them for all the contracts

1 Like

Im seeing this as well on fuji test net - I created a new NFT using and
if I do getAllNFTs with Moralis it doesnt show my NFT
if I do getALLNFts with that specific contract set as token_addresses then it sees my newly created NFT.

I tried the PUT to sync the contract and waited… with no change in the above results.

Can you paste how you are using getAllNFTs and with what parameters?

1 Like


Check this out for troubleshooting: