Kohl's Product Scraper avatar

Kohl's Product Scraper

Pricing

from $3.00 / 1,000 dataset items

Go to Apify Store
Kohl's Product Scraper

Kohl's Product Scraper

Scrape Kohl's (kohls.com) products by keyword — title, regular/sale/Your Price, ratings, review counts, SKUs, colors and availability. Clean JSON for Sheets, BI or your CRM. Category browse and full product detail are currently unavailable (blocked by Kohl's). Pay only for the results you get.

Pricing

from $3.00 / 1,000 dataset items

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

5

Monthly active users

5 days ago

Last modified

Share

Extract structured product data from Kohl's (kohls.com) at scale — by keyword. Get titles, full pricing (regular, sale, and Kohl's Your Price), ratings, review counts, SKUs, colors, and availability. Clean JSON, ready for Sheets, BI, or your database.

The core keyword-search path runs on Kohl's own mobile product API, so it is fast and needs no proxy — no browser, no CAPTCHAs, no fragile page scraping.

Current limitation (October 2026): Kohl's Akamai protection now rejects category-browse and product-page requests, even from US residential proxies. Use keyword search, which is unaffected. Category browse fails with a clear error, a product-ID lookup that cannot fetch detail is skipped (nothing is pushed or charged), and Include full detail returns listing data only. This section is updated if Kohl's access changes.

Who it's for

  • Price & deal monitoring — track regular vs. sale vs. Your Price across the Kohl's catalog and spot discount cycles.
  • Competitive & assortment analysis — monitor pricing, ratings, and product mix for the keywords you track (brand or category names work as keywords).
  • E-commerce & PropTech/retail-tech devs — a stable JSON schema for catalogs, comparison tools, and shopping assistants.
  • Researchers & analysts — build large, structured Kohl's product datasets for study or modeling.

What you get

Every row is one Kohl's product. Fields marked (detail) require the optional Include full detail toggle; everything else comes from the fast, no-proxy search path.

FieldTypeDescription
web_idstringKohl's numeric product ID
product_idstringProduct ID as prd-<webID>
titlestringProduct title
brandstringBrand name (detail)
urlstringProduct page URL
image / alt_imagestringProduct image URLs (Adobe Scene7)
regular_pricenumberRegular (list) price, USD
sale_pricenumberSale price, USD (when on sale)
your_pricenumberKohl's "Your Price" promotional price, USD
final_pricenumberEffective price paid: Your Price → sale → regular
save_amount / save_percentnumberDiscount vs. regular price
price_label / sale_statusstringPrice/sale status labels
on_salebooleanWhether the sale price beats the regular price
your_price_eligible / your_price_labelboolean / stringYour Price eligibility
coupon_eligiblebooleanCoupon eligibility
ratingnumberAverage rating (0–5)
review_countintegerNumber of customer reviews
sku_idsarraySKU IDs for the product's variants
colors / display_colorarray / stringAvailable colors and displayed color
swatchesarrayColor swatches {color, image}
variationsstringVariation axes, e.g. SizeAndColor
available_for_pickup / available_for_shipbooleanFulfillment availability
availabilitystringInStock / OutOfStock
badgesarrayValue-added badges
gender / department / category / subcategorystringTaxonomy levels (detail)
breadcrumbsarrayFull breadcrumb trail {name, url} (detail)
description / description_longstringProduct descriptions (detail)
sourcestringWhich input produced the row
scraped_atstringISO-8601 scrape timestamp

High-value use cases

  1. Deal & promo tracking — schedule daily runs on your top keywords and diff final_price, save_percent, and sale_status to catch price drops as they happen.
  2. Brand & competitor monitoring — follow a brand's Kohl's assortment, pricing, and ratings over time.
  3. Catalog enrichment — hydrate an internal product catalog with Kohl's images, SKUs, and colors.
  4. Merchandising research — analyze rating/review signals and Your-Price eligibility across departments.
  5. Shopping assistants / AI agents — feed a normalized product feed straight into an LLM or MCP client.

Input parameters

FieldTypeDefaultDescription
searchQueriesarray[]Keywords to search (one search per keyword). The fast, no-proxy path.
categoryDimensionsarray[]Facet paths to browse, e.g. Gender:Womens+Department:Clothing. Currently blocked.
productIdsarray[]Web IDs or product URLs to fetch full detail for. Currently blocked.
maxItemsinteger200Global cap on total products pushed.
maxPagesPerQueryinteger5Search/category pages per query (120 products/page).
sortstringfeaturedfeatured, new, bestsellers, priceAsc, priceDesc, rating, percentOff.
includeDetailsbooleanfalseEnrich each product with brand, descriptions, taxonomy. Currently blocked (listing data only).
proxyConfigurationobjectApify Residential (US)Used only for the geo-gated add-ons above.

Category browse, product-ID detail, and Include full detail read Kohl's US-only pages, so they run through a US residential proxy automatically. Plain keyword search does not.

Example input

{
"searchQueries": ["levis jeans", "nike shoes"],
"maxItems": 200,
"maxPagesPerQuery": 3,
"sort": "percentOff",
"includeDetails": false
}

Example output (one row)

{
"web_id": "5178",
"product_id": "prd-5178",
"title": "Men's Levi's® 505™ Regular Fit Jeans",
"url": "https://www.kohls.com/product/prd-5178/levis-505-regular-jeans-men.jsp",
"image": "https://media.kohlsimg.com/is/image/kohls/5178_Sounds_About_Right?wid=180&hei=180&op_sharpen=1",
"regular_price": 74.95,
"sale_price": 52.46,
"your_price": null,
"final_price": 52.46,
"save_amount": 22.49,
"save_percent": 30.0,
"currency": "USD",
"sale_status": "Mixed",
"on_sale": true,
"rating": 4.3,
"review_count": 11201,
"sku_ids": ["05541003", "69338863"],
"colors": ["Stonewash", "Black", "Rinse"],
"variations": "SizeAndColor",
"availability": "InStock",
"source": "search:levis jeans",
"scraped_at": "2026-08-20T00:00:00+00:00"
}

Scheduling & integrations

  • Schedule runs (hourly/daily) from the Apify Console to keep price and availability data fresh.
  • Webhooks can trigger on run completion to push new data into your systems.
  • Export to Google Sheets, Excel, JSON, CSV, or send to Make, Zapier, Airbyte, S3, or a database via the Apify API and integrations.

Use with AI agents (MCP)

This Actor works as a tool for AI assistants through the Apify MCP server. An agent can call it to fetch live Kohl's product data — prices, ratings, availability — and reason over the normalized JSON, no scraping code required.

FAQ

Do I need a Kohl's account or API key? No. The Actor reads publicly available product data.

Do I need a proxy? Not for keyword search — it runs without one. Category browse, product-ID detail, and Include full detail read Kohl's US-only pages and request a US residential proxy, but as of October 2026 Kohl's rejects those requests even from US residential IPs, so they currently do not return data.

How fresh is the data? It's fetched live on every run. Schedule the Actor to keep your dataset current.

How many products can I get? Use maxItems and maxPagesPerQuery to control volume. Keyword search paginates automatically.

Which fields need Include full detail? Brand, descriptions, and taxonomy (gender/department/category/subcategory, breadcrumbs). Prices, ratings, SKUs, colors, and availability are always included. Detail enrichment is optional and best-effort — Kohl's currently blocks product pages, so these fields are empty and the run's status message says how many rows are listing-only. The core product data is always returned.

Is scraping Kohl's legal? The Actor collects only publicly accessible data. You are responsible for using the data in line with applicable laws, Kohl's terms, and your jurisdiction.

Something broke or you need a new field? Open an issue on the Actor's page — reliability and schema stability are the priority.