Skip to main content
GET
Kohls Reviews
Returns approved public English-US feedback from the review widget published by Kohl’s. Supply product_id, a matching regional product URL, or a continuation cursor. A separate product display lookup confirms identity; a source-confirmed missing product returns 404. The source groups related variants into native product families. Results are not necessarily for the exact requested variant. Every row retains its actual product ID, name, URL when available, and family_ids. Related IDs must have a source-corroborated family relationship to the requested product. A retired related product can have a null URL; no replacement URL is invented. Tracking parameters are stripped from returned product links. Each review retains its native rating/scale, title, text, public nickname, timestamp, recommendation flag when present, actual product ID and syndication metadata. Source rating-only records are excluded. No verified-purchase or reviewer-identity status is inferred. since and until apply inclusive valid YYYY-MM-DD bounds to each fetched page by UTC publication date. They preserve candidate offsets and totals. An empty filtered page can still have a next cursor and costs zero. AI labels, reports, judgments, dry-run analysis and fit enrichment are unavailable; only label=none and judgments=off are accepted. page is one-based and limit is 1–50, default 10. Results use native newest-first order. total is the source’s family/locale candidate count, identified by total_scope; it is not an exact-SKU or all-locale count. Cursors bind product, limit and filters for one hour and corroborate the preceding record. Source changes can require restarting. Offsets stop at 10,000, with pagination_capped identifying a local ceiling. The response selects public feedback fields only. It excludes IP addresses, internal author/submission IDs, contact details and raw provider objects. No customer account access or feedback submission is used. The source URL omits the public display configuration parameter. A fresh nonempty page costs 5 credits. Empty pages, failures, cache hits and successful idempotent replays cost zero. Use X-Max-Credits: 5. Each request uses two anonymous display reads, or three with a cursor. A shared 20-source-request/minute limit, 25-second total timeout and 2 MiB limit per response apply. Public-source availability has no contractual SLA.

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

product_id
string

Native product ID. Supply product_id, a matching product URL, or a continuation cursor.

Pattern: ^[1-9][0-9]{0,17}$
url
string

Canonical HTTPS www.kohls.com/product/prd-ID/product.jsp URL, or its ID path. Parsed only; never followed. Must match any supplied product_id.

page
integer
default:1

One-based page. (page-1)*limit must not exceed 10,000. A supplied page must match the cursor offset.

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

Native feedback page size, 1–50; default 10.

Required range: 1 <= x <= 50
label
string

No AI enrichment is implemented; only label=none is accepted.

reports
string

Unavailable from this adapter; specifying this option fails explicitly.

judgments
enum<string>

No AI enrichment is implemented; only judgments=off is accepted.

Available options:
on,
off
dry_run
enum<string>

Unavailable from this adapter; specifying this option fails explicitly.

Available options:
1
label_evidence
enum<string>

Unavailable from this adapter; specifying this option fails explicitly.

Available options:
1
fit
enum<string>

Unavailable from this adapter; specifying this option fails explicitly.

Available options:
goal
goal
string

Unavailable from this adapter; specifying this option fails explicitly.

fit_tokens
integer

Unavailable from this adapter; specifying this option fails explicitly.

since
string

Inclusive valid YYYY-MM-DD filter on each candidate page by UTC publication date; total remains the native unfiltered family/locale total. Empty filtered pages can continue and are free.

Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
until
string

Inclusive valid YYYY-MM-DD filter on each candidate page by UTC publication date; total remains the native unfiltered family/locale total. Empty filtered pages can continue and are free.

Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
cursor
string

One-hour cursor retaining product, limit and date filters. Rechecks the preceding native record. May be supplied without product_id/url.

Response

Approved public English-US feedback from the retailer’s published display source. Independently verifies product identity, retains actual related-variant IDs through native product-family relationships, and supports bounded pagination with empty-result refunds.

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.