Skip to main content

Get NFT Metadata by Contract

POST

Retrieves the metadata list for NFTs issued from a specific contract.

📘 What are NFT Metadata and Token URI?

NFTs are a technology that ensures ownership and uniqueness of digital assets. NFT metadata is a critical component that stores information about these assets. Metadata plays an important role in describing the essence of an NFT.

1. NFT Metadata

Includes the NFT's creator, issuance date, attributes, and media files (e.g., images, videos). This metadata makes an NFT more than just a digital file—it defines a unique asset and establishes the NFT's scarcity or distinctive characteristics.

2. Token URI

Storing data on the blockchain is costly. Therefore, metadata and media files are not stored on the blockchain but are kept in external storage such as IPFS or S3. Token URI is a field that points to the location of the metadata file in such external storage. Metadata is accessed via this URI. In other words, Token URI links metadata and media files, serving as the bridge between on-chain information and actual content.

Path Parameters
chainstringrequired
Parameter specifying the target chain to query.
networkstringrequired
Parameter specifying the network of the target chain.
Request Body
contractAddressstringrequired
Parameter specifying the contract address to query. Can be entered as a 40-character hexadecimal string starting with 0x.
pageinteger
The page parameter specifies the data page to query. It accepts values up to 100; for pages exceeding 100, use the cursor pagination method.The page and cursor parameters cannot be used together. If both page and cursor are empty, cursor pagination is used.
rppinteger
rpp stands for results per page and specifies the page size. You can specify a number greater than 0 and up to 100.
cursorstring
The cursor parameter supports pagination and data navigation between pages. Provide the cursor value from the previous page in the next request to load the next page of data.The page and cursor parameters cannot be used together. If both page and cursor are empty, cursor pagination is used.
withCountboolean
Parameter specifying whether to include the count field in the response. The count field indicates the total number of requested data items. When set to true, the count field is included and response speed may be slower.
Responses
pageinteger
Field representing the page number specified in the page parameter. This field is only included in the response when a value greater than 0 is specified for the page parameter.
rppinteger
Field representing the number of results per page specified in the rpp parameter.
cursorstring
A field for cursor pagination. This value must be provided in the next request to load the next page of data.
countinteger
Field representing the total count of requested data. This field is only included in the response when true is set for the withCount parameter.
tokenIdstringrequired
A field representing the unique ID of the NFT token. This ID is used to identify the NFT.
tokenUristringrequired
A field representing the URI where the original metadata of the NFT is located. Format may vary by contract implementation, but is typically provided as an IPFS address or web URL.
tokenUriSyncedAtstringrequired
A field representing when the tokenUri of the NFT was synchronized.
rawMetadatastringrequired
A field representing the rawMetadata of the NFT.
metadataSyncedAtstringrequired
A field representing when the metadata of the NFT was synchronized.
addressstringrequired
A field representing the contract address.
deployedTransactionHashstringrequired
A field representing the hash of the transaction in which the contract was deployed.
deployedAtstringrequired
A field representing the time when the contract was deployed. This field is provided in ISO 8601 date and time format.
deployerAddressstringrequired
A field representing the address that deployed the contract.
logoUrlstringrequired
A field representing the logo URL of the contract. This URL can be used to visually identify the contract. [Note] Not all contracts have logo images available. If a contract has no logo, this field is provided as null.
typestringrequired
A field representing the type of the contract. Contract types are denoted by standard specification names (e.g., ERC721, ERC1155, ERC20, ERC721, ERC1155, ERC20).
namestringrequired
A field representing the name of the contract. Returns an empty string if the contract does not follow the standard or if name was not provided at contract creation.
symbolstringrequired
A field representing the symbol of the contract. Returns an empty string if the contract does not follow the standard or if symbol was not provided at contract creation.
totalSupplystring
A field representing the total supply of the contract. This value indicates the total token supply and is provided as a decimal string. Included in the response only when the contract type is ERC20.
decimalsinteger
A field representing the decimal places of the contract. Included in the response only when the contract type is ERC20 or ERC1155.
codestringrequired
Code identifying the cause of the failed request.
messagestringrequired
Detailed message including the name and value of the invalid parameter.
{
"code": "MISSING_REQUIRED_PARAMETER",
"message": "Missing required parameter: { PARAMETER_NAME }"
}
cURL
curl -X POST 'https://web3.nodit.io/v1/avalanche/mainnet/nft/getNftMetadataByContract' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: nodit-demo' \
-d '{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"page": 1,
"rpp": 10
}'