Find Real-Time NFT Data On Demand
Stop sorting through smart contracts. Our NFT API puts the NFTs you're looking for and their metadata at your fingertips.
Powerful developer tools
Making NFTs Searchable and Universally Accessible
Retrieving NFT metadata from the blockchain is incredibly time-consuming. Developers need to identify each NFT smart contract, review its metadata schema, and normalize it within a local database for fast retrieval. Our NFT API does the heavy lifting for you across Solana NFTs, ERC-721, ERC-1155, and outlier contracts, making the data you need searchable and accessible.
const ethers = require("ethers"); (async () => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const provider = new ethers.providers.JsonRpcProvider(url); const heads = await provider.send( "qn_verifyNFTsOwner", [ "0x31D583a494af597B53eB49B62FCaAb4BAF7f2e69", [ "0x2106c00ac7da0a3430ae667879139e832307aeaa:9923", ] ] ); console.log(heads); })();
Supported Chains
Support for
major chains
The NFT API is an add-on that can be enabled for your endpoints on the following blockchains:
qn_verifyNFTsOwner
Verify an NFT owner
With NFTs constantly changing hands, ownership is an evolving landscape. It is critical that applications verify ownership regularly to prevent misrepresenting holders or granting gated access to the wrong user.
- Ethereum

wallet
0x8aE6...F46b
token
verified
const ethers = require("ethers"); (async () => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const provider = new ethers.providers.JsonRpcProvider(url); const heads = await provider.send( "qn_verifyNFTsOwner", [ "0x8aE6422631292c31aeeB2efe154d6326f703F46b", [ "0x2106c00ac7da0a3430ae667879139e832307aeaa:2574", ] ] ); console.log(heads); })();
const ethers = require("ethers"); (async () => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const provider = new ethers.providers.JsonRpcProvider(url); const heads = await provider.send( "qn_verifyNFTsOwner", [ "0x8aE6422631292c31aeeB2efe154d6326f703F46b", [ "0x2106c00ac7da0a3430ae667879139e832307aeaa:2574", ] ] ); console.log(heads); })();
qn_fetchNFTs
Fetch and filter NFTs
As the number of NFT projects grows, it gets increasingly difficult to query consistent data across collections and chains. Our NFT API makes it easy to search and retrieve details about the collection an NFT belongs to, past transaction history, and many other valuable details.
- Ethereum
- Solana

const ethers = require("ethers"); (async () => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const provider = new ethers.providers.JsonRpcProvider(url); const heads = await provider.send("qn_fetchNFTs", [ "0x8aE6422631292c31aeeB2efe154d6326f703F46b", [ "0x2106c00ac7da0a3430ae667879139e832307aeaa", ], ]); console.log(heads); })();
const ethers = require("ethers"); (async () => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const provider = new ethers.providers.JsonRpcProvider(url); const heads = await provider.send("qn_fetchNFTs", [ "0x8aE6422631292c31aeeB2efe154d6326f703F46b", [ "0x2106c00ac7da0a3430ae667879139e832307aeaa", ], ]); console.log(heads); })();
qn_fetchNFTsByCreator
Find NFTs by creator
Many creators have launched NFTs across multiple collections making it complex to retrieve all their work. Our NFT API allows developers to easily retrieve NFTs by a given creator's address.
- Solana

const axios = require("axios"); (() => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const config = { headers: { "Content-Type": "application/json", }, }; const data = { jsonrpc: "2.0", id: 1, method: "qn_fetchNFTsByCreator", params: [{ creator: "3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9", page: 1, perPage: 3 }] }; axios .post(url, data, config) .then(function (response) { // handle success console.log(response.data); }) .catch((err) => { // handle error console.log(err); }); })();
const axios = require("axios"); (() => { const url = "https://{your-node-name}.quiknode.pro/{your-token}/"; const config = { headers: { "Content-Type": "application/json", }, }; const data = { jsonrpc: "2.0", id: 1, method: "qn_fetchNFTsByCreator", params: [{ creator: "3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9", page: 1, perPage: 3 }] }; axios .post(url, data, config) .then(function (response) { // handle success console.log(response.data); }) .catch((err) => { // handle error console.log(err); }); })();