NFT API
API for fetching NFT data, including ownership, metadata attributes, and more.
Want to get started with code but not sure how to? Take a look at the Quickstart Guide.

Introduction

Welcome! If you're here, that means you're looking for a great API to work with to build your next NFT project. Well, you're in the right place! Alchemy powers all major NFT platforms as well a majority of DeFi applications, so you can rest assured -- you're in good company.
NFTs Mushroom Into Billion-Dollar Market With Help From Alchemy
Bloomberg.com
Before you go any further, please visit the Getting Started guide to set up your Alchemy account. You will need an API key later!

What is the NFT API?

Alchemy's NFT API allows you to quickly get all the information you need to know about NFTs from the blockchain (i.e. Ethereum, Polygon, Flow). Rather than searching, indexing, and storing data yourself - you can now make one request to fetch specific NFT information for both ERC-721 and ERC-1155 tokens, like:
  • All NFTs owned by an address
  • Metadata and attributes for a specific NFT token

What can I make?

Using the Alchemy NFT API allows you to both fetch and display NFTs for your users, making it easy to build all kinds of NFT projects. To take some inspiration from existing products, here are some examples you can explore:

Build an NFT Marketplace

OpenSea

Build On-chain NFT Games

CryptoRaiders

Verify Ownership of Digital Assets

Twitter NFT Profile Pictures

Social NFT displays

Gallery.so

... and lots more!

Tell us on Twitter what you're trying to build!

What do requests look like?

HERE ARE SOME SUPER EASY TO USE COPY AND PASTE CODE SNIPPETS
πŸ˜‡
​
You can check out the rest of our docs for more in-depth documentation about our endpoints, but for a quick walkthrough with some sample code ready to run, start with this GitHub repository!
GitHub - alchemyplatform/nft-api-javascript-scripts: A collection of Javascript scripts running with Alchemy Web3.js, Fetch, or Axios
GitHub
Ready to get started building?

What Chains and Networks are Supported?

Currently Supported Chains

Ethereum

-> Mainnet, Rinkeby, Ropsten, Kovan, Goerli

Polygon (Matic)

-> Mainnet, Mumbai

Flow - view docs here​

-> Mainnet

Chains Being Considered

What NFTs are supported?

All NFTs made with the ERC721 and ERC1155 standards are supported by the NFT API. At the moment, we supports a select number of ERC20 NFTs that pre-date the existance of standaridized NFT contracts.
Alchemy is actively working on adding support for as many blockchains / NFT standards as we can. To influence our roadmap and let your voice be heard, please upvote or add requests here:
Feature Requests - Alchemy
Or join our discord! https://www.alchemy.com/discord​

Quickstart Guides

Check out the guide below to get a quick setup using:

API Endpoints Overview

getNFTs

Get all NFTs owned by an address

The getNFTs methods takes in a user address as input and will return all of the ERC721 and ERC1155 tokens owned by that address.
View the full documentation for getNFTs here:

getNFTMetadata

Get metadata for a specific NFT token

The getNFTMetadata method takes in an NFT contract address and token ID as input and will return the metadata, including traits, and image URIs for displaying that NFT.
View the full documentation for getNFTMetadata here:

Understanding differences between getNFTs & getNFTMetadata

getNFTs is most commonly used when querying all NFTs owned by an address. By default, it will return both NFTs and any associated metadata per asset in the response. Common use cases include dashboards/wallets for viewing NFT assets held by a particular address. getNFTMetadata is more specific and is used for querying the metadata of a single NFT. Common use cases include NFT rarity tools and NFT searching applications.