NFT Object Data Model
Here is NFT data model used by Rarible API. You can check data model in API Reference
NFT is represented by data model named Item
| Field | Type | Description |
|---|---|---|
| id | string | identifier of the NFT, format is ${blockchain}:${token}:${tokenId} |
| blockchain | enum | "ETHEREUM" "POLYGON" "FLOW" etc... |
| collection | string | collection identifier |
| meta | object (Metadata) | Metadata of the NFT |
| contract | string | contract address, format is ${blockchain}:${address}. Optional: won't be present for some blockchains (e.g. Solana) |
| tokenId | string | token identifier. Optional: won't be present for some blockchains (e.g. Solana) |
| lazySupply | string (BigInteger) | supply for this NFT which is not yet minted on-chain |
| supply | string (BigInteger) | total supply for this NFT (on-chain and lazy). Can be more than 1 for multiple NFTs (e.g. ERC-1155) |
| mintedAd | string (date-time) | Date and time when NFT was minted |
| lastUpdatedAt | string (date-time) | Date and time when NFT was updated |
| bestSellOrder | object (Order) | Cheapest listing Order |
| bestBidOrder | object(Order) | Highest (most expensive) Bid for the NFT |
| totalStock | string (BigInteger) | Total number of NFTs on sale |
| lastSale | object (ItemLastSale) | information about last sale of this NFT |
| suspicious | boolean | true if NFT is marked suspicious on any platform |
* Fields marked with bold are required
Metadata
| Field | Type | Description |
|---|---|---|
| name | string | Name of the NFT |
| description | string | Description |
| originalMetaUri | string | Link to original metadata |
| attributes | array of pairs | List of attributes (traits) NFT has with keys and values |
| content | array of content | List of content bundled with this NFT (image, video etc) |
* Fields marked with bold are required
Metadata content
| Field | Type | Description |
|---|---|---|
| @type | enum | IMAGE, VIDEO, AUDIO, MODEL_3D, HTML |
| width | integer | Width of the image or video |
| height | integer | Height of the image or video |
| fileName | string | Name of the original file |
| url | string | Url to access the content |
| representation | enum | "PREVIEW" "BIG" "ORIGINAL" "PORTRAIT" There can be different versions of the content |
| mimeType | string | Mime-type of the content |
| size | integer (int64) | Size of the file |
| available | boolean | TBD |
* Fields marked with bold are required
