NFT model

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).

nft_idUnique identifier for an NFT (chain.contract_address.token_id for EVM chains & Flow, chain.mint_address for Solana)string
chainName of the blockchain (e.g., ethereum)string
contract_addressAddress of the NFT's contract (hex format for EVM compatible chains). For Solana, this is a Base58-encoded string uniquely representing the NFT itself.string
token_idToken ID (usually numeric) of the NFT on its contract. Will be null for Solana NFTs, which are identified by their mint address (contract_address)string / null
nameName of the NFT derived from its metadatastring / null
descriptionDescription of the NFT derived from its metadatastring / null
previewsSet 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_urlURL to cached image file on the SimpleHash CDN if availablestring / null
image_propertiesImage properties if available{
width:int / null,
height: int / null,
size : int / null,
mime_type: str / null,
} / null
video_urlURL to cached video file on the SimpleHash CDN if availablestring / null
video_propertiesVideo 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_urlURL to cached audio file on the SimpleHash CDN if availablestring / null
audio_propertiesAudio properties if available{
duration: float / null,
audio_coding: str / null,
size: int / null,
mime_type: str / null,
} / null
model_urlURL to cached 3D model file on the SimpleHash CDN if availablestring / null
model_propertiesModel properties if available{
size: int / null,
mime_type: str / null,
} / null
background_colorBackground color of the NFT derived from its metadatastring / null
external_urlExternal URL derived from the NFT's metadata, often with more information (such as about the project), where availablestring / null
created_dateNFT minting datetime if known in timestamp format (e.g., 2021-07-03T23:45:00)string / null
statusNFT status, one of minted, or burnedstring
token_countKnown quantity of this NFTint / null
owner_countKnown number of owners of this NFTint / null
ownersArray 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[{
quantity: int,
first_acquired_date: string,
last_acquired_date: string
last_saleDetail on the most recent sale involving this NFTlast_sale / null
first_createdFirst creation NFT details{
minted_to: string / null
quantity: int / null
timestamp: string / null
block_number: int / null
transaction: string / null
transaction_initiator: string / null
} / null
contractContract type info for this NFT (type is usually the standard for the contract, such as ERC721){
name:string / null,
symbol:string / null
deployed_by: string / null
deployed_via_contract: string / null
collectionThe associated collection information for this NFTCollection model
rarityThe associated rarity information for this NFTRarity model
royaltyArray 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

The 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 and percentage for Metaplex.
source: string,
total_creator_fee_basis_points: int,
recipients: [{
address: string,
percentage: float,
basis_points: int
extra_metadataJSON 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: [{
display_type:string / null
image_original_url:string / null,
animation_original_url:string / null,
metadata_original_url:string / null