To get JCPenney clearance prices programmatically, use Scavio's JCPenney API. POST /api/v1/jcpenney/deals with type: "clearance" returns the jcpenney.com Clearance list, 48 items a page, each with the clearance price range, original price, percent off, today's coupon code and the price after it. /coupons lists today's public codes with their dates and exclusions, /product returns the price block and every SKU with its online stock, /store-availability counts the units of one SKU at the 5 nearest stores to a ZIP, and /reviews and /questions return a product's review text and Q&A. Every JCPenney call costs 1 credit, $1 per 1,000 requests on the Growth plan.
Every response below was captured on November 10, 2026, the second-to-last day of JCPenney's "Biggest Sale of the Season" and its 2HONOR code, and ten days before the Black Friday Deals that JCPenney schedules for November 20-29. Prices are US dollars from jcpenney.com; the API covers the US site, Puerto Rico stores included. The price and stock calls took 0.6 to 24.2 seconds, the longest a Black Friday listing and one store availability check, so give your client a timeout of at least 90 seconds for those. Reviews and questions (Step 10) are slower, usually 15 to 90 seconds and up to about 3 minutes, so allow 240 seconds there.
Step 1: Pull the JCPenney clearance list
curl -s https://api.scavio.dev/api/v1/jcpenney/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "clearance"}'The Clearance list came back in 5.6 seconds: 7,662 items, 25 pages of 48 reachable. The header, the first item and the Store Availability facet, as captured (2 colors and 9 other facets trimmed):
{
"type": "clearance",
"labels": ["CLEARANCE"],
"department": null,
"total": 7662,
"page": 1,
"total_pages": 25,
"per_page": 48,
"max_pages": 25,
"sort": "relevance",
"count": 48,
"applied_filters": [
{ "facet": "s1_deals_and_promotions", "label": "Deals & Promotions", "value": "CLEARANCE", "value_label": "CLEARANCE" }
],
"currency": "USD",
"items": [
{
"id": "ppr5008660235",
"title": "Liz Claiborne Womens Crew Neck Short Sleeve Blouse",
"brand": "Liz Claiborne",
"url": "https://www.jcpenney.com/p/liz-claiborne-womens-crew-neck-short-sleeve-blouse/ppr5008660235",
"image": "https://sc-images.jcpenney.com/JCPenney/DP0119202617023549M",
"sku_id": "81401690034",
"price": 13.19,
"price_max": 17.59,
"regular_price": 44,
"regular_price_max": null,
"price_type": "clearance",
"percent_off": 70,
"price_in_cart": false,
"deal_label": null,
"coupon_price": 11.87,
"coupon_price_max": 15.83,
"coupon_code": "2HONOR",
"rating": 3.8,
"review_count": 5,
"badge": "Few Left",
"availability_label": ["Unavailable for Pickup", "Available for Shipping"],
"colors": [
{ "name": "Black", "sku_id": "81401690232" },
{ "name": "Peach Whip", "sku_id": "81401690034" }
],
"is_marketplace": false,
"seller": null,
"currency": "USD"
}
],
"facets": [
{
"id": "store_availability",
"label": "Store Availability",
"values": [
{ "label": "online only", "value": "online only", "count": 1498, "selected": false },
{ "label": "same day pickup", "value": "same day pickup", "count": 1110, "selected": false }
]
}
]
}price and price_max are the clearance range across the product's colors and sizes, and percent_off is measured at the low end against regular_price. coupon_price is the price after coupon_code, here 2HONOR, which takes an extra 10% off clearance. 33 of the 48 items on this page had one; the 15 without were Nike, Levi's, Lee and Effy fine jewelry, which the code's terms exclude, and a Skechers backpack. Walk the list with "page": 2 and on; a page past the last returns an empty list with the real total. 25 pages stop at 1,200 items, so read a 7,662-item list in facet slices (Step 2).
Step 2: Slice clearance by pickup, brand, category or keyword
Any facet value from a response works in filters:
curl -s https://api.scavio.dev/api/v1/jcpenney/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "clearance", "filters": {"store_availability": "same day pickup"}}'That returned 1,110 items over 24 pages in 7.5 seconds. deal: "CLEARANCE" does the same on search, brand and category:
curl -s https://api.scavio.dev/api/v1/jcpenney/brand \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"brand": "St. John'\''s Bay", "deal": "CLEARANCE"}'St. John's Bay had 173 clearance items over 4 pages, and all 48 on page 1 carried a 2HONOR price, the deepest a men's big and tall chambray shirt at $7.19 against $48, 85% off and $6.47 with the code. /category with {"path": "/g/women/tops?id=cat100210006", "deal": "CLEARANCE"} returned 728 women's tops, 25 of the first 48 with a coupon price, and /search with {"query": "sweater", "deal": "CLEARANCE", "filters": {"store_availability": "same day pickup"}} returned 16. Brand names are spelled as the Brand facet lists them; category paths come from a jcpenney.com URL or a response's breadcrumbs. sort takes relevance, new_arrivals, best_sellers, rating, price_low_to_high or price_high_to_low; the price orders are JCPenney's own and loose, so sort by price on your side when you need a strict order.
Step 3: List today's JCPenney coupon codes
curl -s https://api.scavio.dev/api/v1/jcpenney/coupons \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'7 offers in 1.2 seconds, 2 with a code (both disclaimers cut short here; the response carries them in full):
{
"count": 7,
"codes": 2,
"coupons": [
{
"code": "2HONOR",
"channel": "online",
"headline": "BIGGEST SALE OF THE SEASON! - EXTRA 20% OFF ANY OTHER WAY YOU PAY",
"details": "select apparel, shoes, accessories",
"offers": [
{ "headline": "BIGGEST SALE OF THE SEASON! - EXTRA 20% OFF ANY OTHER WAY YOU PAY", "details": "select apparel, shoes, accessories" },
{ "headline": "EXTRA 30% OFF WITH YOUR JCPENNEY CREDIT CARD OR JCPENNEY MASTERCARD", "details": "select apparel, shoes, accessories" },
{ "headline": "EXTRA 30% OFF ANY WAY YOU PAY", "details": "select bedding, bath, curtains" }
],
"starts_at": "2026-11-05T00:00:00-06:00",
"ends_at": "2026-11-11T23:59:59-06:00",
"disclaimer": "*Extra 30% off select original, regular and sale-priced bedding, bath and curtain purchase any way you pay. Extra 30% off select original, regular and sale-priced apparel, shoes and accessories purchase with your JCPenney Credit...",
"url": "https://www.jcpenney.com/g/shops/shop-all-products?s1_deals_and_promotions=SALE&id=cat1007450013"
},
{
"code": "ADDCOLOR",
"channel": "online",
"headline": "EXTRA 10% OFF",
"details": "select JCPenney Beauty & Salon products",
"offers": [
{ "headline": "EXTRA 10% OFF", "details": "select JCPenney Beauty & Salon products" }
],
"starts_at": "2026-11-01T00:00:00-05:00",
"ends_at": "2026-11-30T23:59:59-06:00",
"disclaimer": "*Extra 10% off select JCPenney Beauty or Salon product, Clearance, Deal Edit, Limited-Time Deals** and Specials purchase...",
"url": "https://www.jcpenney.com/d/beauty"
}
]
}The full 2HONOR disclaimer is the "jcpenney coupon" answer in one field: extra 20% off select apparel, shoes and accessories, 30% with a JCPenney card, 30% off bedding, bath and curtains, "Extra 10% off select home, salon products, JCPenney Beauty, Clearance, Deal Edit, Limited-Time Deals** and Specials", and a long exclusion list that starts "Does not apply to Best Value, Aéropostale, ArtCarved Personalized Jewelry, Athletic Shoes" and runs through Nike, Levi's, Fine Jewelry, Furniture and Mattresses. The other five offers were in-store versions of the same two plus salon and portrait offers with code: null. The listing prices in Steps 1 and 2 already apply the right tier: on the first 48 items of the Sale list, 45 had a 2HONOR price, 30 of them 20% under the sale price, 12 at 30% (bedding, bath, curtains and throws) and 3 at 10%.
Step 4: Read the price block and every SKU
curl -s https://api.scavio.dev/api/v1/jcpenney/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "ppr5008660235"}'The blouse from Step 1, in 8.3 seconds (description, features, images, breadcrumbs and 12 of 14 variants trimmed):
{
"id": "ppr5008660235",
"title": "Liz Claiborne Womens Crew Neck Short Sleeve Blouse",
"brand": "Liz Claiborne",
"url": "https://www.jcpenney.com/p/liz-claiborne-womens-crew-neck-short-sleeve-blouse/ppr5008660235",
"category": { "id": "cat100210006", "name": "tops" },
"product_type": "Shirts + Tops",
"item_type": "Blouses",
"rating": 3.8,
"review_count": 5,
"question_count": 2,
"answer_count": 2,
"price": {
"current_min": 13.19,
"current_max": 17.59,
"regular_min": 44,
"regular_max": 44,
"sale_min": null,
"sale_max": null,
"clearance_min": 13.19,
"clearance_max": 17.59,
"percent_off": 70,
"percent_off_min": 60,
"price_type": "clearance",
"deal_label": null,
"coupon": { "code": "2HONOR", "price_min": 11.87, "price_max": 15.83 },
"starts_at": "2026-11-10T06:00:00.000Z",
"ends_at": "2026-11-11T05:59:59.000Z",
"currency": "USD"
},
"variant_count": 14,
"variants": [
{
"sku": "81401690034",
"upc": "198276247783",
"color": "Peach Whip",
"size": "x-small",
"options": { "size_range": "misses", "size": "x-small", "color": "Peach Whip" },
"lot_id": "8140169",
"status": "AvailableLow",
"online_stock": "low",
"max_quantity": 8
},
{
"sku": "81401690067",
"upc": "198276247790",
"color": "Peach Whip",
"size": "small",
"options": { "size_range": "misses", "size": "small", "color": "Peach Whip" },
"lot_id": "8140169",
"status": "Available",
"online_stock": "high",
"max_quantity": 8
}
],
"is_marketplace": false,
"channel": "Omnichannel",
"in_store_pickup": false,
"can_add_to_cart": true,
"currency": "USD"
}starts_at and ends_at are the price window: this clearance price ran from midnight to 11:59 pm Central on November 10, so a tracker should re-read every day. Prices here are ranges for the whole product, not a price per size or color, so variants[] carries the SKU, UPC, size, color and online stock (high or low), not a price. in_store_pickup is the product's own pickup flag, and it is the one to trust over the listing label (Step 6). The product carries the counts (review_count, question_count, answer_count); the review text and the questions with their answers come from /reviews and /questions (Step 10).
Step 5: Find the stores near a ZIP
curl -s https://api.scavio.dev/api/v1/jcpenney/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "75024"}'6 stores within the default 25 miles of Plano, Texas, nearest first: Stonebriar Mall in Frisco at 1.4 miles, store 2795, then Fairview, Flower Mound, Denton, Mesquite and Rockwall at 24 miles. Each came with address, phone, coordinates, the week's hours (Monday 10:00 to 20:00 at Stonebriar), timezone, services ("Curbside Pickup", "jewelry", "Mattresses", "JCPenney Beauty", "portrait studio", "salon"), curbside and in-store pickup directions ("See an associate in the MENS DEPARTMENT on the 2nd Floor"), bookable appointments (Sephora, salon) and the store page URL. city with state, or lat with lng, work instead of zip.
Step 6: Count units in stock at the 5 nearest stores (jcpenney in stock)
Send one SKU and a ZIP:
curl -s https://api.scavio.dev/api/v1/jcpenney/store-availability \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sku": "05195800018", "zip": "75024"}'A Bulova men's chronograph from the Black Friday Deal list (Step 7), $180 against $450, in 24.2 seconds (3 of 5 stores trimmed):
{
"sku": "05195800018",
"location": { "zip": "75024" },
"radius": 25,
"in_stock_only": false,
"count": 5,
"stores_with_stock": 3,
"total_quantity": 9,
"stores": [
{
"store_id": "2795",
"name": "Stonebriar Mall",
"address": "2607 Preston Rd",
"city": "Frisco",
"state": "TX",
"zip": "75034",
"phone": "972-712-2707",
"lat": 33.09948,
"lng": -96.80954,
"distance_miles": 1.4,
"quantity": 0,
"status": "not_stocked",
"stocked": false,
"updated_at": null
},
{
"store_id": "2982",
"name": "Fairview Town Center",
"address": "301 Stacy Rd",
"city": "Fairview",
"state": "TX",
"zip": "75069",
"phone": "972-549-4094",
"lat": 33.13107,
"lng": -96.64784,
"distance_miles": 10,
"quantity": 3,
"status": "in_stock",
"stocked": true,
"updated_at": "2026-11-10T17:43:36Z"
}
]
}Flower Mound and Denton had 3 each and Mesquite none: 9 units at 3 of the 5 stores, and none at the closest one. A St. John's Bay mid-rise straight-leg jean in Rinse, size 6 (SKU 84630160042, $19.99 on sale, $15.99 with 2HONOR) had 2 units each at Frisco, Fairview and Mesquite. Each store also carries its hours. Take the SKU from variants[].sku (Step 4) or a listing's sku_id; in_stock_only: true drops the stores with none.
Read a listing's pickup label as a hint, not an answer. 8 clearance SKUs from the same-day-pickup slice in Step 2, each tile labeled "FREE Same Day Pickup", came back with 0 units at all 5 nearest stores in 10 checks around Plano (75024), Los Angeles (90012), Chicago (60601) and Atlanta (30303), and the two clearance products we opened in Step 4 had in_store_pickup: false. Counts are what the site shows at that moment; the list is always the 5 nearest stores.
Step 7: Watch the JCPenney Black Friday deals
curl -s https://api.scavio.dev/api/v1/jcpenney/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "black_friday"}'10,769 items carried the "BLACK FRIDAY DEAL!" label on November 10, ten days before the event starts, in 22.3 seconds. Page 1 was lab-grown diamonds, gold chains, Signature Design by Ashley furniture and Sealy mattresses, at 42% to 88% off regular prices such as $12,499.98, and none of the 48 carried a coupon price, since 2HONOR excludes fine jewelry, furniture and mattresses. Seasonal labels list nothing once the event ends, and JCPenney's holiday release lists the windows: Holiday Daily Deals November 16-19, Black Friday Deals November 20-29 and Price Lock December 1-25. Add department (a dept... or cat... id) or brand to narrow it.
Step 8: Build a JCPenney price tracker
jcpenney.com shows no price history, and no API can return prices from before you started recording them. The homepage itself says "Clearance percentages are based on regular and original prices. Intermediate markdowns may have been taken." A tracker is a daily loop over Step 1 or Step 2 that stores each row with the date:
import os, sqlite3, requests
from datetime import date
db = sqlite3.connect("jcpenney_clearance.db")
db.execute("""CREATE TABLE IF NOT EXISTS clearance (
day TEXT, id TEXT, title TEXT, price REAL, price_max REAL, regular REAL,
percent_off INTEGER, coupon_price REAL, coupon_code TEXT,
PRIMARY KEY (day, id))""")
today, page, pages = date.today().isoformat(), 1, 1
while page <= pages:
r = requests.post(
"https://api.scavio.dev/api/v1/jcpenney/brand",
headers={"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}"},
json={"brand": "St. John's Bay", "deal": "CLEARANCE", "page": page},
timeout=120,
)
r.raise_for_status()
data = r.json()["data"]
pages = data["total_pages"]
for it in data["items"]:
db.execute(
"INSERT OR REPLACE INTO clearance VALUES (?,?,?,?,?,?,?,?,?)",
(today, it["id"], it["title"], it["price"], it["price_max"], it["regular_price"],
it["percent_off"], it["coupon_price"], it["coupon_code"]),
)
page += 1
db.commit()That is 4 pages, 4 credits a day, for the 173 St. John's Bay clearance items on November 10. A new id is a new markdown; a lower price or coupon_price on an id you already have is a further markdown, and a coupon_code that changes tells you a new code has started. For a handful of items you care about, send up to 20 ids at once to /product as product_ids, still 1 credit: four products came back in one 14.6-second call, with not_found listing any id that no longer exists.
Step 9: Pull search suggestions
curl -s https://api.scavio.dev/api/v1/jcpenney/suggestions \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "clearance"}'13 completions, each with its search URL, the first five:
{
"query": "clearance",
"count": 13,
"suggestions": [
{ "term": "clearance", "url": "https://www.jcpenney.com/s?searchTerm=clearance", "departments": [] },
{ "term": "clearance women", "url": "https://www.jcpenney.com/s?searchTerm=clearance%20women", "departments": [] },
{ "term": "clearance womens socks", "url": "https://www.jcpenney.com/s?searchTerm=clearance%20womens%20socks", "departments": [] },
{ "term": "clearance bath towels", "url": "https://www.jcpenney.com/s?searchTerm=clearance%20bath%20towels", "departments": [] },
{ "term": "clearance baby girl", "url": "https://www.jcpenney.com/s?searchTerm=clearance%20baby%20girl", "departments": [] }
]
}The rest included "clearance christmas", "clearance women boots" and "clearance shoes": what shoppers type into the search box, which is a cheap way to pick the slices worth tracking.
Step 10: Read the reviews and the questions
/reviews takes a product id or URL, a sort (most_recent by default, most_helpful, highest_rating, lowest_rating or relevance), an optional rating from 1 to 5 and max_reviews from 8 to 98 (38 by default):
curl -s --max-time 240 https://api.scavio.dev/api/v1/jcpenney/reviews \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "ppr5008604049", "sort": "most_helpful"}'The St. John's Bay jean from Step 6, 38 reviews in 154 seconds, as captured (37 reviews trimmed and the first one's text cut short):
{
"product_id": "ppr5008604049",
"total_reviews": 163,
"displayed_reviews": 163,
"average_rating": 4.04,
"rating_distribution": { "1": 21, "2": 9, "3": 12, "4": 21, "5": 100 },
"recommended_percent": 78,
"secondary_ratings_averages": {
"Value": { "average": 4.42, "max": 5 },
"Apparel": { "average": 3.24, "max": 5 },
"Quality": { "average": 4.27, "max": 5 }
},
"photo_count": 3,
"sort": "most_helpful",
"rating_filter": null,
"matching_reviews": 163,
"count": 38,
"reviews": [
{
"id": "252797047",
"rating": 1,
"title": "The fit has changed and isn't good.",
"text": "I've been wearing these St. John's Bay jeans for over 6 years and loved them. This year I bought 3 new pairs and was very disappointed to find that the fit has changed. ...",
"author": "Can25",
"location": "Pueblo, Co",
"submitted_at": "2026-07-14T16:06:34+00:00",
"updated_at": "2026-11-10T05:24:37+00:00",
"recommended": false,
"helpful_votes": 68,
"unhelpful_votes": 0,
"verified_purchaser": false,
"incentivized": false,
"syndicated": false,
"syndication_source": null,
"photos": [],
"videos": [],
"secondary_ratings": {
"Value": { "value": 5, "max": 5, "min_label": null, "max_label": null },
"Apparel": { "value": 3, "max": 5, "min_label": null, "max_label": null },
"Quality": { "value": 4, "max": 5, "min_label": null, "max_label": null }
},
"brand_response": null,
"original_product_name": "St. John's Bay Womens Mid Rise Straight Leg Jean"
}
]
}The average says 4 stars and 100 of 163 reviews are 5 stars, but 5 of the 10 most helpful are 1- and 2-star reviews about the fit, 4 of them from long-time buyers saying it changed this year, which a rating and a count alone would not show. 28 of the 38 were marked incentivized. Three counts mean different things: total_reviews counts every language, displayed_reviews the English reviews JCPenney lists and pages through, and matching_reviews the ones left under your sort and star filter. On a Ninja Crispi 4-in-1 air fryer (ppr5008531045) they were 1,395 and 725, and all 8 of the newest reviews were syndicated, 6 from sharkninja.com and 2 from influenster.com; 5 of them carried a brand_response from SharkNinja with its name, department, text and date. Reviewer age, gender and IP addresses are never returned.
/questions takes the same product id or URL and max_questions from 10 to 50, 10 by default, in JCPenney's own order (there is no sort):
curl -s --max-time 240 https://api.scavio.dev/api/v1/jcpenney/questions \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "ppr5008212471"}'A Liz Claiborne 575TC sheet set, in 63 seconds (9 of 10 questions trimmed):
{
"product_id": "ppr5008212471",
"total_questions": 57,
"total_answers": 45,
"count": 10,
"questions": [
{
"id": "8281853",
"question": "does the split king set fit motion bed",
"details": null,
"author": "madfinger",
"submitted_at": "2026-10-10T16:28:24+00:00",
"answer_count": 1,
"helpful_votes": 0,
"answers": [
{
"id": "7910232",
"text": "Yes, the split king set is designed to work well on adjustable or motion beds.",
"author": "Manojna",
"author_type": "retailer",
"ai_label": "AI-Assisted",
"is_best_answer": false,
"submitted_at": "2026-10-15T11:17:34+00:00",
"helpful_votes": 0,
"unhelpful_votes": 0
}
]
}
]
}author_type is brand for the manufacturer's product experts, retailer for JCPenney staff, ai for AI-generated answers and customer for shoppers, and ai_label carries JCPenney's own label. Of the 10 answers on this page, 6 were ai and labeled "AI-Generated", and 4 came from JCPenney staff, 2 of them labeled "AI-Assisted"; no shopper had answered. Read both fields before you treat an answer as a person's. Each call is 1 credit, and a render that fails is not charged.
All 11 endpoints
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/jcpenney/deals | Clearance, Sale, Black Friday, Big Buy, Limited Time Special, Best Value, Gotta Have It, Closeout, Buy 1 Get 1 or any label, 48 items a page with price range, original price, percent off, coupon code and after-coupon price, rating, review count, badge, pickup label and every facet | 1 |
/api/v1/jcpenney/search | Keyword search, the same grid; brand, deal, color, size, price range and facet filters, 6 sorts; corrected_query and redirected_to when the site changes the keyword | 1 |
/api/v1/jcpenney/category | One category by path or URL, the same grid and filters, plus name and breadcrumbs | 1 |
/api/v1/jcpenney/brand | One brand by name or URL, the same grid and filters | 1 |
/api/v1/jcpenney/product | One product, or up to 20 by product_ids: price block with regular, sale and clearance ranges, coupon and price window, rating, review and question counts, channel, pickup flag and every variant with SKU, UPC, color, size and online stock | 1 |
/api/v1/jcpenney/stores | Stores near a ZIP, city and state or a point, within 25 miles by default: id, address, phone, distance, hours, services, pickup directions, appointments | 1 |
/api/v1/jcpenney/store-availability | One SKU at the 5 nearest stores to a ZIP: quantity, status, when it was counted, address, phone, distance and hours; total units and stores with stock | 1 |
/api/v1/jcpenney/suggestions | The search box's completions, with department refinements where JCPenney offers them | 1 |
/api/v1/jcpenney/coupons | Today's public coupons: code, channel, headline, offers, start and end time, full disclaimer and the eligible-products URL | 1 |
/api/v1/jcpenney/reviews | Up to 98 reviews of one product, 5 sorts and a 1-5 star filter: text, title, author, location, dates, votes, verified purchaser, incentivized, syndicated with source, photos, videos, secondary ratings and the brand's response; total, displayed and matching counts, distribution and averages. 15-90 seconds, up to about 3 minutes | 1 |
/api/v1/jcpenney/questions | Up to 50 questions of one product with every answer: author, author_type (brand, retailer, ai, customer), ai_label, best-answer flag, dates and votes; total questions and answers. 15-90 seconds, up to about 3 minutes | 1 |
What the API does not return: price history (start polling to build one), more than 98 reviews or 50 questions of a product in one call, a sort on questions, reviewer age, gender or IP addresses, a price per size or color, an online unit count, in-store pink-tag markdowns, account offers, card pricing beyond the public text, Rewards balances, checkout, and anything outside jcpenney.com in the United States. Coupon codes do not apply to marketplace items, which JCPenney's terms say. For a side-by-side of every JCPenney data option, see the best JCPenney clearance tracker APIs; for checking whether a code is live and what an item costs with it, see any JCPenney coupon right now?. The JCPenney API overview and the deals docs list every parameter. Try the JCPenney API free, 50 credits, no card.
Frequently asked questions
How do I get JCPenney clearance prices with an API?
Call Scavio's /api/v1/jcpenney/deals with type clearance. Each of the 48 items on a page comes back with the clearance price range, the original price, percent off, the coupon code and the price after it, rating, review count, a badge and a pickup label. On November 10, 2026, the Clearance list held 7,662 items; the same-day-pickup facet narrowed it to 1,110.
How do I see the JCPenney price after coupon?
Every listing item and every product carries it. On a listing it is coupon_price (and coupon_price_max for a range) with coupon_code; on a product it is price.coupon with code, price_min and price_max. On November 10, 2026, a Liz Claiborne blouse on clearance at $13.19 to $17.59 came back with 2HONOR at $11.87 to $15.83. Items the code excludes, such as Nike, have none.
Which JCPenney coupon codes work today?
Scavio's /api/v1/jcpenney/coupons lists the public offers on jcpenney.com's coupon page with code, channel, start and end time and the full disclaimer. On November 10, 2026 it returned 7 offers, 2 with a code: 2HONOR, valid November 5-11, and ADDCOLOR, valid November 1-30. Account offers, card-only mailers and Rewards balances are not included.
Will JCPenney be open on Black Friday?
JCPenney's November 2, 2026 holiday release schedules Black Friday Deals from November 20 to 29 and in-store giveaways at 5 a.m., 9 a.m., 1 p.m. and 5 p.m. on November 27. For one store's regular hours, Scavio's /api/v1/jcpenney/stores returns each store's weekly hours; check the store page for holiday hours.
Can I get JCPenney reviews and Q&A with an API?
Yes. Scavio's /api/v1/jcpenney/reviews returns review text for one product, up to 98 a call, sorted most recent, most helpful, highest or lowest rating, or relevance, with an optional 1-5 star filter, plus verified purchaser, incentivized and syndicated flags and the brand's public response. /api/v1/jcpenney/questions returns the questions with every answer, each marked brand, retailer (JCPenney staff), ai or customer, with JCPenney's AI-Generated or AI-Assisted label. Each is 1 credit but slower than the other endpoints, usually 15-90 seconds.
How much does JCPenney data cost with Scavio?
All 11 JCPenney endpoints cost 1 credit a call, reviews and questions included, $1 per 1,000 requests at the Growth rate of $1 per 1,000 credits. A batch of up to 20 products is still one call. New accounts get 50 free credits with no card.