Getting null for token_uri and metadata when fetching metadata of a Polygon NFT collection

Hi, I am using /nft/{address}/{token_id} to fetch the metadata of a Polygon collection Zed Run with contract address of 0x67F4732266C7300cca593C814d46bee72e40659F. However, I found that I cannot fetch the metadata (getting null for both token_uri and metadata) of some of the tokenId (e.g. 194559).

As I know, this collection has 2 contracts (one is a legacy one), it works if I query using the legacy contract address (0xa5f1ea7df861952863df2e8d1312f7305dabf215). But can I get the same result when querying the non-legacy one (0x67F4732266C7300cca593C814d46bee72e40659F)?

I tried to query this token with a Polygon RPC node using the non-legacy one (0x67F4732266C7300cca593C814d46bee72e40659F), and it works. I’m wondering is there anything I can do to fetch the corresponding metadata with Moralis?

Thank you so much! :pray:

Non-legacy address on polyscan: https://polygonscan.com/address/0x67f4732266c7300cca593c814d46bee72e40659f#tokentxnsErc721

Legacy address on polyscan:

You can try to use resyncMetadata endpoint with uri flag. You can call it directly from web3api interface too from the left in admin interface.

Thanks, I just tried and it’s working! But do I need to do this for every token of the collection to get them all sync? :persevere:

For now that is an option. You can write a script to do that. You can not call that endpoint more than once in a second with a free plan.

1 Like

Is there any rate limit for this endpoint if I have the paid plan? And is it able to run the tokenId in batches? There are more than 400k tokenIds in this contract, I already run the script for 1 week and still not yet done :persevere:

now, there should be easier to resync that metadata,
you can read here more about it:

1 Like