Access API Endpoints
The page includes a list of all available NFT data endpoints on DIA network. To review the data sources and methodologies used for pricing, visit the following page:
pagePricing methodologiesNFT Market Data API Endpoints
NFT Floor Price
GET
https://api.diadata.org/v1/NFTFloor/:blockchain/:address
Returns the current floor price of a collection given by a blockchain and an address. The floor price is derived from all sales in the last 24h. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB Use the query parameter timestamp in order to get the latest floor price before the specified timestamp. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?timestamp=1649342430
Use the query parameter floorWindow in order to get the floor price with respect to all sales in the last floorWindow seconds. Default value is 86400s=24h. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?floorWindow=43200
Some of the marketplaces, including Opensea, allow for bundle sales. This data is collected, but not taken into account for the floor price calculation by default. Use the query parameter bundles in order to include bundle sales. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D?bundles=true
Use the query parameter exchange in order to get the floor price with respect to all sales on the given exchange. Default is across all available exchanges. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D?exchange=X2Y2
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | NFT collection contract address |
Query Parameters
Name | Type | Description |
---|---|---|
timestamp | Integer | Unix timestamp |
floorWindow | Integer | Number of seconds in considered interval |
bundles | String | If set to true, bundle sales are included |
exchange | String | Name of the exchange the floor price should be restricted to |
Top NFT Collections by Volume
GET
https://api.diadata.org/v1/topNFT/:numCollections
Returns the top collections sorted by 24h volume. Change rates are in %. As of now, this is only available for NFTs on Ethereum Mainnet. Example: https://api.diadata.org/v1/topNFT/10
Use the parameters starttime and endtime in order to get the top collections in the respective time-range. Example: https://api.diadata.org/v1/topNFT/10?starttime=1649322827&endtime=1649495627
Use the parameter exchanges in order to filter the result by exchange. The parameter is a comma-separated list of strings. Currently available for Ethereum Mainnet: OpenSea, LooksRare, CryptopunkMarket Example: https://api.diadata.org/v1/topNFT/10?exchanges=OpenSea,CryptopunkMarket
Path Parameters
Name | Type | Description |
---|---|---|
numCollections* | String | Number of returned top collections. |
Query Parameters
Name | Type | Description |
---|---|---|
starttime | Integer | Unix timestamp (in seconds). Starting time of the considered time-range. |
endtime | Integer | Unix timestamp (in seconds). Final time of the considered time-range. |
NFT Moving Average of Floor Price
GET
https://api.diadata.org/v1/NFTFloorMA/:blockchain/:address
Returns the moving average of a collection's floor price over the past 30 days. Example: https://api.diadata.org/v1/NFTFloorMA/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
Use the query parameter floorWindow in order to get the floor price with respect to all sales in the last floorWindow seconds. Default value is 86400s=24h. Example: https://api.diadata.org/v1/NFTFloorMA/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?floorWindow=43200
Use the query parameter lookbackSeconds in order to get the moving average over the last lookbackSeconds. Default value is 2592000s=30d. Example: https://api.diadata.org/v1/NFTFloorMA/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?lookbackSeconds=5184000
Some of the marketplaces, including Opensea, allow for bundle sales. This data is collected, but not taken into account for the floor price calculation by default. Use the query parameter bundles in order to include bundle sales. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D?bundles=true
Use the query parameter timestamp in order to get the latest moving average Floor price before the specified timestamp. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D?timestamp=1668960978
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | NFT collection contract address |
Query Parameters
Name | Type | Description |
---|---|---|
floorWindow | Integer | Number of seconds in considered interval regarding floor price |
lookbackSeconds | Integer | Number of seconds in considered interval regarding moving average |
bundles | String | If set to true, bundle sales are included |
timestamp | Integer | Unix timestamp |
NFT Advanced Analytics API Endpoints
NFT Volatility of Floor Price
GET
https://api.diadata.org/v1/NFTVolatility/:blockchain/:address
Returns the volatility of a collection's floor price over the last 90 days. Example: https://api.diadata.org/v1/NFTVolatility/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
Use the query parameter time in order to get the volatility counting 90 days backwards from time. Example: https://api.diadata.org/v1/NFTVolatility/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?time=1655027598 Use the query parameter floorWindow in order to get the floor price with respect to all sales in the last floorWindow seconds. Default value is 86400s=24h. Example: https://api.diadata.org/v1/NFTVolatility/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?floorWindow=43200
Use the query parameter lookbackSeconds in order to get the moving average over the last lookbackSeconds. Default value is 2592000s=30d. Example: https://api.diadata.org/v1/NFTVolatility/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?lookbackWindow=5184000
Some of the marketplaces, including Opensea, allow for bundle sales. This data is collected, but not taken into account for the floor price calculation by default. Use the query parameter bundles in order to include bundle sales. Example: https://api.diadata.org/v1/NFTFloor/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D?bundles=true
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | NFT collection contract address |
Query Parameters
Name | Type | Description |
---|---|---|
time | int | Unix timestamp in seconds |
floorWindow | Int | Number of seconds in considered interval regarding floor price |
lookbackSeconds | Int | Number of seconds in considered interval regarding moving average |
NFT Max Weekly Drawdown
GET
https://api.diadata.org/v1/NFTDownday/:blockchain/:address
Returns the maximal weekly drawdown in the last 90 days in percent. Furthermore, the average and standard deviation of the weekly drawdown time-series is returned. Example: https://api.diadata.org/v1/NFTDownday/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
Use the query parameter floorWindow in order to get the floor price with respect to all sales in the last floorWindow seconds. Default value is 86400s=24h. Example: https://api.diadata.org/v1/NFTDownday/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?floorWindow=43200
Use the query parameter lookbackSeconds in order to get the moving average over the last lookbackSeconds. Default value is 7776000s=90d. Example: https://api.diadata.org/v1/NFTDownday/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?lookbackWindow=2592000
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | NFT collection contract address |
Query Parameters
Name | Type | Description |
---|---|---|
floorWindow | Integer | Number of seconds in considered interval regarding floor price |
lookbackSeconds | Integer | Number of seconds in considered interval regarding weekly drawdown |
NFT Volume Statistics
GET
https://api.diadata.org/v1/NFTVolume/:blockchain/:address
Returns statistics on a collection's trading volume. Example: https://api.diadata.org/v1/NFTVolume/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
Use the parameters starttime and endtime in order to get the collection's volume statistics in the respective time-range. Example: https://api.diadata.org/v1/NFTVolume/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?starttime=1649322827&endtime=1649495627
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | Address of the collection |
Query Parameters
Name | Type | Description |
---|---|---|
starttime | Integer | Unix timestamp (in seconds). Starting time of the considered time-range. |
endtime | Integer | Unix timestamp (in seconds). Final time of the considered time-range. |
NFT Collection Average Price and Standard Distribution
GET
https://api.diadata.org/v1/NFTDistribution/:blockchain/:address
Returns Average and Standard Deviation of a collection's prices with respect to sales over the last 30 days. Example: https://api.diadata.org/v1/NFTDistribution/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
Use the parameters starttime and endtime in order to get the collection's price distribution in the respective time-range. Example: https://api.diadata.org/v1/NFTDistribution/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?starttime=1667659222&endtime=1668868822
Use the parameters lowerBound and upperBound in order to take into account trades with a price between these two. Both limits should be given in fix-comma notation with six decimals. Example: https://api.diadata.org/v1/NFTDistribution/Ethereum/0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB?lowerBound=40000000&upperBound=80000000
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | Address of the collection |
Query Parameters
Name | Type | Description |
---|---|---|
starttime | Integer | Unix timestamp (in seconds). Starting time of the considered time-range. |
endtime | Integer | Unix timestamp (in seconds). Final time of the considered time-range. |
lowerBound | Integer | Lower bound with fix-comma notation of six decimals. |
upperBound | Integer | Upper bound with fix-comma notation of six decimals. |
NFT Raw Trades by Collection
GET
https://api.diadata.org/v1/NFTTradesCollection/:blockchain/:address
Returns raw trades of a collection. By default all trades from the last 30 days are returned. Example: https://api.diadata.org/v1/NFTTradesCollection/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D
Use the parameters starttime and endtime in order to get the collection's volume statistics in the respective time-range. Example: https://api.diadata.org/v1/NFTTradesCollection/Ethereum/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D?starttime=1656345837&endtime=1658937837
Path Parameters
Name | Type | Description |
---|---|---|
blockchain* | String | Blockchain name |
address* | String | Address of the collection |
Query Parameters
Name | Type | Description |
---|---|---|
starttime | Integer | Unix timestamp (in seconds). Starting time of the considered time-range. |
endtime | Integer | Unix timestamp (in seconds). Final time of the considered time-range. |
NFT WebSocket Endpoints
Listen to live NFT sales, deploy and mint events
CONNECT
wss://api.diadata.org/ws/nft
Connecting to NFT web-socket API will allow to retrieve live mint and deploy events happening on the Ethereum blockchain.
For retrieving live NFT sales use:
{"Channel": "
nftsales"}
To retrieve live NFT mints use:
{"Channel": "nftmint"}
For getting newly deployed NFT collections use:
{"Channel": "nftdeploy"}
The connection requires pinging the server or it will timeout after 10 seconds of inactivity.
For pinging use:
{"Channel": "ping"}
Request Body
Name | Type | Description |
---|---|---|
Channel* | String | Select channel to connect to (nftsales, nftmint or nftdeploy) |
Last updated