Androz2091 / opensea-scraper

Scrapes nft floor prices from opensea. Not using the API because the floor prices returned are inaccurate and do not match the actual real floor prices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Opensea Scraper

Problem: NFT floor prices returned by the Opensea API are not accurate (they lag at least 2 hours, sometimes even a full day it seems). Here is an example of cool-cats floor price actually being 8.5, but the API returns 9.4: opensea-inaccuracy

With this utility you can scrape the correct NFT floor prices directly from opensea by using puppeteer.

Install

npm install opensea-scraper

Usage

const OpenseaScraper = require("opensea-scraper");

// which nft project to scrape?
const slug = "cool-cats-nft";

// scrape the correct floor price of an actual offer that exists on opensea
const floorPrice = await OpenseaScraper.floorPrice(slug);

// get basic info (from the opensea API)
const basicInfo = await OpenseaScraper.basicInfo(slug);

**slug** is the human readable identifier that opensea uses to identify a collection. It can be extracted from the URL: https://opensea.io/collection/{slug} slug

Demo

npm run demo

Script to fetch Floor Price from API

⚠ Important Note: floor prices fetched with this method are not accurate (not in real time).

const axios = require("axios");

async function getFloorPrice(slug) {
  try {
    const url = `https://api.opensea.io/collection/${slug}`;
    const response = await axios.get(url);
    return response.data.collection.stats.floor_price;
  } catch(err) {
    console.log(err);
    return undefined;
  }
}

const result = await getFloorPrice("lostpoets");
const result = await getFloorPrice("treeverse");
const result = await getFloorPrice("cool-cats-nft");

Contribute

Open PR or issue if you would like to have more features added.

About

Scrapes nft floor prices from opensea. Not using the API because the floor prices returned are inaccurate and do not match the actual real floor prices.


Languages

Language:JavaScript 100.0%