Data not coming sync in moralis api

HI Team

We are facing two critical problem with your pro version of API.

Problem 1: The data we get is not in proper sequence. Just to give clear idea , we are developing rarity rank tool and we have created the algorithm to rant the rarity, however for every collection we call we get the attribute or meta data in different manner, their is not proper format or sequence as open sea provide. Have explained the issue in below mention video.

Do check the video : https://www.loom.com/share/c6172afbd0914dd187392b335ca1ebde [ Video 1 ]

We love to use moralis, but inconsistent data don’t allow us to to make general algorithm as we can do through open sea API, please help in same .

Problem 2: We are not getting data like Image , owner of NFT name or price history fo nft sale and many same critical information which you caim to provide being the opensea replica setup. All images you provide is the original high quality deployed on ipfs and due to this this impossible to load all or get few at same time , on counter open sea provide 3 version of images i.e. thumbnail, small and large and we can use the one we need.

Similerly we cant get some critical information like price history or sale history of NFT as well as owner wallet address or name of wallet in your data, their are other critical information as well some proof as how these thing are not fetch in API on your platform.

Do check the video: https://www.loom.com/share/03c0fe13690e485d8ba513f436c42629 [ Video 2 ]

Please check these 2 issues on high priority, we have bet high amount of time and effort on your API and would love to work with you if you all our above mention problem.

Looking for your quick response on same !! Thanks for help :slight_smile:

The data we get is not in proper sequence. Just to give clear idea , we are developing rarity rank tool and we have created the algorithm to rant the rarity, however for every collection we call we get the attribute or meta data in different manner, their is not proper format or sequence as open sea provide

Hello, attributes (and metadata in general) can technically be in any format, so they could be with or without key names like trait_types (which OpenSea uses). For each collection you use, the metadata will not always be in the same structure. For example, there are some collections where image_url is used instead of image.

This means you have to handle cases like this yourself (normalize the data) when processing it in your tool or app. If you need to use the trait_type and it isn’t also stored on-chain, then you will need to use the OpenSea API directly (you could try the plugin as well).

All images you provide is the original high quality deployed on ipfs and due to this this impossible to load all or get few at same time

OpenSea do their own fetching and processing with a provider (they use Google) to provide different image sizes, and these copies are not fetched each time from IPFS like a link with http://gateway.pinata.cloud/ is.

For issues like CORS and restricted access to IPFS, you can try using different gateways (like https://gateway.moralisipfs.com/ipfs/) or pay for your own dedicated gateway - Pinata and Infura offer this. For creating different image sizes, you can use a provider like Cloudinary to process these images and provide them for you as a CDN similar to how OpenSea does it.

Similerly we cant get some critical information like price history or sale history of NFT as well as owner wallet address or name of wallet in your data, their are other critical information as well some proof as how these thing are not fetch in API on your platform.

Can you give a specific example, the owner address will typically be provided with an NFT’s results (owner_of). What do you mean by name of wallet? Like MetaMask or doing the domain name like ENS? For price/sale history, it may be best to query the marketplace directly (OpenSea).

Hi Team , Thanks for replying on query.

Yes , from owner address we mean like the name of the Owner of that specific NFT. When people place some name in metamasdsk wallet then we get their name , else we get their wallet address as owner of NFT.
Will (owner_of) will provide the same or we need to use the setup in some different scenario ?

You can use resolveaddress to get the ENS names of the wallet address. Is that what you are referring to?
https://docs.moralis.io/moralis-dapp/web3-api/resolve#resolveaddress

Kapil is helping us on this project so let me provide some more clarification.

We are looking for historical NFT pricing and attributes (e.g. mint price, sold date, sold price, # of owners etc). Information on the owner’s wallet (so they can eventually tie it to their username on our page) is another data point that we are looking for.

We also need a few different sized thumbnails for the site but it seems like there is a workaround here through the plugin? Could you explain that part another way? Can we use some sort of API calls in order to pull image info from that opensea plugin?

Thanks!

We are looking for historical NFT pricing and attributes (e.g. mint price, sold date, sold price, # of owners etc)

You will likely need to use the OpenSea API.

Information on the owner’s wallet

What sort of information? If you’re talking about any associated ENS domain name, as johnversus said you can resolve the address.

Can we use some sort of API calls in order to pull image info from that opensea plugin?

You can either use the OpenSea API or the Moralis plugin (getAsset) to get the same image links that they provide e.g.

{
  imagePreviewUrl: "https://lh3.googleusercontent.com/9WkSu8CP7gZjaEmUy8cpaKG3mK6ScHeEDvQf8driDoRxuxy4GPAs_W_Dn_DQascQSGDkdUL4cjmsnRrL6xN-NDp-s_RNwN5pxiCo=s250"
  imageUrl: "https://lh3.googleusercontent.com/9WkSu8CP7gZjaEmUy8cpaKG3mK6ScHeEDvQf8driDoRxuxy4GPAs_W_Dn_DQascQSGDkdUL4cjmsnRrL6xN-NDp-s_RNwN5pxiCo=s250"
  imageUrlOriginal: "ipfs://QmPbxeGcXhYQQNgsC6a36dDyYUcHgMLnGKnF8pVFmGsvqi"
  imageUrlThumbnail: "https://lh3.googleusercontent.com/9WkSu8CP7gZjaEmUy8cpaKG3mK6ScHeEDvQf8driDoRxuxy4GPAs_W_Dn_DQascQSGDkdUL4cjmsnRrL6xN-NDp-s_RNwN5pxiCo=s128"
}