JCPenney product search
Search the jcpenney.com catalog by keywords, or browse a category or brand, with every filter and sort the site offers. Each product has id, name, brand, link, images, price and price type (sale, clearance, original), list price, coupon price and code, final price after coupon, percent off, rating and review count, badges, clearance, online-only and store-pickup flags, same-day pickup availability, in-stock flag, description, and every color variant with its own price, sizes, image and link. The response also has every filter with values and counts (facets), matching categories and related searches. Use store to list only products available for pickup at one store. Pass next_page back as page; it is null on the last page.
Every response includes credits_used: the credits this call cost.
Part of the JCPenney API: 8 endpoints with prices, use cases and example responses.
Parameters
| name | type | description |
|---|---|---|
q | string | Search words. Optional when category or brand is given. Example: womens boots |
category | string | Category id from /jcpenney/v1/categories or categories[].id (e.g. cat100240063), or a jcpenney.com /g/ link with ?id=. Alone it browses the category; with q it narrows the search. |
brand | string | Brand name in lower case as in facets (e.g. nike); several separated by | (any of them). |
filters | string | More filters as name:value pairs separated by ; (several values of one name joined by |), using facets[].name and values, e.g. color:black;shoe_size:9|9 1/2;gender:women. |
min_price | number | Lowest price in USD. |
max_price | number | Highest price in USD. |
rating | integer | Minimum average star rating. |
store | string | JCPenney store number (from /jcpenney/v1/stores): only products available for pickup there. |
sort | relevance | new_arrivals | best_sellers | top_rated | price_high | price_low | Sort order (default relevance). |
page | integer | Page number (default 1). Example: 1 |
limit | integer | Products per page, 1 to 100 (default 24). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/jcpenney/v1/search?q=womens+boots&page=1" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/jcpenney/v1/search",
params={"q": "womens boots", "page": "1"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/jcpenney/v1/search");
url.searchParams.set("q", "womens boots");
url.searchParams.set("page", "1");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
Example response (real call, trimmed: lists cut to 2 items, long text shortened, raw left out)
{"query": "levis jeans","applied_filters": {"category": null,"brand": null,"filters": null,"min_price": null,"max_price": null,"rating": null,"store": null,"sort": "relevance"},"redirect": null,"total": 163,"page": 1,"count": 24,"items": [{"id": "ppr5007312143","name": "Levi's® Womens Mid Rise Classic Bootcut Jean","brand": "levi's","url": "https://www.jcpenney.com/p/levis-womens-mid-rise-classic-bootcut-jean/ppr5007312143?pTmplType=regular","image": "https://sc-images.jcpenney.com/JCPenney/DP0302202611063492M","images": ["https://sc-images.jcpenney.com/JCPenney/DP0302202611063388M","https://sc-images.jcpenney.com/JCPenney/DP68715944-20260716025135M","… 1 more"],"price": {"min": 54.99,"max": 54.99},"price_type": "SALE PRICE","list_price": {"min": 59.5,"max": 64.95},"coupon_price": null,"coupon_code": null,"final_price": {"min": 54.99,"max": 54.99},"percent_off": 7,"currency": "USD","rating": 4.24,"review_count": 754,"badges": [],"clearance": false,"online_only": false,"store_pickup": true,"store_availability": "same day pickup","in_stock": true,"description": "<p>Get a cool and laid-back '90s look with this throwback style. Our Classic Bootcut jeans are a modern take on a relaxed vintage fit, with …","variant_count": 1,"variants": [{"variation_id": "84309580034","name": "Levi's® Womens Mid Rise Classic Bootcut Jean - indigo light","color": "indigo light","sizes": ["4"],"image": "https://sc-images.jcpenney.com/JCPenney/DP0302202611063492M","price": null,"list_price": null,"url": "https://www.jcpenney.com/p/levis-womens-mid-rise-classic-bootcut-jean/ppr5007312143?pTmplType=regular"}],"sponsored": null},{"id": "ppr5008455437","name": "Levi's® Women’s Mid Rise 318 Shaping Wide Leg Jeans","brand": "levi's","url": "https://www.jcpenney.com/p/levis-womens-mid-rise-318-shaping-wide-leg-jeans/ppr5008455437?pTmplType=regular","image": "https://sc-images.jcpenney.com/JCPenney/DP75794726-20261105022505M","images": ["https://sc-images.jcpenney.com/JCPenney/DP75794697-20261105022449M","https://sc-images.jcpenney.com/JCPenney/DP75794738-20261105022505M"],"price": {"min": 64.99,"max": 64.99},"price_type": "SALE PRICE","list_price": {"min": 74.95,"max": 74.95},"coupon_price": null,"coupon_code": null,"final_price": {"min": 64.99,"max": 64.99},"percent_off": 13,"currency": "USD","rating": 4.5,"review_count": 1032,"badges": [],"clearance": false,"online_only": false,"store_pickup": true,"store_availability": "same day pickup","in_stock": true,"description": "<p>It's all in the name. Our supportive, soft 318 shaping wide-leg jeans lengthen your legs, hug your curves, and celebrate your features. P…","variant_count": 1,"variants": [{"variation_id": "84309220034","name": "Levi's® Women’s Mid Rise 318 Shaping Wide Leg Jeans - sasafras","color": "sasafras","sizes": [],"image": "https://sc-images.jcpenney.com/JCPenney/DP75794726-20261105022505M","price": null,"list_price": null,"url": "https://www.jcpenney.com/p/levis-womens-mid-rise-318-shaping-wide-leg-jeans/ppr5008455437?pTmplType=regular"}],"sponsored": null},"… 22 more"],"facets": [{"name": "store_availability","label": "Store Availability","values": [{"value": "same day pickup","label": "same day pickup","count": 155},{"value": "online only","label": "online only","count": 26}]},{"name": "s1_deals_and_promotions","label": "Deals & Promotion","values": [{"value": "SALE","label": "SALE","count": 69},{"value": "CLEARANCE","label": "CLEARANCE","count": 44},"… 2 more"]},"… 42 more"],"categories": [{"id": "cat1007680004","name": "under $20","count": 163},{"id": "cat1007680003","name": "under $15","count": 163},"… 113 more"],"related_searches": ["levis 505","levis jeans men","… 5 more"],"sort_options": ["relevance","new_arrivals","… 4 more"],"next_page": 2,"cached": false,"credits_used": 1}