This tutorial is a step-by-step guide to collecting, storing, and analyzing NFT (non-fungible tokens) sales data from the largest NFT marketplace, OpenSea.

NFTs, like much of the data related to blockchains and cryptocurrencies, can seem complicated at first, but in this tutorial we take you from zero to NFT hero and give you a foundation for analyzing NFT trends.

This tutorial shows you how to:

  • Design a schema for NFT transactions
  • Ingest time-series NFT data and additional relevant relational data
  • Query the dataset using PostgreSQL and TimescaleDB to unlock insights from the data

This tutorial is part of the Timescale NFT Starter Kit, designed to get you up and running with analyzing NFT data, and give you the inspiration to build your own, more complex projects. The NFT Starter Kit contains:

  • Data ingestion script, which collects historical data from OpenSea and ingests it into TimescaleDB
  • Sample dataset, to get started quickly, if you don't want to wait too much time ingesting data
  • Schema for storing NFT sales, assets, collections, and accounts
  • Local TimescaleDB database, pre-loaded with sample NFT data
  • Pre-built dashboards and charts in Apache Superset and Grafana for visualizing your data analysis
  • Queries to use as a starting point for your own analysis

To get started, clone the NFT Starter Kit Github repo and follow along with this tutorial.

Because we love NFTs as much as you do, we created Time Travel Tigers, a limited edition set of 20 NFT about our Timescale mascot, Eon! The first 20 people to complete this tutorial can earn a limited edition NFT from the collection, for free!

Claiming your NFT is simple. All you need to do is complete the tutorial below, answer the questions in this form, and we'll send one of the limited-edition Eon NFTs to your ETH address (at no cost to you!).

You can see all NFTs in the Time Travel Tigers collection live on OpenSea.

  1. NFT schema design and ingestion
  2. Analyzing NFT transactions


Found an issue on this page?

Report an issue!