Sneaker Api
GitHub – druv5319/Sneaks-API: A StockX, FlightClub, Goat
A StockX API, FlightClub API, Goat API, and Stadium Goods API all in one.
Sneaks API is a sneaker API built using, Express, and Got. The Sneaks API allows users to get essential sneaker content such as images, product links and even prices from resell sites while also collecting data and storing it within a database. This API mainly scrapes StockX for sneaker information and then asynchronously scrapes Stadium Goods, Goat, and Flight Club for additional sneaker information such as images and its respective resell price. This API outputs a sneaker object of the following variables:
Sneaker Name
Colorway
Description
Release Date
Retail Price
Style ID
Image Links
Product links from each of the resell sites
Price map (of shoe size to price) from each of the resell sites
And more
I built this API so sneaker heads and developers are able to create sneaker based programs, trackers and websites without having to fumble with scrapping information on all 4 resell websites. Feel free to fork, edit and submit a pull request for this API for any changes or improvements. If you have any questions or issues regarding this feel free to create an issue and I will try to answer them as soon as I can.
UPDATE: As per many requests, I updated this API to version 1. 1 which removes the caching database from the API so no need to download and have MongoDB running for the API. If youd like to use the database version of the API, it is now a depreciated branch to this repository.
Demo
Sneaks App – Website | Github
Twilio Blog Tutorial: Build a Sneaker Price Tracker with Twilio Programmable SMS
Technologies Used
Express
Got
Request
Mongoose
Installation
To use this API you will need to have installed and running.
Once installed, use this line on the terminal within your project directory
and place this line at the top of your main file
const SneaksAPI = require(‘sneaks-api’);
How to Use
Method #1: Using the SneaksAPI class
const sneaks = new SneaksAPI();
//getProducts(keyword, limit, callback) takes in a keyword and limit and returns a product array
tProducts(“Yeezy Cinder”, 10, function(err, products){
(products)})
//Product object includes styleID where you input it in the getProductPrices function
//getProductPrices(styleID, callback) takes in a style ID and returns sneaker info including a price map and more images of the product
tProductPrices(“FY2903”, function(err, product){
(product)})
//getMostPopular(limit, callback) takes in a limit and returns an array of the current popular products curated by StockX
tMostPopular(10, function(err, products){
Console log of tProducts(“Yeezy Cinder”,… )
Console log of tProductPrices(“FY2903”,… )
Method #2: Using localhost:4000
Once your program starts with the sneaks-api module imported, a server should start and listen on port 4000
Routes:
This route takes in a keyword and returns an array of products (getProducts(keyword))
GET localhost:4000/search/:keyword
This route takes in a style ID and returns sneaker info including a price map and more images of the product (getProductprices(styleID))
GET localhost:4000/id/:styleID/prices
This route returns an array of the current popular products curated by StockX (getMostPopular())
sneaks-api – npm
A StockX API, FlightClub API, Goat API, and Stadium Goods API all in one.
Sneaks API is a sneaker API built using, Express, and Got. The Sneaks API allows users to get essential sneaker content such as images, product links and even prices from resell sites while also collecting data and storing it within a database. This API mainly scrapes StockX for sneaker information and then asynchronously scrapes Stadium Goods, Goat, and Flight Club for additional sneaker information such as images and its respective resell price. This API outputs a sneaker object of the following variables:
Sneaker Name
Colorway
Description
Release Date
Retail Price
Style ID
Image Links
Product links from each of the resell sites
Price map (of shoe size to price) from each of the resell sites
And more
I built this API so sneaker heads and developers are able to create sneaker based programs, trackers and websites without having to fumble with scrapping information on all 4 resell websites. Feel free to fork, edit and submit a pull request for this API for any changes or improvements. If you have any questions or issues regarding this feel free to create an issue and I will try to answer them as soon as I can.
UPDATE: As per many requests, I updated this API to version 1. 1 which removes the caching database from the API so no need to download and have MongoDB running for the API. If youd like to use the database version of the API, it is now a depreciated branch to this repository.
Demo
Sneaks App – Website | Github
Technologies Used
Express
Got
Request
Mongoose
Installation
To use this API you will need to have installed and running.
Once installed, use this line on the terminal within your project directory
npm install sneaks-api
and place this line at the top of your main file
const SneaksAPI = require(‘sneaks-api’);
How to Use
Method #1: Using the SneaksAPI class
const sneaks = new SneaksAPI();
//getProducts(keyword, limit, callback) takes in a keyword and limit and returns a product array
tProducts(“Yeezy Cinder”, 10, function(err, products){
(products)})
//Product object includes styleID where you input it in the getProductPrices function
//getProductPrices(styleID, callback) takes in a style ID and returns sneaker info including a price map and more images of the product
tProductPrices(“FY2903”, function(err, product){
(product)})
//getMostPopular(limit, callback) takes in a limit and returns an array of the current popular products curated by StockX
tMostPopular(10, function(err, products){
Console log of tProducts(“Yeezy Cinder”,… )
Console log of tProductPrices(“FY2903”,… )
Method #2: Using localhost:4000
Once your program starts with the sneaks-api module imported, a server should start and listen on port 4000
Routes:
This route takes in a keyword and returns an array of products (getProducts(keyword))
GET localhost:4000/search/:keyword
This route takes in a style ID and returns sneaker info including a price map and more images of the product (getProductprices(styleID))
GET localhost:4000/id/:styleID/prices
This route returns an array of the current popular products curated by StockX (getMostPopular())
GET localhost:4000/home
V1 Sneakers API: How To Use the API with Free API Key
Filtering
The following example retrieves all Jordan sneakers that were released in 2019 or after.
Date Filtering Considerations
When filtering on date and using the less than and equal to operator, please be aware that sneakers missing a release date may be returned in the results. Currently, these sneakers have a release year of 0. This may require you to add some additional logic to filter out these remember that dates must be in the YYYY-MM-DD format.
As of this release the following operations are available:
lt – less than
gt – greater than
lte – less than or equal to
gte – greater than or equal to
Sorting
The following request will return all vans sneakers by retail price in descending order. Please notice the “:” between the sort field and the sort order.
To sort in ascending order replace “desc” with “asc”.
Sort order is ignored when searching by name, as our interest is returning the most relevant sneakers first.