How to get SPL NFT Metadata

Learn how to get metadata of a SPL NFT using Moralis Solana API.

Prerequisites

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

  • Node v.14+ or Python
  • NPM/Yarn/PNPM 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 Moralis SDK in your project.

npm install moralis @moralisweb3/common-sol-utils
yarn add moralis @moralisweb3/common-sol-utils
pnpm add moralis @moralisweb3/common-sol-utils
pip install moralis

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();
import Moralis from "moralis";
import { SolNetwork } from "@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();
from moralis import sol_api

api_key = "YOUR_API_KEY"
params = {
    "address": "FVW9KoJxXzP2cCfhLfFC7hQKBZKnaoPkyZJQgvM9moWV", 
    "network": "mainnet", 
}

result = sol_api.nft.get_nft_metadata(
    api_key=api_key,
    params=params,
)

print(result)

To execute the program, run the following command:

node index.js
npx ts-node index.ts
python index.py

In your terminal, you should see the following 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.