> For the complete documentation index, see [llms.txt](https://dev.plyr.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.plyr.network/api-reference/assets/nfts-erc-721/get-nft-info.md).

# Get NFT Info

{% hint style="info" %}
Retrieves information about NFT contracts, with optional filtering by contract address, chain ID, and game ID.
{% endhint %}

**Endpoint:** `/game/nft/info`\
**Method:** GET

{% tabs %}
{% tab title="Request Parameters" %}

```typescript
{
    nft?: string;          // Optional NFT contract address to filter by
    chainId?: string;      // Optional chain ID
    gameId?: string;       // Optional game ID
}
```

{% endtab %}

{% tab title="Success Response" %}

```typescript
{
  nfts: [
    {
      address: string;      // NFT contract address
      name: string;         // NFT contract name
      symbol: string;       // NFT contract symbol
      chainId: string;      // Chain ID where the NFT exists
      gameId?: string;      // Optional associated game ID
      image?: string;       // Optional URL to the collection image
    }
  ]
}
```

{% endtab %}

{% tab title="Error Response" %}

```typescript
{
  error: string;
  details?: any;
}
```

{% endtab %}
{% endtabs %}

## Example Usage

```javascript
// Setup request parameters
const timestamp = Date.now().toString();
const nftAddress = '0x1234567890123456789012345678901234567890'; // Optional
const chainId = '43114'; // Optional, Avalanche C-Chain
const gameId = 'game456'; // Optional

// For GET requests with no body, pass null as the body for HMAC
const hmac = generateHmacSignature(timestamp, null, secretKey);

// Make the API request with optional filters
let url = apiEndpoint + `/game/nft/info?chainId=${chainId}&nft=${nftAddress}&gameId=${gameId}`;

const response = await axios.get(url, {
	headers: {
		apikey: apiKey,
		signature: hmac,
		timestamp: timestamp
	}
});

// Process the response
console.log(`Found ${response.data.nfts.length} NFT contracts`);
response.data.nfts.forEach((nft) => {
	console.log(`NFT Address: ${nft.address}`);
	console.log(`Name: ${nft.name}`);
	console.log(`Symbol: ${nft.symbol}`);
	console.log(`Chain ID: ${nft.chainId}`);
	if (nft.gameId) console.log(`Game ID: ${nft.gameId}`);
	if (nft.image) console.log(`Image URL: ${nft.image}`);
	console.log('---');
});
```
