Skip to main content

How to get SPL NFT Metadata

Prerequisites​

Before getting started, make sure you have the following ready:

  • Node v.14+ or Python
  • NPM/Yarn or Pip

Step 1: Setup Moralis​

First register your Moralis account and get your Moralis API Key.

Once you have your Moralis API Key, install the Moralis SDK in your project.

npm install moralis @moralisweb3/common-sol-utils

Step 2: Get metadata of a SPL NFT​

In order to get the metadata of a SPL NFT, Moralis provides you the getNFTMetadata API endpoint to do so.

Here you'll need two parameters: address and network.

Once you have obtained both the address and network, you can copy the following code:

const Moralis = require("moralis").default;
const { SolNetwork } = require("@moralisweb3/common-sol-utils");

const runApp = async () => {
await Moralis.start({
apiKey: "YOUR_API_KEY",
// ...and any other configuration
});

const address = "FVW9KoJxXzP2cCfhLfFC7hQKBZKnaoPkyZJQgvM9moWV";

const network = SolNetwork.MAINNET;

const response = await Moralis.SolApi.nft.getNFTMetadata({
address,
network,
});

console.log(response.toJSON());
};

runApp();

Step 3: Run the script​

To run the script, enter the following command:

node index.js

In your terminal, you should see the following JSON response:

{
"mint": "FVW9KoJxXzP2cCfhLfFC7hQKBZKnaoPkyZJQgvM9moWV",
"standard": "metaplex",
"name": "",
"symbol": "WASHERE",
"metaplex": {
"metadataUri": "https://nftstorage.link/ipfs/bafybeifa4kbkyzvxx2uedsnqespxdhdgn4bs3bw7mkrhdtxi2y44dahcxm/6.json",
"updateAuthority": "14BRquDqnVXCVmQEAaZkiKCCruz2nbZNJrb5nB4GiewW",
"sellerFeeBasisPoints": 0,
"primarySaleHappened": 1,
"owners": [
{
"address": "6ULhukKTw1U3NgpwV319eUC5eQYRSYUFi1iNpdTqUMBf",
"verified": 1,
"share": 0
},
{
"address": "14BRquDqnVXCVmQEAaZkiKCCruz2nbZNJrb5nB4GiewW",
"verified": 0,
"share": 100
}
],
"isMutable": true,
"masterEdition": false
}
}

Congratulations 🥳 You just got the metadata of a SPL NFT with just a few lines of code using the Moralis Solana API!

API Reference​

If you want to know more details on the endpoint and optional parameters, check out:

YouTube Tutorial​

Support​

If you face any trouble following the tutorial, feel free to reach out to our community engineers in our Discord or Forum to get 24/7 developer support.