NFTs API
The NFTs in a collection
Every NFT of one collection, 50 per page: token id, name, image, traits and (ERC-721) holder, with a cursor for the next page.
/api/external/nft-analysis/nft-collection-items/{chain}/{address}What it returns
The NFTs of one collection, 50 per page: each one's token id, name, image, description, traits and — for an ERC-721 — the wallet holding it. Keep passing nextCursor back as cursor until it is null. The order is stable from page to page but is not numeric by token id, and differs by chain. On SOL the walk ends after 200 pages (10000 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-collection-items/SOL/<address>"
| Parameter | Description |
|---|---|
cursorquery · string · optional | An opaque cursor from a previous response's nextCursor, for the next page. It only pages the chain and collection it was issued for; an empty one, or one over 2048 characters, is a 400 (enforced after the API-key gate). |
chainpath · string · required | ETH, BNB, BASE, RHC or SOL. STABLE and ARC return 400: no wired source lists a collection's NFTs 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. |
items | object[] | This page's NFTs. An empty first page means no NFT of this collection is known — a contract that is not an NFT answers the same. An address with no contract at all 404s. |
items[].tokenId | string | The token id, in decimal. On SOL, the NFT's own address: its mint, or a compressed NFT's asset id. |
items[].standard | string | null | "ERC721" or "ERC1155". null when undetermined, and on SOL, where neither applies. |
items[].collectionName | string | null | The collection's on-chain name. |
items[].collectionSymbol | string | null | The collection's on-chain symbol. |
items[].name | string | null | The NFT's name, from its metadata. null when its metadata is unknown. |
items[].description | string | null | The NFT's description, from its metadata. |
items[].image | string | null | The NFT's image as its metadata declares it — often an ipfs:// URI. |
items[].animationUrl | string | null | The NFT's animation or media URL, from its metadata. |
items[].externalUrl | string | null | The external link its metadata declares. |
items[].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. |
items[].attributes[].traitType | string | null | The trait's name. |
items[].attributes[].value | string | null | The trait's value, as a string — numbers and booleans included. |
items[].owner | string | null | The wallet holding it, lowercase, as the chain records it — ERC-721 only. null for an ERC-1155, whose units can be spread over many wallets, and when the holder is unknown. On SOL, the holder as sent, for an NFT one wallet holds. |
items[].possibleSpam | boolean | null | Whether the collection is flagged as likely spam. null when not assessed. |
nextCursor | string | null | Pass back as cursor for the next page. null on the last page. |
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