curl --request GET \
--url https://api.zerion.io/v1/wallets/{address}/nft-positions/ \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.zerion.io/v1/wallets/{address}/nft-positions/"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.zerion.io/v1/wallets/{address}/nft-positions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zerion.io/v1/wallets/{address}/nft-positions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"links": {
"self": "https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/nft-positions/"
},
"data": [
{
"type": "nft_positions",
"id": "0x42b9df65b219b3dd36ff330a4dd8f327a6ada990:ethereum:22:0x909899c5dbb5002610dd8543b6f638be56e3b17e:57896044618658097711785492504343953928676686534345912800509039648547174119787",
"attributes": {
"changed_at": "2023-02-28T19:24:39Z",
"amount": "1",
"price": 0.043615722,
"value": 123,
"nft_info": {
"contract_address": "0x74ee68a33f6c9f113e22b3b77418b75f85d07d22",
"token_id": "10",
"name": "#10 De·genesis",
"interface": "erc1155",
"flags": {
"is_spam": true
},
"content": {
"preview": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"detail": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"audio": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"video": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
}
}
},
"collection_info": {
"name": "<string>",
"description": "<string>",
"content": {
"icon": {
"url": "https://token-icons.s3.amazonaws.com/0x0391d2021f89dc339f60fff84546ea23e337750f.png"
},
"banner": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
}
}
}
},
"relationships": {
"chain": {
"links": {
"related": "https://api.zerion.io/v1/chains/polygon"
},
"data": {
"type": "chains",
"id": "polygon"
}
},
"nft_collection": {
"data": {
"type": "nft_collections",
"id": 14
}
},
"nft": {
"data": {
"type": "nfts",
"id": "<string>"
}
}
},
"included": [
{
"type": "nfts",
"id": "<string>",
"attributes": {
"contract_address": "0x74ee68a33f6c9f113e22b3b77418b75f85d07d22",
"token_id": "10",
"interface": "erc1155",
"metadata": {
"name": "<string>",
"description": "<string>",
"tags": [
"<string>"
],
"content": {
"preview": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"detail": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"audio": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"video": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
}
},
"attributes": [
{
"key": "Rarity",
"value": "common"
}
]
},
"market_data": {
"prices": {
"floor": 123
},
"last_sale": {
"price": 31,
"quantity": {
"int": "12345678",
"decimals": 5,
"float": 123.45678,
"numeric": "123.45678"
}
}
},
"external_links": [
{
"url": "https://www.indexcoop.com",
"type": "website",
"name": "Website"
}
],
"flags": {
"is_spam": true
}
},
"relationships": {
"chain": {
"links": {
"related": "https://api.zerion.io/v1/chains/polygon"
},
"data": {
"type": "chains",
"id": "polygon"
}
},
"nft_collection": {
"data": {
"type": "nft_collections",
"id": 14
}
}
}
}
]
}
]
}{
"links": {
"self": "https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/nft-positions/"
},
"data": []
}{
"errors": [
{
"title": "Parameter is malformed",
"detail": "Some validation errors will be described here"
}
]
}{
"errors": [
{
"title": "Unauthorized Error",
"detail": "The API key is invalid, please, make sure that you are using a valid key"
}
]
}{
"errors": [
{
"title": "Too many requests",
"detail": "Your request had been throttled"
}
]
}Get wallet NFT positions
Every NFT a wallet holds, with media, traits, collection and floor price.
curl --request GET \
--url https://api.zerion.io/v1/wallets/{address}/nft-positions/ \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.zerion.io/v1/wallets/{address}/nft-positions/"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.zerion.io/v1/wallets/{address}/nft-positions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zerion.io/v1/wallets/{address}/nft-positions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"links": {
"self": "https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/nft-positions/"
},
"data": [
{
"type": "nft_positions",
"id": "0x42b9df65b219b3dd36ff330a4dd8f327a6ada990:ethereum:22:0x909899c5dbb5002610dd8543b6f638be56e3b17e:57896044618658097711785492504343953928676686534345912800509039648547174119787",
"attributes": {
"changed_at": "2023-02-28T19:24:39Z",
"amount": "1",
"price": 0.043615722,
"value": 123,
"nft_info": {
"contract_address": "0x74ee68a33f6c9f113e22b3b77418b75f85d07d22",
"token_id": "10",
"name": "#10 De·genesis",
"interface": "erc1155",
"flags": {
"is_spam": true
},
"content": {
"preview": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"detail": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"audio": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"video": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
}
}
},
"collection_info": {
"name": "<string>",
"description": "<string>",
"content": {
"icon": {
"url": "https://token-icons.s3.amazonaws.com/0x0391d2021f89dc339f60fff84546ea23e337750f.png"
},
"banner": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
}
}
}
},
"relationships": {
"chain": {
"links": {
"related": "https://api.zerion.io/v1/chains/polygon"
},
"data": {
"type": "chains",
"id": "polygon"
}
},
"nft_collection": {
"data": {
"type": "nft_collections",
"id": 14
}
},
"nft": {
"data": {
"type": "nfts",
"id": "<string>"
}
}
},
"included": [
{
"type": "nfts",
"id": "<string>",
"attributes": {
"contract_address": "0x74ee68a33f6c9f113e22b3b77418b75f85d07d22",
"token_id": "10",
"interface": "erc1155",
"metadata": {
"name": "<string>",
"description": "<string>",
"tags": [
"<string>"
],
"content": {
"preview": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"detail": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"audio": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
},
"video": {
"url": "https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png",
"content_type": "image/png"
}
},
"attributes": [
{
"key": "Rarity",
"value": "common"
}
]
},
"market_data": {
"prices": {
"floor": 123
},
"last_sale": {
"price": 31,
"quantity": {
"int": "12345678",
"decimals": 5,
"float": 123.45678,
"numeric": "123.45678"
}
}
},
"external_links": [
{
"url": "https://www.indexcoop.com",
"type": "website",
"name": "Website"
}
],
"flags": {
"is_spam": true
}
},
"relationships": {
"chain": {
"links": {
"related": "https://api.zerion.io/v1/chains/polygon"
},
"data": {
"type": "chains",
"id": "polygon"
}
},
"nft_collection": {
"data": {
"type": "nft_collections",
"id": 14
}
}
}
}
]
}
]
}{
"links": {
"self": "https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/nft-positions/"
},
"data": []
}{
"errors": [
{
"title": "Parameter is malformed",
"detail": "Some validation errors will be described here"
}
]
}{
"errors": [
{
"title": "Unauthorized Error",
"detail": "The API key is invalid, please, make sure that you are using a valid key"
}
]
}{
"errors": [
{
"title": "Too many requests",
"detail": "Your request had been throttled"
}
]
}Authorizations
Headers
Custom header that allows you to get data for testnets.
testnet Path Parameters
The web3 wallet address. Must be a valid EVM address. Returns 400 if the address is not one Zerion tracks, such as a token contract, router or exchange hot wallet. Smart-contract wallets like Safe and ERC-4337 accounts are tracked as normal. Ethereum-compatible address (EVM).
^0x[a-fA-F0-9]{40}$"0x42b9df65b219b3dd36ff330a4dd8f327a6ada990"
Query Parameters
Keep only positions from the specified chains (comma-separated list). Only chains reporting supports_nft_positions in the flags of GET /v1/chains/ are accepted here. Naming a chain that fails that gate returns 400 rather than an empty result, with detail reading chain <id> does not support NFT positions (for example chain bob does not support NFT positions). When the filter is omitted, chains that fail the gate are left out of data silently, with no error and no meta signal.
25["ethereum", "polygon"]
Keep only positions from collections with specified IDs (comma-separated list). The IDs are returned inside the 'collection' field of each NFT.
The order of NFTs in the result.
created_at, -created_at, floor_price, -floor_price "-floor_price"
Array of related resources to be included to the response (comma-separated list). This parameter corresponds to the JSON API schema.
nfts, nft_collections, wallet_nft_collections Denominated currency value of returned prices
eth, btc, usd, eur, krw, rub, gbp, aud, cad, inr, jpy, nzd, try, zar, cny, chf Pagination parameters
Show child attributes
Show child attributes
Was this page helpful?