The NFT Starter Pack: Tools for Anyone to Analyze NFTs
Update 5/2/23:
Key improvements:
- Sales output now includes new fields like marketplace, royalty fees, and protocol fees
- Simplified codebase – it now runs faster and uses significantly less compute units
- No more
ethereum-etl
dependency, so we can now support the latest versions of Python - Alchemy APIs make it faster to add support for new marketplace contracts
—
A question we often get is how can someone who isn’t super technical get started analyzing data for NFTs, or non-fungible tokens? (More on NFTs, including reading resources, conversations on how they work, specific use cases, etc. here.) Part of why blockchains are interesting is that all of their data is publicly accessible. But… it’s structured in a way that is counter-intuitive even for technical people.
The code we share below shows people how to pull NFT data directly from the source, and transform it in a way that’s more familiar. Our hope is that this will help lower the barrier for people who want to analyze NFT data. Having spent a lot of time going down the NFT rabbit hole, even I found it surprisingly difficult to export the most basic data associated with a collection – such as all token transfers, historical sales, and each underlying item’s metadata (including rarity scores, which indicate how rare certain traits are across different categories within a collection).
Whether you’re a developer building an application, a data scientist looking to build various models, an analyst or collector interested in historical price trends, or a prospective buyer/seller who just wants to understand the rarity of certain traits, the NFT Analyst Starter Pack can help. It is designed to be lightweight and easy to use even for non-developers (there’s a quick and easy setup, there are very few dependencies, etc):
- All you need is a free Alchemy API key, which you can get here at Alchemy (further instructions in the repo).
- Then, once you enter your Alchemy API key and an NFT contract address, you will be able to – with just one command – generate CSV extracts for all the NFT data of interest to you.
We hope that as more people enter this space, different types of builders will build for use cases well beyond just financial analysis. And we can’t wait to see what you build! Please share publicly with us @a16z crypto, @eddylazzarin @darenmatsuoka (in particular, contact @darenmatsuoka for discussion and/or collaboration as well!).
Get the NFT Starter Pack here
Thank you to Grace Danco and Michael Blau for their feedback and code input (and to Andrew Hong, Alex Kroeger, and Michael Silberling for their comments as well.)
Lastly, a special shoutout to community tools like Alchemy (@AlchemyPlatform) and @EthereumETL that do all of the heavy lifting that makes this type of data extraction possible!