JCPenney
JCPenney Search API
Search jcpenney.com (US) by keyword: 48 products per page, up to 25 pages (1,200 items per query), sorted by relevance, new arrivals, best sellers, rating or price, and filtered by brand, color, size, price range, deal label (CLEARANCE, SALE, BIG BUY!...) or any facet value (gender, store availability, rating...). Each item has id, title, brand, URL, image, SKU id, current and regular price ranges, price type (sale, clearance, original), percent off, deal label, the price after today's coupon with its coupon code, rating, review count, badge, availability labels, colors with their SKU ids and a marketplace flag. Also returns total, total_pages, applied filters and every facet with its values and counts. corrected_query reports an autocorrect; redirected_to reports a keyword the site sends to a listing. 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/jsonquerystringrequiredSearch keywords, 1-200 characters.
Example: jeans
brandstring | string[]Only this brand (or any of several), as the Brand facet lists it ("levi's", "nike", "st. john's bay").
Example: levi's
dealstring | string[]Only items with this Deals & Promotions label, as the facet lists it ("SALE", "CLEARANCE", "BIG BUY!"...).
Example: CLEARANCE
exactbooleanJCPenney narrows many keywords to a category on its own (jeans to the Jeans category, visible in applied_filters). true searches the keyword across every category instead.
pageintegerResults page, 1-based, 1-25. Defaults to 1. 48 products per page; a page past the last one returns an empty items list with the real total.
Example: 2
sortstringrelevance (default), new_arrivals, best_sellers, rating (highest rated first), price_low_to_high or price_high_to_low. The price orders are JCPenney's own and loose: sort the items by price yourself when you need a strict order.
colorstring | string[]Only this color (or any of several), as the Color facet lists it (black, blue, beige...).
Example: black
sizestring | string[]Only this size (or any of several), as the Size facet lists it (m, 12, 32x30...).
Example: 12
price_rangestring | string[]A Price Range facet value ("under $5", "$20 - $24"...).
Example: $20 - $24
filtersobjectAny facet from a previous response: {facets[].id: facets[].values[].value, or a list of values (any of them)}, e.g. {"gender": "women"}, {"store_availability": "same day pickup"}, {"average_rating": "4 rating"}. Several facets combine (AND).
Example: {"gender": "women", "rise": ["mid rise", "high rise"]}
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.jcpenney.search(query="jeans", deal="CLEARANCE")["data"]
print(res["total"], "items over", res["total_pages"], "pages")
for item in res["items"]:
print(item["id"], item["title"], item["regular_price"], item["price"], item["percent_off"], item["coupon_price"], item["coupon_code"])Response