List of all NFT API endpoints
NFT API Chain Support Matrix
Method | Ethereum | Polygon | Arbitrum | Optimism | Base | Starknet | Astar | Solana |
---|---|---|---|---|---|---|---|---|
getNFTsForOwner | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getContractsForOwner | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getOwnersForNFT | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
isHolderOfContract | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getOwnersForContract | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getNFTMetadata | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getNFTMetadataBatch | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getContractMetadata | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
getContractMetadataBatch | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported |
searchContractMetadataBETA | ![]() | Unsupported | Unsupported | Unsupported | ![]() | Unsupported | Unsupported | Unsupported |
getNFTsForContract | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported | Unsupported |
getCollectionMetadata | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
getCollectionsForOwner | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
getSpamContracts | ![]() | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
isSpamContract | ![]() | ![]() | Unsupported | Unsupported | Unsupported | ![]() | Unsupported | Unsupported |
isAirdropNft | ![]() | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
getFloorPrice | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
getNFTSales | ![]() | ![]() | Unsupported | ![]() | Unsupported | Unsupported | Unsupported | Unsupported |
computeRarity | ![]() | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
summarizeNFTAttributes | ![]() | ![]() | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported | Unsupported |
reportSpam | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported | Unsupported |
refreshNftMetadata | ![]() | ![]() | ![]() | ![]() | ![]() | Unsupported | Unsupported | Unsupported |
NFT API Endpoints By Usecase
Choosing a testnet
For every mention of Goerli in the supported chains below, please note that we recommend using Sepolia instead, as the Ethereum Foundation has announced that Goerli will soon be deprecated.
Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/ also.
Use Case | Endpoint | What to use it for |
---|---|---|
Ownership & Token Gating | getNFTsForOwner | Retrieve the NFTs owned by a wallet address |
getContractsForOwner | Retrieve the list of NFT contracts from which a wallet address owns one or more tokens. | |
getOwnersForNFT | Retrieve the owners of a given token | |
getOwnersForCollection | Retrieve all the owners for a given NFT contract or collection, including snapshotting owners at any block number. | |
isHolderOfCollection | Check whether a given wallet owns any NFT in a collection | |
Metadata | getNFTMetadata | Retrieve the metadata associated with a given NFT i.e. a specific tokenId |
getNFTMetadataBatch | Retrieve the metadata associated with several NFTs across collections in a single request | |
getContractMetadata | Retrieve the metadata associated with a given contract or collection | |
getContractMetadataBatch | Retrieve contract metadata for several different contracts in a single request | |
searchContractMetadataBETA | Search the metadata across contracts for specific keywords | |
refreshNftMetadata | Submit a request that Alchemy refresh the cached NFT metadata for a particular token. | |
reingestContract BETA | Triggers metadata refresh for an NFT collection/refreshes stale metadata after a reveal | |
getNFTsForContract | Retrieve all the NFTs for a given contract or collection | |
Spam Detection | getSpamContracts BETA | Retrieve a list of contracts marked as spam |
isSpamContract BETA | Returns whether a specific contract is marked as spam or not | |
reportSpamBETA | Report a contract if you think its spam | |
Marketplace Data | getFloorPrice BETA | Retrieve the floor price of a NFT collection by marketplace |
getNFTSales BETA | Retrieve NFT sales data across marketplaces | |
Rarity | computeRarity BETA | Compute the rarity of each attribute of an NFT. |
summarizeNFTAttributes BETA | Generate a summary of attribute prevalence for an NFT collection. | |
Notifications | NFT Activity Webhook | Receiving real-time updates for NFT Transfers and NFT mints |
NFT Metadata Updates Webhook | Receiving real-time updates for NFT metadata changes |