API ReferenceNFT APIGet NFT Traits and RarityGet NFTs by TraitsVersion: 2.2Get NFTs by TraitsPOSThttps://deep-index.moralis.io/api/v2.2/nft/:address/nfts-by-traitsGet NFTs by traits for a given contract.PATH PARAMSaddressstringrequiredThe address of the NFT contractQUERY PARAMSchainstringThe chain to queryeth0x1sepolia0xaa36a7holesky0x4268polygon0x89polygon amoy0x13882bsc0x38bsc testnet0x61avalanche0xa86afantom0xfapalm0x2a15c308dcronos0x19arbitrum0xa4b1gnosis0x64gnosis testnet0x27d8chiliz0x15b38chiliz testnet0x15b32base0x2105base sepolia0x14a34optimism0xalinea0xe708linea sepolia0xe705moonbeam0x504moonriver0x505moonbase0x507flow0x2ebflow-testnet0x221ronin0x7e4ronin-testnet0x7e5lisk0x46flisk-sepolia0x106aformatstringThe format of the token IDdecimalhexlimitnumberThe desired page size of the result.cursorstringThe cursor returned in the previous response (used for getting the next page).normalizeMetadatabooleanThe option to enable metadata normalization. Learn more about metadata normalization here.falsetruemedia_itemsbooleanShould preview media data be returned? Learn more about media items here.falsetrueBODY PARAMjsonrequiredtraits{"traits":{"body":"astronaut","skin":"purple"}}Responses200 Returns a collection of NFTsobjectAPI KEYTest Live APINode.jsPythoncURLGoPHP// Dependencies to install:// $ npm install node-fetch --save// add "type": "module" to package.jsonimport fetch from 'node-fetch';const options = { method: 'POST', headers: { accept: 'application/json', 'content-type': 'application/json', 'X-API-Key': 'YOUR_API_KEY' }, body: JSON.stringify({ "traits": { "body": "astronaut", "skin": "purple" } })};fetch('https://deep-index.moralis.io/api/v2.2/nft/0x524cab2ec69124574082676e6f654a18df49a048/nfts-by-traits?chain=eth&format=decimal&media_items=false', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));# Dependencies to install:# $ python -m pip install requestsimport requestsurl = "https://deep-index.moralis.io/api/v2.2/nft/0x524cab2ec69124574082676e6f654a18df49a048/nfts-by-traits?chain=eth&format=decimal&media_items=false"payload = { "traits": { "body": "astronaut", "skin": "purple" }}headers = { "Accept": "application/json", "Content-Type": "application/json", "X-API-Key": "YOUR_API_KEY"}response = requests.request("POST", url, json=payload, headers=headers)print(response.text)curl --request POST \ --url 'https://deep-index.moralis.io/api/v2.2/nft/0x524cab2ec69124574082676e6f654a18df49a048/nfts-by-traits?chain=eth&format=decimal&media_items=false' \ --header 'accept: application/json' \ --header 'X-API-Key: YOUR_API_KEY' \ --header 'content-type: application/json' \ --data '{ "traits": { "body": "astronaut", "skin": "purple" }}'package mainimport ( "fmt" "strings" "net/http" "io/ioutil")func main() { url := "https://deep-index.moralis.io/api/v2.2/nft/0x524cab2ec69124574082676e6f654a18df49a048/nfts-by-traits?chain=eth&format=decimal&media_items=false" payload := strings.NewReader("{\"traits\":{\"body\":\"astronaut\",\"skin\":\"purple\"}}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Accept", "application/json") req.Header.Add("Content-Type", "application/json") req.Header.Add("X-API-Key", "YOUR_API_KEY") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}<?php// Dependencies to install:// $ composer require guzzlehttp/guzzlerequire_once('vendor/autoload.php');$client = new \GuzzleHttp\Client();$response = $client->request('POST', 'https://deep-index.moralis.io/api/v2.2/nft/0x524cab2ec69124574082676e6f654a18df49a048/nfts-by-traits?chain=eth&format=decimal&media_items=false', [ 'body' => '{"traits":{"body":"astronaut","skin":"purple"}}', 'headers' => [ 'Accept' => 'application/json', 'X-API-Key' => 'YOUR_API_KEY', 'Content-Type' => 'application/json', ],]);echo $response->getBody();Response Example200 Returns a collection of NFTs{ "page": "2", "page_size": "100", "cursor": "", "result": { "token_address": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB", "token_id": "15", "owner_of": "0x9c83ff0f1c8924da96cb2fcb7e093f78eb2e316b", "token_hash": "502cee781b0fb40ea02508b21d319ced", "block_number": "88256", "block_number_minted": "88256", "contract_type": "ERC721", "token_uri": "", "metadata": "", "normalized_metadata": "", "media": "", "minter_address": "0x9c83ff0f1c8924da96cb2fcb7e093f78eb2e316b", "last_token_uri_sync": "", "last_metadata_sync": "", "amount": "1", "name": "CryptoKitties", "symbol": "RARI", "possible_spam": "false", "verified_collection": "false", "rarity_rank": 21669, "rarity_label": "Top 98%", "rarity_percentage": 98, "last_sale": { "transaction_hash": "string", "block_timestamp": "string", "buyer_address": "string", "seller_address": "string", "price": "string", "price_formatted": "string", "usd_price_at_sale": "string", "current_usd_value": "string", "token_id": "string", "payment_token": { "token_name": "string", "token_symbol": "string", "token_logo": "string", "token_decimals": "string", "token_address": "string" } } }}