Kohl's
Kohl's Category API
Browse one kohls.com catalog listing (Small Appliances, Women's Clothing, Men's Shoes...) by its path or URL. A Kohl's listing is defined by the CN=... facets in its link, so send the path with that part, as category links and a product's breadcrumbs[].url carry it. 120 products per page with the search sorts and filters (brand, color, size, on sale, clearance, any facet value). Each item has the same fields as search: current, regular and sale price, price label, percent off, with-code price, rating, review count and is_sponsored. Also returns the category's name, breadcrumbs, path and URL, total, total_pages and every facet with counts. Costs 2 credits 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 Kohl's catalog path with its CN=... part, as kohls.com category links and a product's breadcrumbs[].url carry it. path or url is required.
Example: /catalog/small-appliances-kitchen-dining.jsp?CN=Category:Small%20Appliances+Department:Kitchen%20%26%20Dining
urlstringA kohls.com catalog URL, instead of path. Its CN facets define the listing; a sort or page in the URL is kept.
Example: https://www.kohls.com/catalog/womens-clothing.jsp?CN=Gender:Womens+Department:Clothing
brandstringOnly this brand, as the Brand facet lists it ("Levi's", "Hamilton Beach", "BLACK+DECKER"). One value.
Example: Levi's
pageintegerResults page, 1-based, up to 500. Defaults to 1. 120 products per page.
Example: 2
sortstringfeatured (default, the site's own order), new_arrivals, best_sellers, price_low_to_high, price_high_to_low, highest_rated or percent_off (percent_off is Kohl's own Percent Off order, which is loose; sort the items by percent_off yourself for a strict ranking).
colorstringOnly this color, as the Color facet lists it (Black, Blue, Beig/khaki...). One value; send more colors through filters.
Example: Black
sizestringOnly this size, as the Size facet lists it (M, 32X30, 10...). One value; send more sizes through filters.
Example: M
on_salebooleanOnly items on sale (the Sale promotion facet).
clearancebooleanOnly clearance items.
filtersstring | string[]Any facet value from a previous response: its facets[].values[].value, e.g. "Gender:Womens", "Price:%2425%20to%20%2450" (a price bucket), "TopRated:4", "InStoreOnline:Pick%20Up%20in%20Store". Unencoded values work too ("Price:$25 to $50"). Several facets combine (AND); at most 10 facets per request, the page's own included.
Example: ["Price:$25 to $50", "Gender:Womens"]
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.kohls.category(
path="/catalog/small-appliances-kitchen-dining.jsp?CN=Category:Small%20Appliances+Department:Kitchen%20%26%20Dining",
on_sale=True,
sort="percent_off",
)["data"]
print(res["category"]["name"], res["total"], "items")
for item in res["items"]:
print(item["id"], item["title"], item["regular_price"], item["sale_price"], item["with_code_price"])Response