> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get NFTs from Wallet

> Fetch the NFTs in a provided wallet

**API scope required**: `wallets:nfts.read`


This API enables fetching the NFTs for a provided wallet address and chain.

The response will be slightly different between EVM, Solana, and other wallets. See the example responses to the right.

<ResponseExample>
  ```json 200 EVM theme={null}
  [
    {
      "chain": "<string>",
      "contractAddress": "<string>",
      "tokenId": "<string>",
      "metadata": {
        "attributes": [],
        "collection": {},
        "description": "<string>",
        "image": "<string>",
        "animation_url": "<string>",
        "name": "<string>"
      },
      "locator": "<string>",
      "tokenStandard": "<string>"
    }
  ]
  ```

  ```json 200 EVM (with subscription) theme={null}
  [
      {
          "chain": "<string>",
          "contractAddress": "<string>",
          "tokenId": "<string>",
          "metadata": {
              "attributes": [],
              "collection": {},
              "description": "<string>",
              "image": "<string>",
              "animation_url": "<string>",
              "name": "<string>"
          },
          "locator": "<string>",
          "tokenStandard": "<string>",
          "subscription": {
              "expiresAt": "<ISO_string>"
          }
      }
  ]
  ```

  ```json 200 Solana theme={null}
  [
      {
          "chain": "<string>",
          "mintHash": "<string>",
          "metadata": {
              "name": "<string>",
              "description": "<string>",
              "image": "<string>",
              "attributes": []
          },
          "locator": "<string>"
      }
  ]
  ```

  {/* prettier-ignore */}

  {/*

    ```json 200 Cardano
    [
      {
          "chain": "<string>",
          "assetId": "<string>",
          "metadata": {
              "assetId": "<string>",
              "name": "<string>",
              "description": "<string>",
              "image": "<string>",
              "attributes": []
          },
          "locator": "<string>"
      }
    ]
    ```

    prettier-ignore
    \*/}

  ```json 400 theme={null}
  {
      "error": "<string>"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml get /2022-06-09/wallets/{identifier}/nfts
openapi: 3.0.1
info:
  description: N/A
  version: 1.0.0
  title: Wallets
  contact:
    name: Crossmint Wallets APIs
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
  - url: https://www.crossmint.com/api
    description: Production environment (mainnets)
security:
  - apiKey: []
tags:
  - name: metadata
    description: Find out about the data sets
  - name: search
    description: Search a data set
paths:
  /2022-06-09/wallets/{identifier}/nfts:
    get:
      tags:
        - Wallet
      summary: Get NFTs from Wallet
      description: |
        Fetch the NFTs in a provided wallet

        **API scope required**: `wallets:nfts.read`
      operationId: fetch-content-from-wallet
      parameters:
        - name: identifier
          in: path
          description: >-
            The wallet identifier in the format of `<chain>:<address>`,
            `email:<email_address>:<chain>` or `userId:<userId>:<chain>`.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Page index
          required: true
          schema:
            type: string
            default: '1'
        - name: perPage
          in: query
          description: Number of items to display per page
          required: true
          schema:
            type: string
            default: '20'
        - name: contractAddress
          in: query
          description: >-
            Filter NFTs by contract address. Can be a single address or an array
            of addresses.
          required: false
          schema:
            type: array
            items:
              type: string
          explode: false
          example: '0x1234567890123456789012345678901234567890'
        - name: tokenId
          in: query
          description: Filter NFTs by token ID
          required: false
          schema:
            type: string
          example: '123'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/NFTEVM'
                  - $ref: '#/components/schemas/NFTSOL'
        '400':
          description: >-
            Bad request. Either the blockchain prefix is incorrect, the address
            does not exist, or the locator is malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    NFTEVM:
      title: EVM
      description: EVM
      type: array
      items:
        type: object
        properties:
          chain:
            type: string
            description: The blockchain used in the request.
          contractAddress:
            type: string
            description: The token contract address
          tokenId:
            type: string
            description: The numeric tokenId for the specified NFT
          metadata:
            type: object
            properties:
              attributes:
                type: array
                items:
                  type: object
                  properties:
                    trait_type:
                      type: string
                    value:
                      type: string
                    display_type:
                      type: string
                      nullable: true
              collection:
                type: object
              description:
                type: string
              image:
                type: string
                description: URL that represents the image for the NFT
              animation_url:
                type: string
                description: Optional URL representing a video or other multimedia file
                nullable: true
              name:
                type: string
          locator:
            type: string
            description: The address of the NFT on the blockchain
          tokenStandard:
            type: string
            description: >-
              The type of contract this token is from (ERC-721, ERC-1155 or
              ERC-5643)
          subscription:
            type: object
            properties:
              expiresAt:
                type: string
                description: The date and time when the subscription expires
                format: date-time
    NFTSOL:
      title: Solana
      description: Solana
      type: array
      items:
        type: object
        properties:
          chain:
            type: string
            description: The blockchain used in the request, `solana` in this case.
          mintHash:
            type: string
            description: The unique identifier of this NFT on Solana
          metadata:
            type: object
            properties:
              name:
                type: string
              description:
                type: string
              image:
                type: string
                description: A URL that represents the image for the NFT
              attributes:
                type: array
                items:
                  type: object
                  properties:
                    value:
                      anyOf:
                        - type: string
                        - type: number
                        - type: boolean
                        - type: object
                    trait_type:
                      type: string
          locator:
            type: string
            description: The address of the NFT on the blockchain
    Error:
      type: object
      properties:
        error:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Obtained in the Crossmint developer console

````