Moralis Get NFTs API
The Get NFTs API from Moralis — 2 operation(s) for get nfts.
The Get NFTs API from Moralis — 2 operation(s) for get nfts.
openapi: 3.0.0
info:
title: EVM Balance Get NFTs API
version: '2.2'
servers:
- url: https://deep-index.moralis.io/api/v2.2
security:
- ApiKeyAuth: []
tags:
- name: Get NFTs
paths:
/{address}/nft:
get:
security:
- ApiKeyAuth: []
summary: Get NFTs by wallet address
description: Fetch all NFTs held by a specified wallet address. Use `token_addresses` to filter by one or many specific contract(s). Each NFT returned includes on-chain metadata as well as off-chain metadata, floor prices, rarity and more where available.
tags:
- Get NFTs
x-mcp-prompt: Enter the wallet address to retrieve its NFTs. Optionally, include `token_addresses` query parameter to filter by specific collections. Use this when users ask for a list of NFTs owned by a wallet or want to check NFT holdings for a given wallet address.
x-tag-sdk: nft
operationId: getWalletNFTs
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: The address of the wallet
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: format
description: The format of the token ID
required: false
schema:
type: string
example: decimal
default: decimal
enum:
- decimal
- hex
- in: query
name: limit
description: The desired page size of the result.
required: false
schema:
type: integer
minimum: 0
- in: query
name: exclude_spam
description: Should spam NFTs be excluded from the result?
required: false
schema:
type: boolean
default: false
- in: query
name: token_addresses
description: The addresses to get balances for (optional)
required: false
schema:
type: array
maxItems: 10
items:
type: string
- in: query
name: cursor
description: The cursor returned in the previous response (used for getting the next page).
schema:
type: string
- in: query
name: normalizeMetadata
description: Should normalized metadata be returned?
required: false
schema:
type: boolean
default: true
- in: query
name: media_items
description: Should preview media data be returned?
required: false
schema:
type: boolean
default: false
- in: query
name: include_prices
description: Should NFT last sale prices be included in the result?
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Returns a collection of NFT owners
content:
application/json:
schema:
$ref: '#/components/schemas/nftOwnerCollection'
/nft/{address}:
get:
security:
- ApiKeyAuth: []
summary: Get NFTs by contract address
description: Fetch all NFTs for a given collection. Each NFT returned includes on-chain metadata as well as off-chain metadata, floor prices, rarity and more where available.
tags:
- Get NFTs
x-mcp-prompt: Provide the contract address to fetch its NFTs. Include pagination settings like `limit` or `cursor` if desired. Use this when users ask for all NFTs in a specific collection or need metadata for a contract’s tokens.
x-tag-sdk: nft
operationId: getContractNFTs
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: The address of the NFT contract
required: true
schema:
type: string
example: '0x306b1ea3ecdf94aB739F1910bbda052Ed4A9f949'
- in: query
name: format
description: The format of the token ID
required: false
schema:
type: string
example: decimal
default: decimal
enum:
- decimal
- hex
- in: query
name: limit
description: The desired page size of the result.
required: false
schema:
type: integer
minimum: 0
- in: query
name: totalRanges
description: The number of subranges to split the results into
required: false
schema:
type: integer
minimum: 1
- in: query
name: range
description: The desired subrange to query
required: false
schema:
type: integer
minimum: 1
- in: query
name: cursor
description: The cursor returned in the previous response (used for getting the next page).
schema:
type: string
- in: query
name: normalizeMetadata
description: Should normalized metadata be returned?
required: false
schema:
type: boolean
default: true
- in: query
name: media_items
description: Should preview media data be returned?
required: false
schema:
type: boolean
default: false
- in: query
name: include_prices
description: Should NFT last sale prices be included in the result?
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Returns a collection of NFTs
content:
application/json:
schema:
$ref: '#/components/schemas/nftCollection'
components:
schemas:
nft:
required:
- token_address
- token_id
- contract_type
- name
- symbol
- possible_spam
properties:
token_address:
type: string
description: The address of the NFT contract
example: '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'
token_id:
type: string
description: The token ID of the NFT
example: '15'
owner_of:
type: string
description: The wallet address of the owner of the NFT
example: '0x9c83ff0f1c8924da96cb2fcb7e093f78eb2e316b'
token_hash:
type: string
description: The token hash
example: 502cee781b0fb40ea02508b21d319ced
block_number:
type: string
description: The block number when the amount or owner changed
example: '88256'
block_number_minted:
type: string
description: The block number when the NFT was minted
example: '88256'
contract_type:
type: string
description: The type of NFT contract standard
example: ERC721
token_uri:
type: string
description: The URI to the metadata of the token
metadata:
type: string
description: The metadata of the token
normalized_metadata:
$ref: '#/components/schemas/normalizedMetadata'
description: A normalized metadata version of the NFT's metadata.
media:
$ref: '#/components/schemas/media'
description: A set of links to 'thumbnail / preview' media files
minter_address:
type: string
description: The address that minted the NFT
example: '0x9c83ff0f1c8924da96cb2fcb7e093f78eb2e316b'
last_token_uri_sync:
type: string
description: When the token_uri was last updated
last_metadata_sync:
type: string
description: When the metadata was last updated
amount:
type: string
description: The quantity of this item that the user owns (used by ERC1155)
example: '1'
name:
type: string
description: The name of the NFT contract
example: CryptoKitties
symbol:
type: string
description: The symbol of the NFT contract
example: RARI
possible_spam:
type: boolean
description: Indicates if a contract is possibly a spam contract
example: 'false'
verified_collection:
type: boolean
description: Indicates if a contract is verified
example: 'false'
rarity_rank:
type: number
description: The rarity rank
example: 21669
rarity_percentage:
type: number
description: The rarity percentage
example: 98
rarity_label:
type: string
description: The rarity label
example: Top 98%
last_sale:
type: object
description: Details about the most recent sale involving this token.
nullable: true
required:
- transaction_hash
- block_timestamp
- price
- price_formatted
- buyer_address
- seller_address
- payment_token
properties:
transaction_hash:
type: string
description: The transaction hash of the last sale
example: '0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c'
block_timestamp:
type: string
description: The block timestamp of the last sale
example: '2023-04-04T15:59:11.000Z'
buyer_address:
type: string
description: The buyer address of the last sale
example: '0xcb1c1fde09f811b294172696404e88e658659905'
seller_address:
type: string
description: The seller address of the last sale
example: '0x497a7dee2f13db161eb2fec060fa783cb041419f'
price:
type: string
description: The price of the last sale
example: '7300000000000000'
price_formatted:
type: string
description: The formatted price of the last sale
example: '0.0073'
usd_price_at_sale:
type: string
description: The USD price of the last sale
example: '13.61'
current_usd_value:
type: string
description: The USD price of the last sale at the current value
example: '15.53'
token_address:
type: string
description: The token address that is sold
example: '0xe8778996e096b39705c6a0a937eb587a1ebbda17'
token_id:
type: string
description: The token ID that is sold
example: '170'
payment_token:
type: object
description: The ERC20 token that is being traded with
required:
- token_name
- token_symbol
- token_logo
- token_decimals
- token_address
properties:
token_name:
type: string
description: The token name
example: Ether
token_symbol:
type: string
description: The token symbol
example: ETH
token_logo:
type: string
description: The token logo
example: https://cdn.moralis.io/eth/0x.png
token_decimals:
type: string
description: The token decimals
example: '18'
token_address:
type: string
description: The token address
example: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
list_price:
type: object
properties:
listed:
type: boolean
description: Indicates if the NFT is listed for sale
example: true
price:
type: string
description: The price of the NFT
example: '27008'
price_currency:
type: string
description: The currency of the price
example: eth
price_usd:
type: string
description: The price of the NFT in USD
example: '13.61'
marketplace:
type: string
description: The marketplace where the NFT is listed
example: opensea
floor_price:
type: string
description: The floor price of collection the NFT belongs to
example: '12345'
floor_price_usd:
type: string
description: The floor price of the contract in USD
example: '12345.4899'
floor_price_currency:
type: string
description: The currency of the floor price
example: eth
normalizedMetadata:
properties:
name:
type: string
description: The name or title of the NFT
example: Moralis Mug
description:
type: string
description: A detailed description of the NFT
example: Moralis Coffee nug 3D Asset that can be used in 3D worldspaces. This NFT is presented as a flat PNG, a Unity3D Prefab and a standard fbx.
image:
type: string
description: The URL of the NFT's image
example: https://arw2wxg84h6b.moralishost.com:2053/server/files/tNJatzsHirx4V2VAep6sc923OYGxvkpBeJttR7Ks/de504bbadadcbe30c86278342fcf2560_moralismug.png
external_link:
type: string
description: A link to additional information
example: https://giphy.com/gifs/loop-recursion-ting-aaODAv1iuQdgI
external_url:
type: string
description: A link to additional information
example: https://giphy.com/gifs/loop-recursion-ting-aaODAv1iuQdgI
animation_url:
type: string
description: An animated version of the NFT's image
example: https://giphy.com/gifs/food-design-donuts-o9ngTPVYW4qo8
attributes:
type: array
items:
$ref: '#/components/schemas/normalizedMetadataAttribute'
normalizedMetadataAttribute:
properties:
trait_type:
type: string
description: The trait title or descriptor
example: Eye Color
value:
type: object
description: The value of the attribute
example: hazel
display_type:
type: string
description: The type the attribute value should be displayed as
example: string
max_value:
type: number
description: For numeric values, the upper range
example: 100
trait_count:
type: number
description: The number of possible values for this trait
example: 7
order:
type: number
description: Order the trait should appear in the attribute list.
example: 1
nftCollection:
required:
- result
properties:
page:
type: integer
description: The current page of the result
example: '2'
page_size:
type: integer
description: The number of results per page
example: '100'
cursor:
type: string
description: The cursor to get to the next page
result:
type: array
items:
$ref: '#/components/schemas/nft'
nftOwnerCollection:
required:
- result
properties:
status:
type: string
description: The syncing status of the address [SYNCING/SYNCED]
example: SYNCING
page:
type: integer
description: The current page of the result
example: '2'
page_size:
type: integer
description: The number of results per page
example: '100'
cursor:
type: string
description: The cursor to get to the next page
result:
type: array
items:
$ref: '#/components/schemas/nftOwner'
mediaCollection:
properties:
low:
description: Preview media file, lowest quality (for images 100px x 100px)
$ref: '#/components/schemas/mediaItem'
medium:
description: Preview media file, medium quality (for images 250px x 250px)
$ref: '#/components/schemas/mediaItem'
high:
description: Preview media file, highest quality (for images 500px x 500px)
$ref: '#/components/schemas/mediaItem'
required:
- original
- low
- medium
- high
chainList:
type: string
example: eth
default: eth
enum:
- eth
- '0x1'
- sepolia
- '0xaa36a7'
- polygon
- '0x89'
- bsc
- '0x38'
- bsc testnet
- '0x61'
- avalanche
- '0xa86a'
- fantom
- '0xfa'
- cronos
- '0x19'
- arbitrum
- '0xa4b1'
- chiliz
- '0x15b38'
- chiliz testnet
- '0x15b32'
- gnosis
- '0x64'
- gnosis testnet
- '0x27d8'
- base
- '0x2105'
- base sepolia
- '0x14a34'
- optimism
- '0xa'
- polygon amoy
- '0x13882'
- linea
- '0xe708'
- moonbeam
- '0x504'
- moonriver
- '0x505'
- moonbase
- '0x507'
- linea sepolia
- '0xe705'
- flow
- '0x2eb'
- flow-testnet
- '0x221'
- ronin
- '0x7e4'
- ronin-testnet
- '0x31769'
- lisk
- '0x46f'
- lisk-sepolia
- '0x106a'
- pulse
- '0x171'
- sei-testnet
- '0x530'
- sei
- '0x531'
- monad
- '0x8f'
nftOwner:
required:
- token_address
- token_id
- contract_type
- name
- block_number
- block_number_minted
- owner_of
- symbol
- token_hash
- last_token_uri_sync
- last_metadata_sync
- possible_spam
properties:
token_address:
type: string
description: The address of the NFT contract
example: '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'
token_id:
type: string
description: The token ID of the NFT
example: '15'
contract_type:
type: string
description: The type of NFT contract standard
example: ERC721
owner_of:
type: string
description: The wallet address of the owner of the NFT
example: '0x057Ec652A4F150f7FF94f089A38008f49a0DF88e'
block_number:
type: string
description: The block number when the amount or owner changed
example: '88256'
block_number_minted:
type: string
description: The block number when the NFT was minted
example: '88256'
token_uri:
type: string
description: The URI to the metadata of the token
metadata:
type: string
description: The metadata of the token
normalized_metadata:
$ref: '#/components/schemas/normalizedMetadata'
description: A normalized metadata version of the NFT's metadata.
media:
$ref: '#/components/schemas/media'
description: A set of links to 'thumbnail / preview' media files
amount:
type: string
description: The number of this item the user owns (used by ERC1155)
example: '1'
name:
type: string
description: The name of the NFT contract
example: CryptoKitties
symbol:
type: string
description: The symbol of the NFT contract
example: RARI
token_hash:
type: string
description: The token hash
example: 502cee781b0fb40ea02508b21d319ced
rarity_rank:
type: number
description: The rarity rank
example: 21669
rarity_percentage:
type: number
description: The rarity percentage
example: 98
rarity_label:
type: string
description: The rarity label
example: Top 98%
last_token_uri_sync:
type: string
description: When the token_uri was last updated
example: '2021-02-24T00:47:26.647Z'
last_metadata_sync:
type: string
description: When the metadata was last updated
example: '2021-02-24T00:47:26.647Z'
possible_spam:
type: boolean
description: Indicates if a contract is possibly a spam contract
example: 'false'
verified_collection:
type: boolean
description: Indicates if a contract is verified
example: 'false'
floor_price:
type: string
description: The floor price of the NFT
example: '12345'
floor_price_usd:
type: string
description: The floor price of the NFT in USD
example: '12345.4899'
floor_price_currency:
type: string
description: The currency of the floor price
example: eth
last_sale:
type: object
description: Details about the most recent sale involving this token.
nullable: true
required:
- transaction_hash
- block_timestamp
- price
- price_formatted
- buyer_address
- seller_address
- payment_token
properties:
transaction_hash:
type: string
description: The transaction hash of the last sale
example: '0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c'
block_timestamp:
type: string
description: The block timestamp of the last sale
example: '2023-04-04T15:59:11.000Z'
buyer_address:
type: string
description: The buyer address of the last sale
example: '0xcb1c1fde09f811b294172696404e88e658659905'
seller_address:
type: string
description: The seller address of the last sale
example: '0x497a7dee2f13db161eb2fec060fa783cb041419f'
price:
type: string
description: The price of the last sale
example: '7300000000000000'
price_formatted:
type: string
description: The formatted price of the last sale
example: '0.0073'
usd_price_at_sale:
type: string
description: The USD price of the last sale
example: '13.61'
current_usd_value:
type: string
description: The USD price of the last sale at the current value
example: '15.53'
token_address:
type: string
description: The token address that is sold
example: '0xe8778996e096b39705c6a0a937eb587a1ebbda17'
token_id:
type: string
description: The token ID that is sold
example: '170'
payment_token:
type: object
description: The ERC20 token that is being traded with
required:
- token_name
- token_symbol
- token_logo
- token_decimals
- token_address
properties:
token_name:
type: string
description: The token name
example: Ether
token_symbol:
type: string
description: The token symbol
example: ETH
token_logo:
type: string
description: The token logo
example: https://cdn.moralis.io/eth/0x.png
token_decimals:
type: string
description: The token decimals
example: '18'
token_address:
type: string
description: The token address
example: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
media:
properties:
mimetype:
type: string
description: The mimetype of the media file [see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types]
category:
enum:
- image
- audio
- video
status:
enum:
- success
- processing
- unsupported_media
- invalid_url
- host_unavailable
- temporarily_unavailable
description: <table><tr><td>success</td><td>The NFT Preview was created / retrieved successfully</td></tr><tr><td>processing</td><td>The NFT Preview was not found and has been submitted for generation.</td></tr><tr><td>unsupported_media</td><td>The mime-type of the NFT's media file indicates a type not currently supported.</td></tr><tr><td>invalid_url</td><td>The 'image' URL from the NFT's metadata is not a valid URL and cannot be processed.</td></tr><tr><td>host_unavailable</td><td>The 'image' URL from the NFT's metadata returned an HttpCode indicating the host / file is not available.</td></tr><tr><td>temporarily_unavailable</td><td>The attempt to load / parse the NFT media file failed (usually due to rate limiting) and will be tried again at next request.</td></tr></table>
original_media_url:
type: string
description: The url of the original media file.
updatedAt:
type: string
description: The timestamp of the last update to this NFT media record.
parent_hash:
type: string
description: Hash value of the original media file.
media_collection:
description: Preview item associated with the original
$ref: '#/components/schemas/mediaCollection'
mediaItem:
properties:
width:
type: integer
description: The width of the preview image.
height:
type: integer
description: The height of the preview image.
url:
type: string
description: The url of the preview file.
required:
- width
- height
- url
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
x-default: test
x-samples-languages:
- node
- javascript
- csharp
- curl
- python
x-mcp-blacklist:
- getNFTTraitsByCollectionPaginate
- getNFTContractMetadata
- getTokenPrice
- getNativeBalance
- getTokenAnalytics
- resyncNFTRarity
- syncNFTContract
- reSyncMetadata
- runContractFunction
- web3ApiVersion
- endpointWeights
- getWalletTokenBalances
- getTokenMetadataBySymbol
- getWalletTransactions
- getWalletTransactionsVerbose
- getTransaction
- getPairPrice
- reviewContracts
- getTrendingTokens
- getWalletTokenTransfers
- getWalletNFTTransfers
- getPairReserves
- getPairAddress
- getTokenStats
- resolveAddressToDomain
- resolveDomain
- getNFTFloorPriceByToken
- getBlockStats
- getNewTokensByExchange
- getBondingTokensByExchange
- getGraduatedTokensByExchange
- getTokenBondingStatus
- getAggregatedTokenPairStats
- getTokenCategories
- getRisingLiquidityTokens
- getBuyingPressureTokens
- getSolidPerformersTokens
- getExperiencedBuyersTokens
- getRiskyBetsTokens
- getBlueChipTokens
- getNFTOwners
- getNFTTokenIdOwners
- getContractNFTs
- getNFTTradesByToken
- getNFTTransfers