The SimpleHash API returns NFT data in a standard format. The following are the fields included in the response (or as a list of NFT objects).
| Field | Description | Type(s) |
|---|---|---|
| nft_id | Unique identifier for an NFT (chain.contract_address.token_id for EVM chains & Flow, chain.mint_address for Solana, chain.inscription_id for Bitcoin) | string |
| chain | Name of the blockchain (e.g., ethereum) | string |
| contract_address | Address of the NFT's contract (hex format for EVM compatible chains). For Solana, this is a Base58-encoded string uniquely representing the NFT itself. For Bitcoin, this is the inscription ID. | string |
| token_id | Token ID (usually numeric) of the NFT on its contract. Will be null for Solana and Bitcoin NFTs, which are identified by contract_address | string / null |
| name | Name of the NFT derived from its metadata | string / null |
| description | Description of the NFT derived from its metadata | string / null |
| previews | Set of URLs to resized preview images of the media, including an opengraph image, and blurhash, where available. Previews are sized to fit the maximum dimension in pixels as follows: (small: 250px, medium: 512px, large: 1000px). These may be derived from images, videos, or 3D models. | {image_small_url:string / null,image_medium_url:string / null,image_large_url:string / null,image_opengraph_url:string / null,blurhash: string / null,predominant_color: string / null,} |
| image_url | URL to cached image file on the SimpleHash CDN if available | string / null |
| image_properties | Image properties if available | {width:int / null,height: int / null,size : int / null,mime_type: str / null,} / null |
| video_url | URL to cached video file on the SimpleHash CDN if available | string / null |
| video_properties | Video properties if available | {width: int / null,height: int / null,duration: float / null,video_coding: str / null,audio_coding: str / null,size: int / null,mime_type: str / null,} / null |
| audio_url | URL to cached audio file on the SimpleHash CDN if available | string / null |
| audio_properties | Audio properties if available | {duration: float / null,audio_coding: str / null,size: int / null,mime_type: str / null,} / null |
| model_url | URL to cached 3D model file on the SimpleHash CDN if available | string / null |
| model_properties | Model properties if available | {size: int / null,mime_type: str / null,} / null |
| other_url | URL to cached file on the SimpleHash CDN if available for other media types such as PDFs | string / null |
| other_properties | File properties if available | {size: int / null,mime_type: str / null,} / null |
| background_color | Background color of the NFT derived from its metadata | string / null |
| external_url | External URL derived from the NFT's metadata, often with more information (such as about the project), where available | string / null |
| created_date | NFT minting datetime if known in timestamp format (e.g., 2021-07-03T23:45:00) | string / null |
| status | NFT status, one of lazy-minted, minted, or burned. Items that are lazy-minted will switch to minted status upon the first on-chain transfer or sale. | string |
| token_count | Known quantity of this NFT | int / null |
| owner_count | Known number of owners of this NFT | int / null |
| owners | Array of 0-50 top owners of this NFT (sorted by quantity desc). Dates are supplied in the yyyy-MM-dd'T'HH:mm:ss format | [{owner_address:string,quantity: int,quantity_string: string,first_acquired_date: string / null,last_acquired_date: string}] |
| last_sale | Detail on the most recent sale involving this NFT | last_sale / null |
| first_created | First creation NFT details | {minted_to: string / null,quantity: int / null,quantity_string: string / null,timestamp: string / null,block_number: int / null,transaction: string / null,transaction_initiator: string / null} / null |
| contract | Contract type info for this NFT (type is usually the standard for the contract, such as ERC721) | {type:string,name:string / null,symbol:string / nulldeployed_by: string / nulldeployed_via_contract: string / null,owned_by: string / null,has_multiple_collections: bool} |
| collection | The associated collection information for this NFT | Collection model |
| rarity | The associated rarity information for this NFT | Rarity model |
| royalty | Array of 0 or more royalty details, by source. Different marketplaces allow for different royalty amounts, so we show a list of the available information. When there are multiple sources, we list them from highest to lowest total_creator_fee_basis_points.Current sources are: opensea, metaplex, erc2981The list of recipients can have 0 or more wallets, as applicable. Amounts are shown in both basis_points (adding up to total_creator_fee_basis_points) and percentage, which is the share of this wallet's fees compared to other recipients.Note that for the recipients list, OpenSea natively uses basis_points while Metaplex uses percentage, so if you need very precise amounts (i.e. no possibility of rounding), use basis_points for OpenSea & ERC2981 and percentage for Metaplex. | [{source: string,total_creator_fee_basis_points: int,recipients: [{address: string,percentage: float,basis_points: int}] }] |
| extra_metadata | JSON field containing the additional custom metadata fields for the NFT added by the creator. Includes the image_original_url and animation_original_url links to the original media source (where available), and passes through other fields not standardized above (such as attributes or traits) | {attributes: [{trait_type:string,value:string,display_type:string / null}], ...,image_original_url:string / null,animation_original_url:string / null,metadata_original_url:string / null} |
