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 — title, regular/sale/Your Price, ratings, review counts, SKUs, colors, availability, brand and category. Search by keyword (no proxy) or enrich with full detail. Clean JSON for Sheets, BI or your CRM. 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

4

Total users

2

Monthly active users

13 days ago

Last modified

Share

Extract structured product data from Kohl's (kohls.com) at scale — by keyword, by category, or by product ID. Get titles, full pricing (regular, sale, and Kohl's Your Price), ratings, review counts, SKUs, colors, availability, and — optionally — brand, descriptions, and category taxonomy. 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.

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 by brand or category.
  • 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/categories 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, colors, and taxonomy.
  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. Uses a US proxy.
productIdsarray[]Web IDs or product URLs to fetch full detail for. Uses a US proxy.
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, and taxonomy (uses a US proxy).
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 use a US residential proxy automatically.

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 geo-gates product pages, so these fields may be empty for some items, but 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.