NFTs API
One NFT: its metadata, traits and owner
One NFT by collection contract and token id: its name, image, description and traits, its token standard and collection, and who holds it (ERC-721).
/api/external/nft-analysis/nft-item/{chain}/{address}What it returns
One NFT, by collection contract and token id: the collection it belongs to, its token standard, the name, description, image and attributes its metadata declares, and — for an ERC-721 — the wallet holding it. Returns 404 when the collection has no such token. On SOL the NFT is named by its own address and must be a verified member of the collection asked; SOL covers classic token-metadata NFTs, not Core assets or compressed NFTs.
Chains
- Solana SOL
- BNB Chain BNB
- Ethereum ETH
- Base BASE
- Robinhood Chain RHC
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/nft-analysis/nft-item/SOL/<address>?tokenId=<tokenId>"
| Parameter | Description |
|---|---|
tokenIdquery · string · required | The token id, in decimal, e.g. "1". Leading zeros are ignored; at most 2^256 − 1. On SOL, the NFT's own address (its mint). |
chainpath · string · required | ETH, BNB, BASE, RHC or SOL. STABLE and ARC return 400: no wired source answers single-NFT questions there. CELO, ARB, OP and SCROLL return 400 here. |
addresspath · string · required | The NFT collection's contract address; on SOL, the collection's own address (its collection NFT mint). |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
contract | string | The collection contract, lowercase; on SOL the collection address as sent. |
tokenId | string | The token id, in decimal; on SOL the NFT's own address as sent. |
standard | string | null | "ERC721" or "ERC1155". null when undetermined, and on SOL, where neither applies. |
collectionName | string | null | The collection's on-chain name. |
collectionSymbol | string | null | The collection's on-chain symbol; on SOL, the symbol the NFT's own metadata declares. |
name | string | null | The NFT's name, from its metadata. |
description | string | null | The NFT's description, from its metadata. |
image | string | null | The NFT's image as its metadata declares it — often an ipfs:// URI. |
animationUrl | string | null | The NFT's animation or media URL, from its metadata. |
externalUrl | string | null | The external link its metadata declares. |
attributes | object[] | null | The traits its metadata declares, in order. null when the metadata has no trait list (or none could be read); [] when it declares an empty one. On SOL an empty list is null: there it cannot be told from no list. |
attributes[].traitType | string | null | The trait's name. |
attributes[].value | string | null | The trait's value, as a string — numbers and booleans included. |
owner | string | null | The wallet holding it, lowercase — ERC-721 only. null for an ERC-1155, whose units can be spread over many wallets, on SOL, and when the holder is unknown. |
possibleSpam | boolean | null | Whether the collection is flagged as likely spam. null when not assessed. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key