⚠ 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:
With this utility you can scrape the correct NFT floor prices directly from opensea by using puppeteer.
npm install opensea-scraper
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}
npm run demo
⚠ 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");
Open PR or issue if you would like to have more features added.