Dick's Sporting Goods
Dick's Sporting Goods Brand API
Every Dick's Sporting Goods product of one brand by name (Nike, YETI, Callaway, Under Armour...), optionally narrowed by a keyword: 48 products per page (up to 144) with the search sorts, an approximate price range and any facet as filters. Each item has id, title, URL, image, current and list price ranges, percent off, MAP flag, rating, review count, badge, options, is_pinned and the offer-price windows Dick's has planned. Also returns total, total_pages, applied filters, facets with counts and the categories the brand's products fall in. An unknown brand is a 404. 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/jsonbrandstringrequiredA brand name as Dick's lists it in the Brand facet ("Nike", "YETI", "Callaway", "Under Armour"); case does not matter. An unknown brand is a 404.
Example: YETI
querystringNarrow the brand to a keyword, 1-200 characters.
Example: tumbler
pageintegerResults page, 1-based, up to 500. Defaults to 1. A page past the last one returns an empty items list with the real total.
Example: 2
page_sizeintegerItems per page, 1-144. Defaults to 48.
Example: 144
sortstringrelevance, top_sellers, savings (biggest discount first), price_low_to_high, price_high_to_low, featured (the site's merchandised order: pinned items first), new_arrivals or brand_az. Defaults to relevance, like the site.
filtersobjectAny facet from a previous response: {facets[].id: facets[].values[].value, or a list of values}. Values of one facet are OR, facets combine (AND). E.g. {"5495": "Men's"} (gender), {"3232": "Black"} (color), {"rating": "4+"}, {"price": "50-100"}, {"5004": "Sale"}.
Example: {"5495": ["Men's"], "rating": "4+"}
min_pricenumberApproximate lower price bound in USD (the site's price filter is loose: a few items just outside the range can appear).
Example: 60
max_pricenumberApproximate upper price bound in USD.
Example: 80
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# A brand's discounted items, biggest discount first: a MAP and markdown watch.
res = client.dicks.brand(brand="YETI", sort="savings")["data"]
print(res["brand"], res["total"], "items")
for item in res["items"]:
if item["percent_off"]:
print(item["id"], item["title"], item["list_price"], item["price"], item["percent_off"], item["map_price_applies"])Response