Get NFT transfers by token ID
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"page": "2",
"page_size": "100",
"cursor": "<string>",
"result": [
{
"token_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"token_id": "15",
"contract_type": "ERC721",
"block_number": "88256",
"block_timestamp": "2021-06-04T16:00:15",
"block_hash": "<string>",
"transaction_hash": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"log_index": 123,
"possible_spam": "false",
"token_name": "Tether USD",
"token_symbol": "USDT",
"from_address_entity": "Opensea",
"from_address_entity_logo": "https://opensea.io/favicon.ico",
"from_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"from_address_label": "Binance 1",
"to_address_entity": "Beaver Build",
"to_address_entity_logo": "https://beaverbuild.com/favicon.ico",
"to_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"to_address_label": "Binance 2",
"value": "1000000000000000",
"amount": "1",
"transaction_type": "<string>",
"transaction_index": 123,
"operator": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"verified_collection": "false",
"last_sale": {
"transaction_hash": "0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c",
"block_timestamp": "2023-04-04T15:59:11.000Z",
"buyer_address": "0xcb1c1fde09f811b294172696404e88e658659905",
"seller_address": "0x497a7dee2f13db161eb2fec060fa783cb041419f",
"price": "7300000000000000",
"price_formatted": "0.0073",
"payment_token": {
"token_name": "Ether",
"token_symbol": "ETH",
"token_logo": "https://cdn.moralis.io/eth/0x.png",
"token_decimals": "18",
"token_address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
"usd_price_at_sale": "13.61",
"current_usd_value": "15.53",
"token_address": "0xe8778996e096b39705c6a0a937eb587a1ebbda17",
"token_id": "170"
}
}
],
"block_exists": true,
"index_complete": true
}Transfers
NFT Transfers by Token ID
Get transfers of a specific NFT given a contract address and token ID.
GET
/
nft
/
{address}
/
{token_id}
/
transfers
Get NFT transfers by token ID
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/nft/{address}/{token_id}/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"page": "2",
"page_size": "100",
"cursor": "<string>",
"result": [
{
"token_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"token_id": "15",
"contract_type": "ERC721",
"block_number": "88256",
"block_timestamp": "2021-06-04T16:00:15",
"block_hash": "<string>",
"transaction_hash": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"log_index": 123,
"possible_spam": "false",
"token_name": "Tether USD",
"token_symbol": "USDT",
"from_address_entity": "Opensea",
"from_address_entity_logo": "https://opensea.io/favicon.ico",
"from_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"from_address_label": "Binance 1",
"to_address_entity": "Beaver Build",
"to_address_entity_logo": "https://beaverbuild.com/favicon.ico",
"to_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"to_address_label": "Binance 2",
"value": "1000000000000000",
"amount": "1",
"transaction_type": "<string>",
"transaction_index": 123,
"operator": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"verified_collection": "false",
"last_sale": {
"transaction_hash": "0x19e14f34b8f120c980f7ba05338d64c00384857fb9c561e2c56d0f575424a95c",
"block_timestamp": "2023-04-04T15:59:11.000Z",
"buyer_address": "0xcb1c1fde09f811b294172696404e88e658659905",
"seller_address": "0x497a7dee2f13db161eb2fec060fa783cb041419f",
"price": "7300000000000000",
"price_formatted": "0.0073",
"payment_token": {
"token_name": "Ether",
"token_symbol": "ETH",
"token_logo": "https://cdn.moralis.io/eth/0x.png",
"token_decimals": "18",
"token_address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
"usd_price_at_sale": "13.61",
"current_usd_value": "15.53",
"token_address": "0xe8778996e096b39705c6a0a937eb587a1ebbda17",
"token_id": "170"
}
}
],
"block_exists": true,
"index_complete": true
}Authorizations
Path Parameters
The address of the NFT contract
Example:
"0x524cab2ec69124574082676e6f654a18df49a048"
The ID of the token
Example:
"1"
Query Parameters
The chain to query
Available options:
eth, 0x1, sepolia, 0xaa36a7, polygon, 0x89, bsc, 0x38, bsc testnet, 0x61, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, base sepolia, 0x14a34, optimism, 0xa, polygon amoy, 0x13882, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, flow-testnet, 0x221, ronin, 0x7e4, ronin-testnet, 0x31769, lisk, 0x46f, pulse, 0x171, sei-testnet, 0x530, sei, 0x531, monad, 0x8f Example:
"eth"
The format of the token ID
Available options:
decimal, hex Example:
"decimal"
Should NFT last sale prices be included in the result?
The desired page size of the result.
Required range:
x >= 0The order of the result, in ascending (ASC) or descending (DESC)
Available options:
ASC, DESC Example:
"DESC"
The cursor returned in the previous response (used for getting the next page).
Response
200 - application/json
Returns a collection of NFT transfers
The current page of the result
Example:
"2"
The number of results per page
Example:
"100"
The cursor to get to the next page
Show child attributes
Show child attributes
Indicator if the block exists
Example:
true
Indicator if the block is fully indexed
Example:
true

