Missing NFT metadata

when calling Moralis.Web3API.account.getNFTsForContract some NFTs returns null metadata.

For example the following NFT on rinkeby
contract address: 0x186a2732cd5c7010ef1d5a9499d9f86c099bd19c
token ID: 67

Metadata is actually available at:

This is the response I get for that NFT:

    "token_address": "0x186a2732cd5c7010ef1d5a9499d9f86c099bd19c",
    "token_id": "67",
    "block_number_minted": "9775307",
    "owner_of": "0x1eb8b60947b90b6aef96c7b829f91be05b8495f9",
    "block_number": "9775307",
    "amount": "1",
    "contract_type": "ERC721",
    "name": "Teekey",
    "symbol": "TEE",
    "token_uri": "https://fdp00bm8i1.execute-api.us-west-1.amazonaws.com/teekey?id=67",
    "metadata": null,
    "synced_at": null,
    "is_valid": 0,
    "syncing": 1,
    "frozen": 0

Can you please shine a light in regards what could be the issue?
Many thanks,

probably related to this

we are continuously trying to get the metadata for a lot of smart contracts, sometimes we don’t get to have the metadata for all of them, when the metadata is missing you can get it by accessing that token_uri

okay thanks, I will fetch the data from the tokenURI

hey, any update on this? is there a scalable way to get the metadata using the token_uri?

now there is the option to resync a token_uri or metadata for a token id: https://docs.moralis.io/moralis-server/web3-sdk/token#resyncmetadata

but it is not easy to use it at scale

Preferably, token_uri is the best way to get the metadata for nfts, as the metadata field may be null but the token_uri can never (except in rare cases)