🎯
NFT Scan
BlockVision's NFT API is not only for popular contracts but also for real-time analysis of all contract and account data on the entire chain.
With the evolution of Web 3.0, NFT has gradually become a basic accessory for major industries (such as GameFi, Metaverse, etc.) and projects. Whether it is users or project parties, everyone is scrambling to obtain NFT market data and statistical analysis.
BlockVision is not only satisfied with providing scanning of NFTs (ERC721 or ERC1155 type tokens) held by user addresses but also innovatively takes the lead in launching the data indexing and analysis services of NFT Marketplace for developers and project parties to integrate.

Transaction & Auction Record Tracking

BlockVision currently provides all users with a service that supports querying all historical auction and transaction records of a specified wallet address, NFT, or Collection on OpenSea. These data will help users identify and analyze NFT market trends.
Surprisingly, more NFT marketplaces are rapidly being added to BlockVision’s services. In the near future, users will enjoy more comprehensive and advanced features.
JavaScript
Python
Golang
1
var axios = require('axios');
2
var data = JSON.stringify({
3
"javaid": 1,
4
"jsonrpc": "2.0",
5
"method": "nft_auctionRecords",
6
"params": {
7
"contractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
8
"tokenId": "3030"
9
}
10
});
11
12
var config = {
13
method: 'post',
14
url: 'https://apis.blockvision.org/v1/<api key>',
15
headers: {
16
'Content-Type': 'application/json'
17
},
18
data : data
19
};
20
21
axios(config)
22
.then(function (response) {
23
console.log(JSON.stringify(response.data));
24
})
25
.catch(function (error) {
26
console.log(error);
27
});
28
Copied!
1
url = "https://apis.blockvision.org/v1/<api key>"
2
3
payload = json.dumps({
4
"id": 1,
5
"jsonrpc": "2.0",
6
"method": "nft_auctionRecords",
7
"params": {
8
"contractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
9
"tokenId": "3030"
10
}
11
})
12
headers = {
13
'Content-Type': 'application/json'
14
}
15
16
response = requests.request("POST", url, headers=headers, data=payload)
17
18
print(response.text)
Copied!
1
package main
2
3
import (
4
"fmt"G
5
"strings"
6
"net/http"
7
"io/ioutil"
8
)
9
10
func main() {
11
12
url := "https://apis.blockvision.org/v1/<api key>"
13
method := "POST"
14
15
payload := strings.NewReader(`{
16
"id": 1,
17
"jsonrpc": "2.0",
18
"method": "nft_auctionRecords",
19
"params": {
20
"contractAddress": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
21
"tokenId": "3030"
22
}
23
}`)
24
25
client := &http.Client {
26
}
27
req, err := http.NewRequest(method, url, payload)
28
29
if err != nil {
30
fmt.Println(err)
31
return
32
}
33
req.Header.Add("Content-Type", "application/json")
34
35
res, err := client.Do(req)
36
if err != nil {
37
fmt.Println(err)
38
return
39
}
40
defer res.Body.Close()
41
42
body, err := ioutil.ReadAll(res.Body)
43
if err != nil {
44
fmt.Println(err)
45
return
46
}
47
fmt.Println(string(body))
48
}
Copied!

Ranking Data

BlockVision provides a variety of leaderboard data APIs, including but not limited to: NFT ranking with the highest price in history, wallet address with the highest current NFT value, and NFT Collection with the highest current market value, etc.
This also means that when you use BlockVision, you can easily obtain current and historical popular data in the NFT Marketplace.
What's more, you can get a summary data from the different time dimensions just by simply setting the timeDimension field in the request parameter.
JavaScript
Python
Golang
1
var axios = require('axios');
2
var data = JSON.stringify({
3
"id": 1,
4
"jsonrpc": "2.0",
5
"method": "nft_topNfts",
6
"params": {}
7
});
8
9
var config = {
10
method: 'post',
11
url: 'https://apis.blockvision.org/v1/<api key>',
12
headers: {
13
'Content-Type': 'application/json'
14
},
15
data: data
16
};
17
18
axios(config)
19
.then(function (response) {
20
console.log(JSON.stringify(response.data));
21
})
22
.catch(function (error) {
23
console.log(error);
24
});
25
Copied!
1
import requests
2
import json
3
4
url = "https://apis.blockvision.org/v1/<api key>"
5
6
payload = json.dumps({
7
"id": 1,
8
"jsonrpc": "2.0",
9
"method": "nft_topNfts",
10
"params": {}
11
})
12
headers = {
13
'Content-Type': 'application/json'
14
}
15
16
response = requests.request("POST", url, headers=headers, data=payload)
17
18
print(response.text)
19
Copied!
1
package main
2
3
import (
4
"fmt"
5
"strings"
6
"net/http"
7
"io/ioutil"
8
)
9
10
func main() {
11
12
url := "https://apis.blockvision.org/v1/<api key>"
13
method := "POST"
14
15
payload := strings.NewReader(`{
16
"id": 1,
17
"jsonrpc": "2.0",
18
"method": "nft_topNfts",
19
"params": {}
20
}`)
21
22
client := &http.Client {
23
}
24
req, err := http.NewRequest(method, url, payload)
25
26
if err != nil {
27
fmt.Println(err)
28
return
29
}
30
req.Header.Add("Content-Type", "application/json")
31
32
res, err := client.Do(req)
33
if err != nil {
34
fmt.Println(err)
35
return
36
}
37
defer res.Body.Close()
38
39
body, err := ioutil.ReadAll(res.Body)
40
if err != nil {
41
fmt.Println(err)
42
return
43
}
44
fmt.Println(string(body))
45
}
Copied!

NFT Analysis

In addition, BlockVision's NFT API can also help users perform trend analysis of NFT transaction volume and historical data, as well as statistical analysis of the number and activity of NFT users.
These features will greatly facilitate users to discover and mine valuable NFT Collections and make strategic judgments.
For example, users can track the big NFT whales with api's such as nft_topAccounts to see what is trending in the market.
1
curl https://api.blockvision.org/v1/<api key> \
2
-X POST \
3
-H "Content-Type: application/json" \
4
-d '{
5
"id": 1,
6
"jsonrpc": "2.0",
7
"method": "nft_topAccounts",
8
"params": {}
9
}'
Copied!

Detecting Price Manipulation

Artificial price manipulation is usually done through multiple transactions from multiple wallets increasing prices each time they wash the asset. To help users identify this behavior, BlockVision provides users with historical transfer records for both ERC721 and ERC1155 tokens, while allowing users to view the complete circulation record of an NFT (with a unique tokenid) through nft_circulations.
JavaScript
Python
Golang
1
var axios = require('axios');
2
var data = JSON.stringify({
3
"id": 1,
4
"jsonrpc": "2.0",
5
"method": "nft_circulations",
6
"params": {
7
"tokenID": "119",
8
"contractAddress": "0xc78BfE5d749C8b37626695A1E165a55205b82C3c",
9
"accountAddress": "0x7768FBc67afecF2b4Caee9D1841ad14637D13652"
10
}
11
});
12
13
var config = {
14
method: 'post',
15
url: 'https://apis.blockvision.org/v1/<api key>',
16
headers: {
17
'Content-Type': 'application/json'
18
},
19
data: data
20
};
21
22
axios(config)
23
.then(function (response) {
24
console.log(JSON.stringify(response.data));
25
})
26
.catch(function (error) {
27
console.log(error);
28
});
29
Copied!
1
import requests
2
import json
3
4
url = "https://apis.blockvision.org/v1/<api key>"
5
6
payload = json.dumps({
7
"id": 1,
8
"jsonrpc": "2.0",
9
"method": "nft_circulations",
10
"params": {
11
"tokenID": "119",
12
"contractAddress": "0xc78BfE5d749C8b37626695A1E165a55205b82C3c",
13
"accountAddress": "0x7768FBc67afecF2b4Caee9D1841ad14637D13652"
14
}
15
})
16
headers = {
17
'Content-Type': 'application/json'
18
}
19
20
response = requests.request("POST", url, headers=headers, data=payload)
21
22
print(response.text)
23
Copied!
1
package main
2
3
import (
4
"fmt"
5
"strings"
6
"net/http"
7
"io/ioutil"
8
)
9
10
func main() {
11
12
url := "https://apis.blockvision.org/v1/<api key>"
13
method := "POST"
14
15
payload := strings.NewReader(`{
16
"id": 1,
17
"jsonrpc": "2.0",
18
"method": "nft_circulations",
19
"params": {
20
"tokenID": "119",
21
"contractAddress": "0xc78BfE5d749C8b37626695A1E165a55205b82C3c",
22
"accountAddress": "0x7768FBc67afecF2b4Caee9D1841ad14637D13652"
23
}
24
}`)
25
26
client := &http.Client {
27
}
28
req, err := http.NewRequest(method, url, payload)
29
30
if err != nil {
31
fmt.Println(err)
32
return
33
}
34
req.Header.Add("Content-Type", "application/json")
35
36
res, err := client.Do(req)
37
if err != nil {
38
fmt.Println(err)
39
return
40
}
41
defer res.Body.Close()
42
43
body, err := ioutil.ReadAll(res.Body)
44
if err != nil {
45
fmt.Println(err)
46
return
47
}
48
fmt.Println(string(body))
49
}g
Copied!

Marketplace Data

Besides, BlockVision supports popular NFT marketplace APIs for users to fetch the original and integrated data. With volume API like nft_volume, users can compare the trend among different NFT Marketplace. Simply by replacing the name of the method, you can easily get different dimensions of marketplaces' volume information.
Let's see what it looks like:
1
curl https://api.blockvision.org/v1/<api key> \
2
-X POST \
3
-H "Content-Type: application/json" \
4
-d '{
5
"id": 1,
6
"jsonrpc": "2.0",
7
"method": "nft_volume",
8
"params": {
9
"unit": "daily"
10
}
11
}'
Copied!
Response:
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": {
5
"data": [
6
{
7
"unitDate": "2022-05-24",
8
"looksRare": "7769871",
9
"openSea": "462104",
10
"larvaLabs": "0"
11
},
12
// ...
13
{
14
"unitDate": "2022-03-24",
15
"looksRare": "2372184",
16
"openSea": "34495424",
17
"larvaLabs": "0"
18
}
19
]
20
}
21
}
Copied!
If you want to go deeper into the Apps or search for basic info, just try the basic information API that BlockVision provides. BlockVision supports all basic event information querying in popular NFT marketplace like OpenSea and so on. What's more, filtering is also accessible to users. All you need to do is putting a parameter in your request.
Here are the links of some NFT marketplace API docs page. Go and have a try!