Dick's Sporting Goods
Dick's Sporting Goods Clearance & Deals API
Dick's Sporting Goods deal listings: Clearance (the default), Sale or This Week's Deals, in the site's featured order by default (sort savings for the biggest discounts first), 48 products per page (up to 144) filtered by brand, an approximate price range or any facet (gender, shoe size, size, product type...). Each item has id, variant sku, title, brand, 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 deals fall in. 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/jsontypestringclearance (default), sale or weekly_deals (This Week's Deals).
Example: clearance
brandstring | string[]Only this brand (or any of several, up to 20), as the Brand facet lists it ("Nike", "HOKA", "YETI").
Example: Nike
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 featured, 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")
# Men's clearance, biggest discount first. Run it daily and keep your own history.
res = client.dicks.deals(type="clearance", filters={"5495": "Men's"}, sort="savings", page_size=144)["data"]
print(res["label"], res["total"], "items")
for item in res["items"]:
print(item["id"], item["sku"], item["title"], item["list_price"], item["price"], item["percent_off"])Response