Foot Locker
Foot Locker Category API
Browse one Foot Locker category (Men's Shoes, Women's Clothing, Kids...) by its page path, URL or collection id, on any of 13 storefronts, in the site's order by default. Filter by brand, gender, color, price bucket, on_sale and any facet, and sort by relevance, price, new arrivals, top rated, name or brand. 48 items per page with id (the SKU), title, brand, URL, image, price, list price, percent off, the European 30-day lowest price, sale, new, launch and members-only-sale flags, rating, review count and colorways with their own prices. Also returns total, total_pages, the filters applied, every facet with its counts (any value works in filters) and data_as_of: listings can be a few hours old. Also returns the category's id, name, path and URL. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonpathstringA Foot Locker category page path (/category/<path>.html), as the site's category links carry it. One of path, url or collection_id is required.
Example: /category/mens/shoes.html
urlstringA Foot Locker category URL (its storefront and page are used).
Example: https://www.footlocker.com/category/mens/shoes.html
collection_idstringA collection id: a previous category response's category.id. Use it for the following pages.
Example: men-s-shoes
countryenum<string>default:usThe Foot Locker storefront. Titles and facet labels come back in the storefront's language, prices in its currency.
Example: de
us— United States (footlocker.com), USD. The default.ca— Canada (footlocker.ca), CAD. language en (default) or fr.gb— United Kingdom (footlocker.co.uk), GBP.de— Germany (footlocker.de), EUR.fr— France (footlocker.fr), EUR.it— Italy (footlocker.it), EUR.es— Spain (footlocker.es), EUR.nl— Netherlands (footlocker.nl), EUR.be— Belgium (footlocker.be), EUR. language nl (default) or fr.at— Austria (footlocker.at), EUR.ie— Ireland (footlocker.ie), EUR.au— Australia (footlocker.com.au), AUD.nz— New Zealand (footlocker.co.nz), NZD.
languageenum<string>Only for country ca (en default, or fr) and be (nl default, or fr). Other storefronts have one language.
Example: fr
en— English. The default on ca.fr— French, on ca or be.nl— Dutch. The default on be.
brandstring | string[]Only this brand, or any of several (up to 20): "Nike", "Jordan", "adidas", "New Balance", "HOKA". Case does not matter.
Example: Jordan
pageintegerResults page, 1-200, 48 items per page. A page past the last one returns an empty items list with the real total. Defaults to 1.
Example: 2
sortenum<string>default:relevanceThe order of the listing.
relevance— The site's Featured order. The default.price_low_to_high— Cheapest first.price_high_to_low— Most expensive first.new_arrivals— Newest first.top_rated— Highest customer rating first.name_az— Product name A-Z.brand_az— Brand A-Z.
genderstring | string[]Gender value(s) as facets gender lists them ("Men's", "Women's", "Boys'"; in the storefront's language).
Example: Women's
colorstring | string[]Color value(s) as facets primaryColor lists them.
Example: Black
price_rangestring | string[]Price bucket value(s) as facets price lists them (25-50, 50-75, 75-100, 100-150, 150-inf), in the storefront's currency.
Example: 100-150
on_salebooleanOnly items on sale.
Example: true
filtersobjectAny filter from a previous response: {facets[].id: facets[].values[].value, or a list of values}. Values of one filter are OR, filters combine (AND). E.g. {"mensShoesSize": "10.0"}, {"womensShoesSize": "8.0"}, {"style": "Casual Sneakers"}, {"sport": "Running"}, {"eligibleForDiscount": "True"}.
Example: {"mensShoesSize": "10.0", "primaryColor": "Black"}
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Men's shoes on sale, size 10, newest first.
first = client.footlocker.category(path="/category/mens/shoes.html", on_sale=True,
filters={"mensShoesSize": "10.0"}, sort="new_arrivals")["data"]
print(first["category"]["name"], first["total"], "items over", first["total_pages"], "pages")
# Later pages by the collection id the first page returned.
page2 = client.footlocker.category(collection_id=first["category"]["id"], on_sale=True,
filters={"mensShoesSize": "10.0"}, sort="new_arrivals", page=2)["data"]
for item in page2["items"]:
print(item["id"], item["title"], item["price"], item["percent_off"])Response