nft-market is a Python library by which current market information of NFTs on several famous NFT markets (OpenSea, Magic Eden, tofuNFT, PancakeSwap, etc) can be obtained.
nft-market provides simple APIs that return market information just by your giving the following arguments.
- The marketplace (from
nft_market.Market
) - the ID of a specific NFT (See the below in detail)
from nft_market import Market, Retriever
r = Retriever()
print(r.fetch(Market.OpenSea, 'boredapeyachtclub')) # Bored Ape Yacht Club
# [Output]
# type: nft_market.NFTInfo
# NFTInfo(id='boredapeyachtclub', name='Bored Ape Yacht Club', num_supply=None, num_listing=10000, num_owners=6400, floor=111.0, volume=487600.0)
At this moment, the following marketplaces are supported in nft-market.
- OpenSea
- Entrepot (depreacated)
- tofuNFT
- PancakeSwap
- Rarible
- GhostMarket
- Crypto.com
- Gem
- NFTrade
- Solanart
- Magic Eden
- XANALIA
- CetoSwap (depreacated)
- Coinbase
- CCC (depreacated)
- Nifty Gateway
- Jelly (depreacated)
- YUMI
Other marketplaces will be added into the list in the future. You can, off course, request them in issues if needed immediately. Either PRs or issues are always welcome!
The following explorers are supported in nft-market. If possible, using these explorers is recommended rather than using the above marketplaces, such as Enterpot, for more stability.
Although it depends on which marketplace you use, you can basically find it in the URL.
When you want to retrieve the information of the NFT of Bored Ape Yacht Club
, the URL looks like https://opensea.io/collection/boredapeyachtclub
. In this URL, what differs according to a NFT is the part of boredapeyachtclub
, which is all you need to use **
nft-market**.
URLs look like https://tofunft.com/collection/astardegens/items
. In this case, what nft-market requires is only
the part of astardegens
.
We have several examples of the usage in samples.py for references.
What you can retrieve may change by a marketplace you specify, as follows. Other information may be provided in the future!
Market | Name | #Supply | #Listing | #Owners | Floor | Volume |
---|---|---|---|---|---|---|
OpenSea | ✓ | ✓ | ✓ | ✓ | ||
Entrepot | ✓ | ✓ | ✓ | ✓ | ||
tofuNFT | ✓ | ✓ | ✓ | ✓ | ✓ | |
PancakeSwap | ✓ | ✓ | ✓ | ✓ | ✓ | |
Rarible | ✓ | ✓ | ✓ | ✓ | ✓ | |
GhostMarket | ✓ | ✓ | ✓ | ✓ | ✓ | |
Crypto.com | ✓ | ✓ | ✓ | ✓ | ✓ | |
Gem | ✓ | ✓ | ✓ | ✓ | ||
NFTrade | ✓ | ✓ | ✓ | |||
Solanart | ✓ | ✓ | ✓ | ✓ | ✓ | |
Magic Eden | ✓ | ✓ | ✓ | ✓ | ||
XANALIA | ✓ | ✓ | ✓ | ✓ | ✓ | |
CetoSwap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Coinbase | ✓ | ✓ | ✓ | ✓ | ✓ | |
CCC | ✓ | ✓ | ✓ | ✓(*) | ✓ | ✓ |
Nifty Gateway | ✓ | ✓ | ✓ | ✓ | ✓ | |
Jelly | ✓ | ✓ | ✓ | ✓ | ✓ | |
YUMI | ✓ | ✓ | ✓ | ✓ | ✓ |
Explorer | Ecosystem | Name | #Supply | #Listing | #Owners | Floor | Volume |
---|---|---|---|---|---|---|---|
ICScan | ICP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
NFTgeek | ICP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
"✓(*)" means it can return None value depending on items.
You can install nft-market by pip.
$ pip install nft-market
Also, as nft-market depends on Firefox and its driver, you need to install them.
[mac]
$ brew install firefox
[ubuntu]
$ sudo apt install firefox
Besides, all Python dependencies are listed up in requirements.txt
. Please install them
by $ pip install -r requirements.txt
if you install nft-market not by pip but by cloning from GitHub.
You can run tests similarly as GitHub Actions in your local environment by using ACT. We highly recommend you try this for at least what you added before push.
# mac
$ brew install act
# Linux
$ curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
# Windows Chocolatey
$ choco install act-cli
# Windows Scoop
$ scoop install act
Make sure that you're already running Docker Desktop, and then just run act!
$ act push --container-architecture linux/amd64
Note that when you see choices as for the default size of images, you need at least "Medium".
Default image and other options can be changed manually in ~/.actrc (please refer to https://github.com/nektos/act#configuration for additional information about file structure) [Use arrows to move, type to filter, ? for more help]
Large
> Medium
Micro