JCPenney Data Extraction: Lots, SKUs and Markdowns

Every JCPenney item hangs off a seven-digit lot number, and each color and size gets that lot plus four more digits, so one St. John's Bay style stays joinable season after season.

JCPenney Scraper
Solutions

How we deliver JCPenney price data and product feeds

ScrapeIt runs the whole JCPenney pipeline as a managed service. We seed from the sitemap shards and the gallery facets, resolve every lot to its color and size SKUs, pull the pricing and inventory calls the page makes, and reconcile the cart price before anything reaches you. The storefront is closed to plain automated clients and answers only from US networks, so anti-bot handling, proxy rotation and CAPTCHA solving are part of the service, not an extra you have to arrange.

Delivery is yours to choose: CSV, JSON, JSONL, XLSX or Parquet, dropped to S3, GCS, FTP or a webhook, or served through a ScrapeIt API you query on demand. Runs go hourly, daily or weekly; price and stock can move on a faster clock than descriptions and images. Every batch is checked for field coverage, price sanity and SKU continuity, and a named engineer answers when the site changes - which, mid-markdown cycle, it does.

What a JCPenney scraper pulls from a lot and its variant SKUs

A JCPenney product page is built around a lot, not a single item. The header prints a seven-digit item number - webId in the page data - and every color and size combination is that lot with four more digits appended. A variant SKU is always the parent lot plus a four-digit tail, so JCPenney data rolls up to style level and splits back to SKU level without a lookup table.

The structured block is a ProductGroup: productGroupID in ppr form, brand as an organization, a category label such as belts, variesBy set to color and size, a return policy link and a hasVariant list. Each variant spells its color and size into the name and carries sku, url, color, size, images and an offer with price, currency and availability. A breadcrumb names the department and gallery it sits under.

Fields we extract from JCPenney product pages:

  • Identity - ppr product id, enr enrichment id, seven-digit lot or webId, variant SKU, parent category id, canonical path and breadcrumb trail.
  • Naming and badges - product name, brand, department, gallery, item type and the badge array, including the only-at-JCP flag that marks a private brand, plus new-arrival and low-stock flags.
  • Variants - the color sequence with a swatch and a hero image per color, the size ladder, and the price and stock state that belong to each color-size SKU rather than to the style.
  • Copy and specs - the description and its bulleted attributes: fabric description, base material, fiber content, care wording, country of origin, features and measured dimensions such as belt length.
  • Media - the Scene7 gallery, alternate shots and color swatches, addressed as image ids with render policy and pixel size in the query.
  • Ratings and questions - average score, review count, question count and answer count.
  • Fulfillment - store pickup eligibility, curbside wording, the selected store and the shipping and returns block.

Prices are the one thing the markup does not hand over. The offer shipped with the page carries a placeholder amount and an out-of-stock state; the real JCPenney price and stock land afterwards from the pricing and inventory services. A fetch that trusts the first payload marks every item unavailable at zero.

What a JCPenney scraper pulls from a lot and its variant SKUs
Coupons, cart price and the gap between the shelf and the checkout

Coupons, cart price and the gap between the shelf and the checkout

Department store pricing is layered, and JCPenney stacks every layer. A style shows a regular price and a sale price; on top sit coupon tiles from the content service, promo codes announced with a plain "with code" line, a site-wide countdown timer, rewards points, a store card offer and installments through Klarna. The number on the tile is often not the number you pay, so a JCPenney scraper that reads only the shelf price overstates the market. We record shelf price, sale price, the coupon and code attached to the item, and the price the cart settles on, so markdown tracking reflects what a shopper is charged.

Availability splits the same way. An item can be shippable, sold in store only, eligible for store pickup or curbside, and the answer changes with the store the visitor has selected - which is set by ZIP code, not by account. We collect online stock per SKU and, where you need it, store-level stock for a named list of ZIP codes.

Coverage comes from the facets. A gallery page returns fixed blocks and stops well before a large category is exhausted, so a department is covered by slicing it: brand, color, size, gender, item type, product type, features, occasion, age group, size range and the clearance flag, each a real query parameter with its own sitemap entry. Site search is closed to crawlers in robots, so galleries and sitemap shards, not the search box, are the honest route to a complete JCPenney product feed. Reviews arrive as an average score with review, question and answer counts; reviewer names are personal data and we leave them out.

How the JCPenney catalog is addressed after the Catalyst Brands merger

JCPenney is a mid-market US department store chain with more than 650 stores and a single national storefront at jcpenney.com. Since January 2025 it has belonged to Catalyst Brands, the group that currently also holds Aeropostale, Brooks Brothers, Eddie Bauer, Lucky Brand and Nautica, and Aeropostale has since appeared inside the JCPenney brand directory next to Nike, Jessica Simpson and Rebecca Minkoff. The storefront serves US shoppers only: a visitor from another country is told the shopping experience is not available there, so a JCPenney scraper has to reach the catalog through US exit points before it reads a single field.

The address scheme has three tiers and it is stable. Department hubs sit under /d/ - women, men, young-adult, baby-kids, shoes, jewelry-and-watches, beauty, home-store, toys-and-games, clearance. Browsable galleries sit under /g/ and always carry a numeric category key, as in /g/women/activewear/capri-leggings with id=cat11100016781. A product lives at /p/ plus a name slug and a ppr identifier, normally with pTmplType=regular and often an enrId that pins the enrichment record. Older prod.jump and cat.jump addresses from the previous site design are still in circulation, which matters when you inherit a stale JCPenney product list and want it mapped to current pages.

The declared sitemap at /sitemap.xml is an index of about sixty files: a dozen productDetail shards carrying roughly ten thousand product addresses each, category and facet trees per department, and separate globalnav, marketing and staticpage files. Every product entry ships with an image block pointing at the Scene7 render, so the sitemap works as a seed list for JCPenney scraping rather than as an afterthought.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

Why private label brands change assortment analytics

Private brands are the reason a JCPenney price scraper cannot be swapped for a scraper aimed at any other department store. St. John's Bay, Liz Claiborne, Arizona, Worthington, Stafford, Xersion, a.n.a, mixit, JF J.Ferrar and Peyton & Parker are sold here and nowhere else. No competitor carries the same style, so there is no second listing to match against and no market price to average. The only price history that exists for those goods is the one JCPenney publishes, and the only way to hold it is to record it yourself, day after day.

That changes what the data is for. On national brands you compare JCPenney against other sellers of the same item. On own brands you compare JCPenney against itself: how deep the first markdown goes, how long a style survives before clearance, which sizes die first, what price ladder a category is built on. The badge that marks an own brand lets you cut the catalog cleanly in two and read the halves separately - share of assortment, average ticket, discount depth, size range, review volume.

The stakes are not small. St. John's Bay ranks first in sales across the whole JCPenney portfolio, ahead of national labels including Nike and Levi's, and Liz Claiborne is marking fifty years on the floor. For a buyer, a merchandiser or a brand watching mid-market America, US retail price monitoring on a JCPenney department store product feed is the only public window onto how a private label portfolio is priced, sized and rotated.

Related Case Studies

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.

Learn More about The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days
The Lowest Allegro Prices from 150K Eans Collected

The Lowest Allegro Prices from 150K Eans Collected

Daily scraping of lowest prices for 150K products on Allegro.pl to support marketplace pricing and margin optimization.

Learn More about The Lowest Allegro Prices from 150K Eans Collected
Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Regular monitoring of Ralph Lauren clothing, footwear, and accessories sold across Amazon subdomains: AE, DE, ES, FR, IT, NL, PL, UK.

Learn More about Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset
Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

6 E-Commerce Sites Like eBay to Scrape in 2026

6 E-Commerce Sites Like eBay to Scrape in 2026

If you sell online, run a marketplace, or advise e-commerce clients, you already know why eBay matters: it’s one of the few places where big retailers compete side by side with thousands of small merchants and private sellers.

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

E-commerce teams do not just need “some” competitor data anymore. They need a continuous stream of real prices, discounts, stock levels, reviews, and seller behavior from the platforms that actually shape their markets.

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

Amazon provides valuable information gathered in one place: products, reviews, ratings, exclusive offers, news, etc. So scraping data from Amazon will help solve the problems of the time-consuming process of extracting data from e-commerce.

scrapeit logo

Working with ScrapeIt on US department store data

ScrapeIt is a managed web scraping agency. You describe the fields and the cadence; we build the crawler, run it, watch it and fix it when the target moves. There is no library to install and no proxy bill to manage.

We collect what is public. Nothing behind a login, no personal data on shoppers or reviewers, no scraping of pages a site closes to crawlers. Start with a sample extract from a category you care about, check it against the live pages yourself, and scale the JCPenney feed once the schema is right.

FAQ

Does JCPenney have a public API for product data?

No. JCPenney publishes no documented product API for outside developers. The storefront runs on internal services - a browse and product aggregator, a pricing service and an inventory service - and each product page points at its own inventory and additional-details sub-resources, but those endpoints are undocumented, unversioned for outsiders and closed to traffic that is not the site itself. What we deliver is our own JCPenney API and scheduled files built from the public pages, with a schema we agree with you and keep stable when the site changes.

Which fields can you extract from a JCPenney product page?

Product name, brand, the seven-digit lot number, the ppr product id, every color-size variant SKU, colors with swatch images, the size ladder, regular price, sale price, coupon or promo code, stock state per SKU, store pickup eligibility, the full image gallery, breadcrumb and category ids, the description with its bulleted attributes - fabric, base material, care, country of origin, features and measured dimensions - and the rating summary with review, question and answer counts. If a field is on the page or in the calls the page makes, we can extract it.

How do you handle coupons and the price that only appears in the cart?

We capture the layers separately rather than flattening them. The regular price and the sale price come off the item, the coupon tile and the promo code come from the offer service, and the final figure is confirmed by taking the item to the cart. You get all of them as distinct fields, so a markdown report can show list, shelf and paid price side by side. That matters on JCPenney more than on most retailers, because coupon-driven discounts sit on top of an already reduced ticket and a shelf-only reading exaggerates the price by a wide margin.

Can you track JCPenney stock at store level, not just online?

Yes. Availability on the site is resolved against a selected store, and the store is chosen by ZIP code rather than by account, so we run the same catalog against a list of ZIP codes you supply and return stock per SKU per store, along with the store pickup and curbside flags. Online-only items and store-only items are labeled as such. The cost of store-level coverage scales with the number of ZIP codes, so most clients start with a competitive set of markets and widen once the schema proves out.

How often is JCPenney data refreshed, in what formats, and what do you not collect?

Refresh is yours to set: hourly for price and stock during a promotion, daily for a broad catalog sweep, weekly for descriptions and images. Formats are CSV, JSON, JSONL, XLSX or Parquet, delivered to S3, GCS, FTP or a webhook, or served through an API. We take only what a visitor can see without signing in. We do not touch account pages or checkout data, we do not collect reviewer names or any other personal detail by default, and we respect the paths the site closes to crawlers.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582