100 free credits. No credit card required.Start building
Logo
Kohl's logo
100 free credits. No credit card required

Kohl's Scraper API

The SocialCrawl Kohl's API returns Kohl's catalogue data as JSON across 5 endpoints. Search returns 12 products per page by default, up to 48, with product id, name, current and original price, images, colours, rating and product URL. Reviews come 8 per page with a verified-purchase flag, questions returns buyer Q&A, and stores and categories cover locations and the site tree.

TL;DR

The Kohl's API by SocialCrawl returns Kohl's data as structured JSON: 5 endpoints behind one x-api-key, from 1 credit per call. It shares one unified schema with 68 other platforms, so the same client code works everywhere.

Example

Try the Kohl's API in your browser

This endpoint is not on the public demo. Try it shows a captured example response. Sign up free to run it with your own parameters.

Returns one page of Kohl's products for a keyword, 12 per page, each with product id, name, price, images, colours, rating, and the product page URL.

Use it to search the Kohl's catalogue by keyword. Paginate with cursor until a short page. There is no product-detail endpoint; feed a product id into reviews or questions.

Try the Kohl's Search API

See real data before writing a single line

GET/v1/kohls/search

Search keyword, for example jeans, tshirt, towels.

7 optional parameters

Page number, starting at 1. Prefer the universal cursor parameter.

Products per page, 1 to 48. Default 12. Values above 48 are clamped. The origin default of 120 is a half-megabyte facet dump and is not forwarded.

Result ordering: featured (default), newest, price_low, price_high, rating, or percent_off.

Kohl's dimension filter string. Example: Color:Black. Combine with commas. Dimension ids appear on every search payload under payload.dimensions.

1 to 50 (default 1, or 50 when `max_items` or `max_credits` is sent). Walk up to this many pages in one call and return the rows from all of them. Each page walked is billed exactly as one call to this endpoint (a cached page is free) and counts against your rate limit; its charge and any refund are recorded under the page's own request id, listed in `data.walk.request_ids`. The walk stops early at the last page, or when the request's time budget runs low; `data.walk.stopped` says why (`end`, `max_pages`, `max_items`, `max_credits`, `time_budget`, `page_error`) and `pagination.next_cursor` continues from where it stopped.

1 to 5000. Get more in one call: keep walking pages until the response holds at least this many rows, then stop with `data.walk.stopped: "max_items"`. The last page is returned whole (it was billed), so `data.items` can hold up to one page more than this, and `pagination.next_cursor` resumes right after it without skipping a row. Walks up to 50 pages unless `max_pages` says fewer; each page is billed as one call (a cached page is free). Add `max_credits` to cap the spend. A long walk can stop on the time budget first (`"time_budget"`): send the returned cursor with the same params to continue.

1 to 100000. The most this call may spend, across every page it walks. A page starts only while the credits already spent plus that page's price (or, when higher, the most any page of this walk has cost) still fit, so the call never goes past it; the walk then stops with `data.walk.stopped: "max_credits"` and the cursor to resume. Sent alone, it walks as far as the budget goes (up to 50 pages). A value below the price of one page is a free 400 whose `error.details.page_credits` names that price. Credits a row join (`include=`) adds are known only once a page has run, so page 1 is checked against its own price.

Endpoints

What data does the Kohl's API return?

Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.

Last updated November 2026

Maintained by the SocialCrawl team, reviewed November 2026

Searchadvanced

Search Kohl's products by keyword

Reviewsadvanced

Get Kohl's product reviews

Questionsadvanced

Get Kohl's product questions and answers

Storesadvanced

Find Kohl's stores near a coordinate

Categoriesstandard

Get the Kohl's category tree

What you get

What Kohl's data can you get?

Every Kohl's endpoint uses the same response envelope, so one parser handles the whole platform. These are fields returned by current public responses, subject to each endpoint's documented cache window.

Fields you get back in a Kohl's response include:

  • product.id
  • product.url
  • product.title
  • product.description
  • product.seller
  • product.brand
  • product.price
  • product.rating
  • product.image_urls
  • product.availability
  • product.reviews_count
  • product.variations
  • product.ext
  • review.id
  • review.entity_id
  • review.url
  • review.title
  • review.text
  • review.rating
  • review.author
  • review.helpful_votes
  • review.verified
  • review.source
  • review.language
Quickstart

How to scrape Kohl's in 3 steps

No proxies, no headless browsers, no login sessions. Send one authenticated GET request and read structured JSON back.

  1. 1

    Get a free API key

    Create an account and copy your key from the dashboard. Signup includes 100 free credits, and no card is required.

  2. 2

    Call the Search endpoint

    Send a GET request with your key in the x-api-key header. Here is the full Kohl's Search request:

    curl -H "x-api-key: YOUR_API_KEY" \
      "https://www.socialcrawl.dev/v1/kohls/search?query=jeans"
  3. 3

    Read the unified JSON

    The response comes back in the shared SocialCrawl schema. Where the endpoint supports them and the required source inputs are present, fields such as engagement_rate and content_category are filled in too. Your client can rely on the shared envelope while treating enriched fields as optional.

Requirements and limits

Requirements and limits

Everything you need to know before your first Kohl's call.

Authentication
One API key, passed in the x-api-key request header. No OAuth flow, no app review, and no per-platform credentials to manage.
Pagination
List endpoints return a next_cursor and a has_more flag. Pass the cursor back to page through results, with the same contract on every platform.
Credits
Calls start at 1 credits and are deducted per request. Every account starts with 100 free credits, and credits never expire.
Rate limits
Two ceilings, both per API key and identical on every plan: 600 requests per minute and 50 simultaneous requests. Neither costs you a credit when it rejects a request, and past them your credit balance is the only throttle.
Pricing

How much does the Kohl's API cost?

Simple credit-based pricing with no subscription. You pay per call, and the exact credit cost of every Kohl's endpoint is listed below.

EndpointCredits per call
Search5 credits
Reviews5 credits
Questions5 credits
Stores5 credits
Categories1 credit

Every account starts with 100 free credits, and no card is required.

At credit-pack pricing that works out to roughly £0.002 to £0.03 per call, and credits never expire.

Developer First

How do you scrape social media data in seconds?

The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 69 platforms covering 10B+ monthly active users.

One schema, every platform

Query 69 platforms with identical response structures. Write your integration once.

Computed fields, not just scraped

When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.

See your data before you code

Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.

import requests

response = requests.get(
    'https://www.socialcrawl.dev/v1/tiktok/profile',
    params={'handle': 'charlidamelio'},
    headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json()
[ .JSON ]
{
  "success": true,
  "platform": "tiktok",
  "data": {
    "author": {
      "username": "charlidamelio",
      "followers": 152400000
    },
    "engagement": {
      "likes": 12400000000,
      "engagement_rate": 0.087
    },
    "metadata": {
      "language": "en",
      "content_category": "lifestyle"
    }
  }
}
+ 69 platforms
One API, 69 platforms

How does SocialCrawl handle 69 different platforms?

Social media scraping is hard. Schema normalization, authentication, rate limits, pagination. We handle all of it before your data arrives.

One schema, every platform

Write once, query them all.

69 platforms return 69 different JSON shapes. We normalize every response into one consistent structure.

Ready-to-use metrics

Metrics ready before you ask.

Normalized records include supported metrics such as engagement rate, estimated reach, content category, and language when the required source inputs are available.

Consistent pagination

One cursor, every platform.

Every platform paginates differently. We give you one consistent cursor-based system.

Freshness you control

Fresh when it matters. Free on repeat.

Cache misses fetch current public data. Identical requests are cached for 2 to 30 minutes by data type and cost 0 credits on a hit; send Cache-Control: no-cache for a billed refresh.

Things you'll never build

Auth, proxies, and rate limits, handled

Platform authentication, IP rotation, and rate limit management are all abstracted away. Just send a GET request.

Start for free
Reviews

What developers say

Rated 4.9 out of 5 from 200 developer reviews
The unified schema saved us weeks of integration work. One parser handles every platform.
Alex Chen, Full-Stack Developer
Our agents process social data from 69 platforms with zero platform-specific logic. One schema, end to end.
Sarah Kim, AI Engineer, AgentFlow
I paste an influencer's URL and get everything (followers, engagement rate, content categories) without touching code.
James Rivera, Marketing Director
We switched from building our own scrapers. SocialCrawl handles the hard stuff, we focus on insights.
Maria Santos, CTO, DataPulse
The computed fields alone (engagement_rate, estimated_reach, content_category) saved us an entire data pipeline.
David Park, Lead Data Scientist
Quick answers

How much does Kohl's scraping cost?

SocialCrawl uses credit-based pricing: you pay per API call, and most Kohl's endpoints cost just a few credits. Every account starts with 100 free credits. No subscriptions, no compute units, no credit card required.

See pricing

Is Kohl's scraping legal?

SocialCrawl returns publicly available Kohl's data. Courts have generally upheld scraping public data, most notably in hiQ v. LinkedIn, but compliance depends on your use case and jurisdiction. You are responsible for following applicable laws and platform terms.

Glossary

Common Kohl's scraping terms

The phrases developers search for when they need Kohl's data, and what each one means with SocialCrawl.

Kohl's scraper API
A Kohl's scraper API returns Kohl's data as structured JSON without you running any scraping infrastructure. SocialCrawl handles the proxies, parsing, and format changes, so you call an endpoint and get clean fields back. Pricing starts at 1 credits per call.
Kohl's data API
A Kohl's data API is a programmatic way to read public Kohl's data on demand. SocialCrawl exposes 5 Kohl's endpoints behind one x-api-key, all sharing the same unified schema, so your integration never has to change per platform.
scrape Kohl's
To scrape Kohl's is to extract its public data programmatically instead of by hand. With SocialCrawl you scrape Kohl's by sending a single authenticated request, and the response is normalised into the same JSON shape used across every platform.
Read the full API reference
FAQ

Have a question? We got answers

Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.

Contact us
What data does the SocialCrawl Kohl's API return?
It returns keyword search results with product id, name, current and original price, images, colours, rating and product URL, plus customer reviews, buyer questions with their answers, stores near a coordinate and the site's category tree. All of it comes back as JSON.
Is there a Kohl's product detail endpoint?
No. This API has no product-detail endpoint, so the search row is where the product fields live. Take the product id from a search row and pass it to reviews or questions for the rest.
How do I filter or sort Kohl's search results?
sort_by accepts featured (the default), newest, price_low, price_high, rating or percent_off. filters takes a Kohl's dimension string such as Color:Black or Brand:Nike, with values combined by commas. A query Kohl's cannot match still returns a few unrelated popular products instead of an empty page, so check that the rows fit your keyword.
How do I get every review for a Kohl's product?
Call reviews with the product id, the digits after prd- in the product URL, or with the URL itself. Each page holds 8 reviews by default, up to 50, with text, star rating, title, nickname, date, helpful votes and a verified-purchase flag. Pass the cursor back until has_more is false.
Can I read the buyer questions on a Kohl's product?
Yes, questions returns 10 per page by default with the question text, asker nickname, date, answer count and any attached answers. A product id Kohl's does not know returns an empty list and is not billed.
Can I find Kohl's stores near a location?
Yes, stores takes location_coordinate as lat,lng, for example 40.758,-73.9855, and a radius of 1 to 100 miles (default 25). Each store has an id, name, address, coordinates and store page URL. It searches around one point, so there is no full country list. Credits for failed or empty calls are refunded automatically.
How much does the Kohl's API cost?
Kohl's endpoints are billed per call in credits: standard endpoints cost 1 credit, advanced 5, and premium 10. On Kohl's that works out to between 1 and 5 credits per call. Every account starts with 100 free credits, and there is no subscription. You only pay for the calls you make.
Is scraping Kohl's data legal?
SocialCrawl returns publicly available Kohl's data and does not access private or login-gated content. Whether scraping fits your project depends on your use case and jurisdiction. You are responsible for complying with Kohl's's terms of service and applicable data-protection laws such as GDPR and CCPA. This is general information, not legal advice.
Kohl's scraping API vs the official Kohl's API: what's the difference?
With SocialCrawl there is no app review or approval queue. Sign up and call Kohl's endpoints immediately with a single x-api-key. Responses share one unified schema with every other SocialCrawl platform, and credit-based pricing replaces per-platform quotas. Official APIs are still the right choice for posting and other write actions: SocialCrawl is read-only data.

Ask AI about SocialCrawl

Ready to start scraping Kohl's data?

Get your API key and access all 5 Kohl's endpoints in under 60 seconds.

Start for free

🤖 AI agent or LLM? Read this page as markdown