---
title: "Get token metadata"
method: GET
path: "/v4/data/metadata"
tags: ["NFT API"]
---

# Get token metadata

`GET /v4/data/metadata`

/v4/data/metadata

**10 credits per API call**

\> 📘 \*\*Note for v3 API users:\*\* > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/metadata. Users can refer to GET /v4/data/metadata for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get metadata of NFTs (ERC-721 and ERC-1155) or multitokens (ERC-1155 only) by IDs for a given token address! Our API lets you search for all tokens on:

*   Ethereum - ethereum-mainnet / ethereum-sepolia
*   Base - base-mainnet / base-sepolia
*   Arbitrum - arb-one-mainnet / arb-testnet
*   BNB (Binance) Smart Chain - bsc-mainnet / bsc-testnet
*   Polygon - polygon-mainnet
*   Optimism - optimism-mainnet / optimism-testnet
*   Berachain - berachain-mainnet
*   Unichain - unichain-mainnet / unichain-sepolia
*   Monad - monad-testnet
*   Celo - celo-mainnet / celo-testnet
*   Chiliz - chiliz-mainnet
*   Avalanche - avax-mainnet / avax-testnet
*   Gnosis - gno-mainnet / gno-testnet
*   zkSync - zksync-mainnet / zksync-testnet
*   Rootstock - rsk-mainnet / rsk-testnet

To get started:

*   Provide a chain name, token address and comma-separated list of IDs. Our API will return relevant metadata about each specified token, including its name, description, image, and more.
*   Aside from the metadata information, the response also contains token types and metadata url minted in each token.

## Query parameters

- `chain` 'ethereum-mainnet' | 'ethereum-sepolia' | 'base-mainnet' | 'base-sepolia' | 'arb-one-mainnet' | 'arb-testnet' | 'bsc-mainnet' | 'bsc-testnet' | 'polygon-mainnet' | 'optimism-mainnet' | 'optimism-testnet' | 'berachain-mainnet' | 'unichain-mainnet' | 'unichain-sepolia' | 'monad-testnet' | 'celo-mainnet' | 'celo-testnet' | 'chiliz-mainnet' | 'avax-mainnet' | 'avax-testnet' | 'gno-mainnet' | 'gno-testnet' | 'zksync-mainnet' | 'zksync-testnet' | 'rsk-mainnet' | 'rsk-testnet', required
- `tokenAddress` string, required — Contract address of the token.
- `tokenIds` string, uint256, required — IDs of the token.

## Response `200`

OK

- object[]
  - `chain` string — Name of the chain.
  - `tokenId` string, uint256 — ID of the token.
  - `tokenAddress` string — Contract address of the token.
  - `tokenType` 'native' | 'fungible' | 'nft' | 'multitoken' — Enum representing the type of token.
  - `metadataURI` string — Metadata URL of the token. This data doesn't have to be present. The safest way to obtain them in that case is from the NFT Contract.tokenURI() method call.
  - `metadata` NftMetadata — Metadata scheme obtained from the url. This data don't have to be present. The safest way to obtain them in that case is from the NFT Contract.tokenURI() method call.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
