ScavioScavio
Pricing
Tools
Sign InsGet Startedg
9 live endpoints

Kohl's API

Kohl's product data as structured JSON: search, category, brand and clearance listings with regular, sale and with-code prices; Kohl's Cash earn and redeem windows; today's coupon codes; product detail with every SKU's UPC and online units; and pickup units at every store near a ZIP.

Try Kohl's APIRead the docs

50 free credits on signup, covering 25 Kohl's calls. No card, no Kohl's partner account.

POST /api/v1/kohls/search
sample
query:
try
{  "data": {    "query": "jeans",    "corrected_query": null,    "redirected_to": null,    "total": 5796,    "page": 1,    "total_pages": 49,    "per_page": 120,    "sort": "featured",    "count": 128,    "sponsored_count": 8,    "items": [      {        "id": "2982007",        "title": "Juniors' WallFlower Insta Stretch® Luscious Curvy Bootcut Jeans",        "url": "https://www.kohls.com/product/prd-2982007/juniors-wallflower-luscious-curvy-bootcut-jeans.jsp",        "image": "https://media.kohlsimg.com/is/image/kohls/2982007_Jenna?wid=180&hei=180&op_sharpen=1",        "price": 24,        "price_max": 40,        "regular_price": 40,        "regular_price_max": null,        "sale_price": 24,        "sale_price_max": 40,        "price_label": "clearance+regular",        "on_sale": true,        "is_clearance": true,        "percent_off": 40,        "price_suppressed": false,        "price_note": null,        "with_code_price": 19.2,        "with_code_price_max": 32,        "with_code_offer_codes": [          "LOVE2SAVE"        ],        "promotions": [],        "rating": 4.4,        "review_count": 4477,        "badges": [          "best_seller"        ],        "colors": [          "Delilah",          "… 8 more (trimmed for preview)"        ],        "is_sephora": false,        "coupon_eligible": true,        "available_online": true,        "available_pickup": true,        "available_ship_to_store": true,        "is_sponsored": false,        "currency": "USD"      },      "… 127 more (trimmed for preview)"    ],    "applied_filters": [],    "facets": [      {        "id": "InStoreOnline",        "label": "Pickup & Shipping",        "values": [          {            "label": "Store Pickup Today",            "value": "InStoreOnline:Pick%20Up%20in%20Store",            "count": 1364,            "selected": false          },          "… 2 more (trimmed for preview)"        ]      },      "… 11 more (trimmed for preview)"    ],    "currency": "USD"  },  "response_time": 10597}
captured example · 2 credits2 / 2 free

Live calls against the real endpoints. 2 free runs across every tab, then it's your own key. Listing pages take about 10 seconds; coupons shows a capture.

What is the Scavio Kohl's API?

The Scavio Kohl's API is a REST API that returns kohls.com (US) data as structured JSON. Its 9 POST endpoints cover search, category, brand and deal listings (clearance, sale, Kohl's Cash, Sephora), product detail, a store locator, store pickup units, search suggestions and coupon codes. Calls cost 2 credits; the store locator costs 1.

9
endpoints, all live in production
2
credits per call; the store locator is 1
120
products per listing page, up to page 500

The Kohl's data buyers actually need

What an item costs today, with and without a code, how deep the clearance goes, and which store near you has it.

Clearance filtered by discount

POST /api/v1/kohls/deals

The Clearance listing as 120-product pages, narrowed with the Discount facet and carrying percent_off on every item. It held 4,282 items on 2026-11-10; its Discount facet counted 2,087 at 50% off or more and 585 at 70% off or more.

Pickup units at every store near a ZIP

POST /api/v1/kohls/store-availability

One SKU at every Kohl's store within about 50 miles, with the unit count for pickup and a stock level. The kettle near ZIP 10001: 44 stores, 23 with units, 45 units in all.

With-code prices and offer codes

POST /api/v1/kohls/search

Listings carry the price after a public offer code and the code itself. A Croft & Barrow tee: regular $14.99, clearance $8.99, $7.19 with LOVE2SAVE.

Kohl's Cash windows

POST /api/v1/kohls/product

When an item earns Kohl's Cash, product returns the earn and redeem dates and the amount earned; deals type kohls_cash lists the items earning it right now.

Today's coupon codes

POST /api/v1/kohls/coupons

The public codes Kohl's lists today, each with its end date and a Kohl's Card-only flag. 5 codes on 2026-11-10, 1 of them Card-only.

Every SKU with UPC and online units

POST /api/v1/kohls/product

Each variant's sku, UPC, color, size, availability, online units and price. The kettle: 376 units online, $29.99 on sale from $39.99, 4.3 stars from 188 ratings.

All 9 Kohl's API endpoints

Every route is a POST, returns JSON, and takes the same API key. 2 credits per successful call, 1 for the store locator; errors are not charged.

EndpointReturnsCredits
Search/api/v1/kohls/searchKeyword search, 120 products per page, seven sorts including Kohl's own Percent Off order and highest rated, filters for brand, color, size, on sale, clearance and any facet (price buckets, gender, rating, store pickup): id, title, regular, sale and with-code price, price label, percent off, rating, review count, badges, is_sponsored, plus facets with counts and corrected_query2
Product detail/api/v1/kohls/productOne product by id or URL: regular and sale price, sale status, percent off, lowest applicable price, with-code price and offer codes, Kohl's Cash earn and redeem windows, online units, rating, review count and recommended percent, dept, and every variant with sku, UPC, color, size, availability, online units and price; store_id adds that store's availability and price2
Category/api/v1/kohls/categoryAny kohls.com catalog listing by its path or URL (with its CN part), 120 products per page with the search sorts and filters, the category's name, breadcrumbs and URL, and the facets with counts2
Brand/api/v1/kohls/brandOne brand's listing by name or URL, 120 products per page, filtered to sale, clearance, color, size or any facet2
Clearance, sale, Kohl's Cash & Sephora/api/v1/kohls/dealsClearance, Sale, items earning Kohl's Cash now, or Sephora at Kohl's as listings, 120 products per page, with the search filters and the Discount facet (50% off or more, 70% off or more)2
Store locator/api/v1/kohls/storesKohl's stores near a ZIP, a city + state or a point within 1 to 100 miles: store_id, address, phone, distance, weekly hours, store badges (Sephora, Fine Jewelry...) and services1
Store availability/api/v1/kohls/store-availabilityOne SKU at every Kohl's store within about 50 miles of a ZIP: pickup units, stock level, ship-to-store units and window, and each store's address, distance and hours2
Search suggestions/api/v1/kohls/suggestionsThe kohls.com search-box suggestions: keyword completions, or matching products with id, title, URL and image2
Coupon codes/api/v1/kohls/couponsToday's public Kohl's coupon codes: code, description, end date, Kohl's Card-only flag, details page and the eligible products link2

50 free credits on signup covers 25 Kohl's calls. See plans

Track clearance, check the price with a code, find store stock

deals with the Discount facet walks the clearance; product answers the price, the code behind it and the Kohl's Cash window; store-availability answers which store near you has units. The response on the right is a real capture.

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key")

# Kohl's clearance at 50% off or more, ranked by percent off on your side.
# Run it daily and keep your own history: the API returns today's price only.
res = client.kohls.deals(
    type="clearance",
    filters=["Discount:50% off or more"],
)["data"]

items = [i for i in res["items"] if not i["is_sponsored"]]
for item in sorted(items, key=lambda i: i["percent_off"] or 0, reverse=True):
    print(item["id"], item["title"], item["regular_price"], item["price"], item["percent_off"], item["with_code_price"])
200 response.jsoncaptured
{
  "data": {
    "id": "6251213",
    "title": "Hamilton Beach 1.7-Liter Black Electric Kettle",
    "brand": "Hamilton Beach",
    "brand_url": "https://www.kohls.com/catalog/hamilton-beach.jsp?CN=Brand:Hamilton%20Beach",
    "url": "https://www.kohls.com/product/prd-6251213/hamilton-beach-17-liter-black-electric-kettle.jsp",
    "status": "In Stock",
    "dept": "063",
    "breadcrumbs": [
      {
        "name": "Kitchen & Dining",
        "url": "https://www.kohls.com/catalog/kitchen-dining.jsp?CN=Department:Kitchen%20%26%20Dining"
      },
      {
        "name": "Small Appliances",
        "url": "https://www.kohls.com/catalog/small-appliances-kitchen-dining.jsp?CN=Category:Small%20Appliances+Department:Kitchen%20%26%20Dining"
      },
      {
        "name": "Electric Kettles",
        "url": "https://www.kohls.com/catalog/electric-kettles-small-appliances-kitchen-dining.jsp?CN=Product:Electric%20Kettles+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining"
      },
      {
        "name": "Hamilton Beach",
        "url": "https://www.kohls.com/catalog/hamilton-beach.jsp?CN=Brand:Hamilton%20Beach"
      }
    ],
    "partnership": null,
    "is_sephora": false,
    "rating": 4.3,
    "review_count": 188,
    "recommended_percent": 49,
    "is_new": false,
    "best_seller": true,
    "top_rated": false,
    "badges": [
      "Best Seller"
    ],
    "description": "Bring style and performance to your kitchen with the Hamilton Beach 1.7-Liter Electric Kettle. This attractive black kettle has stylish metallic trim that complements any decor, and it features automatic shutoff for peace of mind.",
    "details": "Bring style and performance to your kitchen with the Hamilton Beach 1.7-Liter Electric Kettle. This attractive black kettle has stylish metallic trim that complements any decor, and it features automatic shutoff for peace of mind.\n- Click on this KITCHEN & TABLETOP GUIDE for expert tips on choosing the right appliances, cookware, and tableware for every meal.\nPRODUCT FEATURES\n- The automatic shutoff function turns the electric kettle off when water comes to a boil, and the boil\n- Rapidly bring water to boil so you can make yourself a quick cup of tea, hot cocoa or coffee without the long wait\n- Just flip down the switch and walk away - you can boil water quickly without fussing with complicated controls.\n- With the attractive, easy, you'll always know how much water is in the kettle or how much water you're adding when refilling.\nWHAT'S INCLUDED\n- Removable mess filter\nDETAILS\n- 1.7-liter capacity\n- 9.1\" x 8.4\" x 5.4\"\n- 1500 watts\n- 24-in. cord length\n- Manufacturer's 1-year limited warranty\n- For warranty information please click here\n- Model no. 41038",
    "ingredients": null,
    "images": [
      "https://media.kohlsimg.com/is/image/kohls/6251213?wid=350&hei=350&op_sharpen=1",
      "https://media.kohlsimg.com/is/image/kohls/6251213_ALT?wid=50&hei=50&op_sharpen=1"
    ],
    "videos": [],
    "return_policy": "Free in-store returns for 90 days or 120 for Kohl's Card Holders",
    "price": 29.99,
    "regular_price": 39.99,
    "regular_price_max": null,
    "sale_price": 29.99,
    "sale_price_max": null,
    "sale_status": "Sale",
    "percent_off": 25,
    "lowest_applicable_price": 23.99,
    "price_suppressed": false,
    "price_note": null,
    "with_code_price": null,
    "with_code_price_max": null,
    "with_code_savings": null,
    "with_code_offer_codes": [],
    "kohls_cash": null,
    "offers": [
      {
        "id": "58452",
        "code": "LOVE2SAVE",
        "description": "Save an extra 20% in store & online!",
        "terms": "20% COUPON IS VALID ON QUALIFYING PURCHASES 11/09-11/21, 2026. Must present coupon in store or enter code at Kohls.com.\n\nDOLLAR-OFF COUPONS, INCLUDING KOHL'S CASH®, WILL BE APPLIED PRIOR TO PERCENT-OFF TOTAL PURCHASE COUPONS. Coupon cannot be used in conjunction with other percent-off coupons, including age-specific discounts. Limit one per customer. Nontransferable.\nCOUPON EXCLUSIONS: Not valid on price adjustments; payments on a Kohl's credit card account; taxes; shipping or handling fees; gift cards; Kohl’s Cares® cause or other charitable items; Sephora at Kohl’s; and/or any other categories and brands of merchandise identified as coupon ineligible.\nCOUPON-ELIGIBLE BRANDS: Look for signs in store, ask an Associate, or find a complete list at Kohls.com/details. Brand eligibility may vary by promotion.",
        "discount_type": "percentOff",
        "discount_amount": 20,
        "starts": "2026-11-08T23:00:00",
        "ends": "2026-11-22T02:00:00"
      }
    ],
    "pickup_eligible": true,
    "ship_to_store_eligible": true,
    "kohls_cash_eligible": true,
    "is_marketplace": false,
    "online_units": 376,
    "colors": [
      "Black"
    ],
    "sizes": [],
    "variant_count": 1,
    "variants": [
      {
        "sku": "73519108",
        "upc": "000040094410385",
        "color": "Black",
        "size": null,
        "availability": "In Stock",
        "online_units": 376,
        "max_per_order": 3,
        "price": 29.99,
        "regular_price": 39.99,
        "sale_price": 29.99,
        "sale_status": "Sale",
        "lowest_applicable_price": 23.99,
        "with_code_price": null,
        "with_code_savings": null,
        "with_code_offer_codes": [],
        "percent_off": 25,
        "price_suppressed": false,
        "kohls_cash_earned": null,
        "pickup_eligible": true,
        "ship_to_store_eligible": true,
        "in_store": true,
        "image": "https://media.kohlsimg.com/is/image/kohls/6251213",
        "attributes": {}
      }
    ],
    "store_id": null,
    "currency": "USD"
  },
  "response_time": 5313
}

Why not the official Kohl's API?

Kohl's publishes no public developer API. Here is what its partner channels cover, and where the Scavio API differs.

Kohl's partner channels

  • No public developer API or self-service developer portal that we could find
  • Marketplace sellers get API keys through Kohl's Mirakl seller portal, for their own offers and orders
  • Suppliers connect through EDI and integration partners
  • The Kohl's Creators affiliate program pays commission on links, with no catalog or price data

Scavio Kohl's API

  • One Scavio key, issued at signup, shared with Macy's, Nordstrom, Target and 80+ other platforms
  • Search, category, brand and clearance listings with Kohl's own facets as filters
  • Regular, sale and with-code prices with the offer codes behind them
  • Kohl's Cash earn and redeem windows, and today's public coupon codes
  • Pickup units per store near a ZIP, and every SKU's UPC and online units
  • Plain JSON over POST, the same request style as every other Scavio retailer

Scavio returns publicly available kohls.com data only, never signs in as a Kohl's customer and never places orders.

What developers build with it

Kohl's clearance tracker

Pull the Clearance listing every morning with the Discount facet, store price, regular price and percent off per item, and alert when a watched item hits clearance or its markdown deepens.

deals + search

Kohl's price tracker

Poll a watchlist of product ids on a schedule and record regular price, sale price, sale status and the with-code price with a timestamp. History starts the day you start polling.

product

Store pickup stock checker

Find the Kohl's stores near a shopper, then show the pickup units for one SKU at each store before they make the trip.

stores + store-availability

Coupon and Kohl's Cash monitor

Record today's public codes with their end dates, and the Kohl's Cash earn and redeem windows on the items you watch, so a deal page always shows what is live.

coupons + product + deals

Black Friday deal monitoring

Snapshot clearance, sale and Kohl's Cash listings several times a day in Black Friday week and compare prices and counts against your own earlier snapshots.

deals + coupons

Sephora at Kohl's assortment

List the Sephora at Kohl's assortment with its prices and ratings, and find the stores with a Sephora shop near a ZIP.

deals + stores

Department-store price comparison

Compare one item's Kohl's price with other department stores and marketplaces side by side.

search + Macy's, Nordstrom, Google Shopping APIs

Brand and MAP monitoring

Watch your own brand's Kohl's listing sorted by price and flag items listed below the price you expect, or newly marked down.

brand

Keyword research

Expand a seed term into the completions the Kohl's search box suggests, then size each one with search totals.

suggestions + search

How to get Kohl's data as JSON

  1. 1

    Get an API key

    Sign up for a Scavio account and copy your key from the dashboard. You get 50 free credits on signup, enough for 25 Kohl's calls, with no card required and no Kohl's partner account.

  2. 2

    Pull the clearance

    Send {"type": "clearance", "filters": ["Discount:50% off or more"]} to https://api.scavio.dev/api/v1/kohls/deals with an Authorization: Bearer header. Each item has its regular price, sale price, percent off and with-code price.

  3. 3

    Narrow it with facets

    Every listing returns Kohl's facets with counts and value ids. Send any value back through filters, such as a Price bucket or Discount:50% off or more, and page through with page.

  4. 4

    Check the item and store stock

    Pass an item's id to /api/v1/kohls/product for every SKU with its price and online units, then send a variant sku and a ZIP to /api/v1/kohls/store-availability for pickup units at the stores near it.

One key, 55 platformsMCP server for agentsPython & JS SDKsn8n community node

Kohl's API FAQ

Does Kohl's have a public API?

+

No public developer API that we could find, as of November 2026. Kohl's programmatic channels are for partners: marketplace sellers get API keys through its Mirakl seller portal, suppliers connect through EDI and integration partners, and creators can join the Kohl's Creators affiliate program, which offers links, not data. None of these offers a public endpoint for searching the Kohl's catalog or reading prices. The Scavio Kohl's API is a separate option: 9 POST endpoints that return what kohls.com shows today as JSON.

How do I track Kohl's clearance?

+

Call /api/v1/kohls/deals with type clearance (add the Discount facet for 50% or 70% off and more), or search with clearance: true, and page through the 120-product pages. Store id, regular_price, price and percent_off per item with a timestamp each day, and alert on new clearance items or deeper markdowns. The Discount facet narrows the list to 50% off or more. Each page is 2 credits.

Does the API return Kohl's price history?

+

No. Every endpoint returns today's prices. A Kohl's price tracker builds its own history: poll the product or listing endpoints on a schedule and store the prices yourself, more often around Black Friday. Kohl's own terms note that "Original" prices "may not have been in effect during the past 90 days", which is one more reason to record the price you saw.

What is the with-code price?

+

Kohl's shows a lower price on many items once a public offer code is applied at checkout. Listing items and product variants return it as with_code_price, with the code in with_code_offer_codes (LOVE2SAVE in our capture). The product endpoint also returns lowest_applicable_price, which can carry the after-offer price when with_code_price is null, and offers[] with each code's description, terms and dates. Public offers only, never a shopper's own offers.

Can I get Kohl's Cash windows?

+

Yes, for items that earn it. The product endpoint returns kohls_cash with the earn start and end, the redeem start and end and the amount earned, and each variant carries kohls_cash_earned; it is null when the item shows no Kohl's Cash offer. /api/v1/kohls/deals with type kohls_cash lists the items earning Kohl's Cash at the time of the call. Personal Kohl's Cash balances are not available.

How do I get today's Kohl's coupon codes?

+

/api/v1/kohls/coupons returns the public codes Kohl's lists today: code, description, end date, whether it needs a Kohl's Card, the details page and the link to eligible products. It held 5 codes on 2026-11-10, one of them Kohl's Card-only. The call is slow, about 40 seconds in our capture.

Can I check whether a Kohl's store has an item in stock?

+

Yes, with unit counts. Send a variant sku and a ZIP to /api/v1/kohls/store-availability: every store within about 50 miles comes back with pickup_units, a stock level (In Stock, Low Stock, Out of Stock), and ship-to-store units with the pickup window. For one kettle near ZIP 10001, 23 of 44 stores had units, 45 in all, at most 5 at one store.

Does it cover Sephora at Kohl's?

+

Yes. /api/v1/kohls/deals with type sephora lists the Sephora at Kohl's assortment, items carry an is_sephora flag, beauty variants carry attributes such as finish and skin type, the product endpoint returns ingredients, and stores and store availability flag which stores have a Sephora shop.

Why is there no review text?

+

Review text is not available on any Kohl's endpoint. Listings return the average rating and review count, and the product endpoint adds the recommended percent. If you need written reviews, this API is not the right source for them.

Why does a page have 128 items instead of 120?

+

A Kohl's listing page holds 120 products, and Kohl's mixes up to about 8 sponsored products into the grid. They stay in items, flagged is_sponsored, and sponsored_count counts them; drop them for an organic list. The jeans search returned 128 items on page 1, 8 of them sponsored.

How do I filter by price?

+

Price is a facet on Kohl's, not a free range. Read the Price facet from a first call (Under $10, $10 to $25, $25 to $50...) and pass a value back through filters, written as Kohl's lists it or plainly, "Price:$25 to $50". There is no min_price or max_price. Brand, color, size, on_sale and clearance have their own shortcuts.

How do I use it for Kohl's Black Friday?

+

Black Friday is November 27, 2026. Snapshot the clearance, sale and Kohl's Cash listings and today's coupon codes several times a day through the week, and store each snapshot: the API returns the price at the moment of the call, so the comparison with earlier days is yours to keep.

How much does a Kohl's request cost?

+

The store locator costs 1 credit; every other Kohl's endpoint costs 2. New accounts get 50 free credits on signup, one time and with no card, which covers 25 Kohl's calls. Paid plans start at $15 per month for 3,000 credits; on the Growth plan ($1 per 1,000 credits) that is $2 per 1,000 Kohl's calls and $1 per 1,000 store lookups. Errors (400, 404, 502) are not charged.

How fast and fresh is the data?

+

Every request reads kohls.com when you call it and carries fetched_at; nothing is cached. In our captures stores took 3.1 seconds, store availability 3.3, suggestions 4.3, product 5.3, listing pages 9.2 to 10.6 and coupons 40.6. Upstream checks sometimes fail; they are retried automatically, and a call that still fails is a 502 that is not charged.

Which countries does it cover?

+

kohls.com in the United States, with prices in US dollars and US stores. kohls.com serves the US only.

Is Kohl's still in business?

+

Yes. kohls.com and Kohl's stores are trading normally, and this API reads the live site. Kohl's closed nearly 30 stores in 2025 and told investors in March 2026 it had no plan for further large-scale closures; individual stores still close, so read the store list from the stores endpoint rather than a fixed copy.

What do Kohl's terms say about using its content?

+

The kohls.com Terms & Conditions (updated as of May 22, 2023) say the site's materials are "intended solely for your personal, non-exclusive, and non-commercial use", and that "Kohl's also reserves the right to block or deny access to the Site to anyone at any time for any reason." Scavio returns publicly available kohls.com data, does not sign in to customer accounts and never places orders. You remain responsible for how you use the data; talk to your own counsel for your use case.

Explore more of Scavio

Best Kohl's clearance tracker APIs

Seven options priced and tested on the 4,350-item clearance list, November 2026.

How to get Kohl's clearance prices

Clearance prices and percent off, SKU prices, Kohl's Cash windows and store stock, step by step.

Kohl's drop sold out online?

Check pickup units at every store near you, and alert when a count moves.

Kohl's API docs

All 9 endpoints with params and real responses.

Macy's API

Sale end dates, clearance, Today Only and store pickup per variant.

Nordstrom Rack API

Clearance, flash events and Rack store pickup.

Nordstrom API

Department-store listings, sizes priced and store pickup.

Saks Fifth Avenue API

Designer sale prices, stock per size and store stock.

Target API

Store-level prices and stock by Target store.

Sephora API

Beauty products, prices and store stock at Sephora itself.

Google Shopping API

Compare prices across stores for one product.

Try the Kohl's API free

50 free credits on signup, no card. Your first request is a POST with the word clearance in it.

Get your API keySee pricing
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

Ask AI about Scavio

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy