Skip to main content
GET
Kohls Search
Searches the public US Kohl’s catalog. Supply query and optionally sort_by: featured, newest, price_low, price_high, rating, or percent_off. These preserve the source’s ranking; an unmatched keyword can return unrelated popular products. No exact-keyword relevance or stock guarantee is implied. Products retain native IDs, titles, canonical URLs, source images, displayed colors, rating/count when known and a sponsorship flag. Unrated values remain null. price.current is the minimum native sale or regular price, while current_range and original_range preserve variation ranges. Coupon-conditioned conditional_offer values remain separate and are not treated as the base price. Prices exclude tax/shipping; suppressed or in-store-only current prices remain null. No tracking IDs, wallet/account data or advertising callbacks are returned or followed. Use dimensions[].values[].filter for native dimension IDs, joined with commas in filters. IDs can contain encoded spaces, plus signs or punctuation; keep the returned value intact. Filter application and active sort are checked against source metadata. A silently dropped native filter becomes an explicit error rather than an unfiltered success. Dimension counts are native facet counts, not independent inventory guarantees. limit is 1–48, default 12. page is one-based; data.next_cursor is preferred and may be supplied without the original query. The source ignores page-size overrides and returns 120 candidates; the adapter returns only the requested logical page. source_page_size and source_offset identify that larger source window. Pagination stops at offset 10,000 and reports pagination_capped when that ceiling prevents continuation. Cursors bind query, limit, sort and filters for one hour and recheck the preceding product. Source counts/ranking can change, requiring a restart. Later pages first corroborate the query’s current total because the native service can error for out-of-range offsets. A confirmed terminal result is empty and free; upstream errors are never converted into successful empty results. Fresh nonempty pages cost 5 credits. Empty pages, cache hits, failures and successful idempotent replays cost zero. Use X-Max-Credits: 5. Requests use one anonymous source read, or two for later native windows, with a shared 20-source-request/minute ceiling, 35-second transport timeout and 2 MiB limit per source response. Firecrawl retrieves the exact anonymous catalog JSON; direct access is a fallback with an 8-second total timeout. Both paths use identical validation. The existing Firecrawl credential is used; no new key is created. This public source has no contractual availability guarantee.

Authorizations

x-api-key
string
header
required

Headers

Cache-Control
string
Idempotency-Key
string
X-Max-Credits
integer

Optional nonnegative integer cap on the maximum request hold. A live request whose hold exceeds this cap returns 422 CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the requested limit; cache hits and successful idempotent replays cost zero.

Required range: x >= 0

Query Parameters

query
string

Search keyword, or omit when continuing with a cursor. Native relevance is not a strict keyword match.

Required string length: 1 - 200
page
integer

One-based logical page, with (page-1)*limit at most 10,000. Must agree with a supplied cursor.

Required range: x >= 1
limit
integer
default:12

Returned products per logical page: 1–48, default 12. Larger values fail. The native 120-row candidate window is not exposed as a product page.

Required range: 1 <= x <= 48
sort_by
enum<string>
Available options:
featured,
newest,
price_low,
price_high,
rating,
percent_off
filters
string

Comma-separated filter values from dimensions[].values[].filter. Encoded spaces and plus signs are accepted. The adapter rejects filters the native source does not apply.

cursor
string

One-hour query/limit/sort/filter-bound continuation from data.next_cursor; may be supplied alone. Verifies the preceding product and requires restarting if source order changes.

Response

Native public US product search with six sorts, source-confirmed dimension filters and bounded pagination. Source ranking can return unrelated popular items for unmatched queries. Prices preserve ranges and conditional coupon offers separately. Empty terminal pages are corroborated against the first-page total and cost zero.

success
boolean
required
platform
string
required
endpoint
string
required
credits_used
integer
required
Required range: x >= 0
credits_remaining
integer | null
required
request_id
string
required
cached
boolean
required
data
object
required

The selected operation determines the resource fields in this object. Source data can omit a metric or report it as null.