KLEKT Sneaker & Apparel Resale Scraper icon

KLEKT Sneaker & Apparel Resale Scraper

Scrape sneaker and streetwear listings from KLEKT (klekt.com). Browse the catalog with filters and extract product details, prices, and availability…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

KLEKT Sneaker & Apparel Resale Scraper at a glance

KLEKT Sneaker & Apparel Resale Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes product, brand, sku, asking price and last sold, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.90 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Web data
Pricing
$1.90 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
29 options

Scrape sneaker and streetwear listings from KLEKT (klekt.com). Browse the catalog with filters and extract product details, prices, and availability for resale market research and price monitoring.

What KLEKT Sneaker & Apparel Resale Scraper can do

  • Three ways in. Browse KLEKT's own catalogue with filters, paste exact product URLs, or stream the whole catalogue from the official sitemaps. No need to build URLs by hand.
  • Full market picture per product. Every record carries the catalogue asking price plus the product page's own last sold price, lowest listing price and highest bid, each under its own field, so the numbers never get mixed up.
  • Listing-level catalogue cards. Every catalogue row is an individual marketplace listing carrying its own price, size, box condition, condition badge, seller and likes count - and every listing URL opens its own product page for enrichment.
  • Only the filters KLEKT actually applies. A filter the site would silently ignore, or apply to nothing, is dropped and reported in the run log instead of being sent for show.
  • Price-accurate rows. In Browse mode the price on every record is the same number KLEKT's own price filter matched on, whether or not product-page enrichment is switched on.
  • Works with zero input. Leave everything blank and it browses the full catalogue straight away.

Choose what to collect

These inputs let you configure KLEKT Sneaker & Apparel Resale Scraper. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredBrowse walks the KLEKT catalogue page by page using the strategy and filters below, this is the default and needs no other input. Product URLs scrapes the exact listing pages you paste. Full catalogue streams every product from the official sitemaps (about 15,000 products) and ignores the browse filters.

Choices: browse, product-urls, sitemap

productUrlsarrayKLEKT URLs to scrape (one per line), routed by shape: product pages https://klekt.com/product/new/ (or /product/, with an optional /nl/ or /it/ prefix), pre-owned listings https://klekt.com/listing/-, catalogue grids https://klekt.com/browse or /catalog (?page=N starts the walk at page N?brand=Nike?search=jordan and ?strategy=sale narrow server-side; /catalog// and the legacy /product/used/ also work; ?q and ?sort are not honoured by KLEKT's server and are reported in the run log) and the sitemap https://klekt.com/sitemap.xml. Left untouched, Product URLs mode scrapes one example of each shape, sharing Max items between them. Unsupported URLs are reported in the run log.
strategystringWhich KLEKT catalogue section to walk. After KLEKT rebuilt its storefront (October 2026) only 'On sale' still narrows the catalogue as its own section; the other names are kept for saved tasks but walk the full catalogue (the run log says so when one is picked). 'Trending' (the default) walks the full catalogue.

Choices: trending, used, sale, drops, upcoming, gift_cards

brandstringFilter to one brand, written the way KLEKT displays it (capitals and spaces, not a slug). Observed brands: Nike, Adidas, Air Jordan, New Balance, Yeezy, Asics, Nike SB, Crocs, On, Vans, Saucony, Supreme, Reebok, Converse, Puma, Travis Scott, Luxury, The North Face, Under Armour, Off White, Palace, Rick Owens, Stussy, Timberland, Mizuno, Karhu, Clarks, Fear Of God, Axel Arigato, Kaws, Ugg, Brooks, Brands Other. KLEKT's brand list differs per section, so this is free text; a brand that section does not carry simply returns no products.
brandLinestringOptional narrower model family inside a brand. KLEKT's rebuilt catalogue no longer offers a server-side brand-line filter, so this is dropped with a note in the run log when set.
productCategorystringLimit to one KLEKT product category. These three are the complete set, their counts add up to the unfiltered total. Leave on Any for everything.

Choices: , Sneakers, Streetwear, Accessories

sizeCategorystringLimit to one KLEKT size category. KLEKT's rebuilt catalogue no longer offers a server-side size-category filter, so this is dropped with a note in the run log when set.

Choices: , Men, Women, Youth, Default

Show 22 more inputs
More input fields
InputWhat it controls
sizeMetricstringThe size system the Size field is written in. KLEKT's rebuilt catalogue no longer offers a server-side size filter, so this is dropped with a note in the run log when set.

Choices: , US, UK, EU, CM, US-Men, US-Women, US-Kids, Men-US, WMNS_WOMEN_US, FR, IT, DE, Inch, Length, Presto, model

sizestringOne size, written the way KLEKT writes it (e.g. 10, 10.5, 44, M4/W6). KLEKT's rebuilt catalogue no longer offers a server-side size filter, so this is dropped with a note in the run log when set.
boxConditionstringCondition of the shoe box. KLEKT's rebuilt catalogue no longer offers a server-side box-condition filter, so this is dropped with a note in the run log when set. The listing cards still carry each listing's own box condition in the dataset output.

Choices: , good, missing_lid, damaged, no_box, replacement_box

listingTypestringSplit into genuinely used pairs and new-with-defect pairs. KLEKT's rebuilt catalogue no longer offers a server-side listing-type filter, so this is dropped with a note in the run log when set.

Choices: , used, new_with_defect

availabilitystringLimit to products KLEKT flags as available. KLEKT's rebuilt catalogue no longer offers a server-side availability filter, so this is dropped with a note in the run log when set.

Choices: , 0, 1, 2

priceFromintegerOnly return products priced at or above this many euros. Whole euros, not cents. Leave empty for no lower bound.
priceTointegerOnly return products priced at or below this many euros. Whole euros, not cents. Leave empty for no upper bound.
fetchDetailsbooleanFetch each product's own page for the full record (description, images, seller, last sold price, lowest listing price). Applies to Browse mode ONLY: switching it off there keeps the lighter catalogue row instead, with no per-product enrichment charge. Product URLs mode and Full catalogue mode have no catalogue row behind them, the product page is their only source of data, so detail fetching always runs in those two modes and the run log says so.
maxItemsintegerMaximum number of products to scrape (up to 1,000,000). 0 = no cap (stop only at the end of the catalogue). Counts records actually returned, not pages read.
maxPagesintegerSafety bound on how many catalogue pages Browse mode walks (20 products per page). 0 (the default) means no input limit: the walk stops at the end of the section or at Max items, and code enforces a hard ceiling of 5000 pages.
maxReviewsPerProductintegerCommunity reviews to attach to each product row (reviewer, ratings, size, text, helpful votes), 20 per page. 0 = none. Capped at 1000 per product to bound run time. Applies wherever the product page is fetched.
resumeFromRunIdstringOptional. ID of a previous run of this Actor (or a dataset ID). Products already in that dataset are skipped, so this run returns only NEW products (a delta) and is not billed for the skipped ones. Combine both runs' datasets for the full set. Max items then counts only the new products. A resumed run never marks anything EXPIRED. For recurring monitoring of the same scope, use Incremental mode below instead.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently configured runs. Leave empty to derive a key automatically from the scope; changing the ignore fields or change scope on an automatic key starts a fresh baseline (first run returns everything as NEW), so set a State key to keep one baseline across such changes.
emitUnchangedbooleanOff by default. Turn on to also return products that have not changed since the last run, marked UNCHANGED. This returns (and bills) rows you already have, so leave it off unless you want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return products that were tracked before but are no longer found, marked EXPIRED. Only produced after a COMPLETE scan: never when Max items or Max pages stopped the walk, when any request failed, or when Resume was used. EXPIRED means the product dropped out of this scope's listing, not that it is sold; read availability for stock. Returns (and bills) extra rows.
changeScopestringAll fields (default): any change to the product record, except the always-ignored postedAgo, likesCount and detailScraped, returns an UPDATED row. Price and availability only: only a change to the asking price, currency, lowest listing, highest bid, last sold price or availability returns an UPDATED row; name, images, description, seller and other details never do.

Choices: all, priceAndStock

compactUpdatesbooleanOff by default. When on, UPDATED and EXPIRED rows are short: id, url, name, current price and availability plus priceChanges (old and new value of each moved price field). NEW rows always carry the complete record. Compact rows carry no product-page data, so they do not trigger the detail-enrichment charge.
expireAfterMissedScansintegerOnly used with Emit expired products. A product is marked EXPIRED only after it has been missing from this many complete scans in a row (default 1). Raise it (e.g. 3) so a listing that briefly drops out is not reported as gone. A product that comes back resets the count.
ignoreFieldsForChangesarrayOptional. Field names to exclude from UPDATED change detection, in addition to the built-in handling (postedAgo, likesCount and detailScraped never count). Use it when another field turns out to be noisy in your setup, e.g. imageUrl or images if the image host rotates. A dotted name such as images.url drops that key inside every element of a nested value. Ignored fields are still returned on every row.
mcpConnectorsarrayOptionally send scraped KLEKT products into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify → Settings → API & Integrations, then select it here. Notion gets a rich page-per-product export; other connectors get a best-effort write/digest. Leave empty to skip; never changes the dataset output. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which one page per product is created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on products written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

nameProduct (text)
brandBrand (text)
skuSKU (text)
priceAmountAsking price (number)
lastSoldPriceLast sold (number)
priceCurrencyCurrency (text)
sizeSize (text)
availabilityAvailability (text)
boxConditionBox condition (text)
urlURL (link)
lowestListingPriceLowest listing (number)
lowestListingSizeLowest listing size
Show 20 more fields
highestBidHighest bid (number)
averageDeadstockPriceAverage deadstock price (number)
totalSalesTotal sales (number)
priceFluctuationPrice fluctuation (number)
modelModel
releaseYearRelease year
releaseDateRelease date
colorwayColorway
reviewsreviews
reviewerReviewer
ratingReview stars (number)
sizeFeelingSize feeling
reviewSizeSize bought
textReview
helpfulVotesHelpful votes (number)
replyCountReplies (number)
changeTypeChange
changedFieldsChanged fields (array)
firstSeenAtFirst seen
lastSeenAtLast seen

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "a1b2c3d4-1111-2222-3333-000000000000",
  "type": "catalog_product_variant",
  "name": "Sample Runner 1 'Example' (2024)",
  "brand": "Sample Brand",
  "sku": "XX1234-000",
  "slug": "sample-runner-example-2024",
  "url": "https://klekt.com/product/new/sample-runner-example-2024",
  "description": "Sample product description text.",
  "colorway": "Sample/White",
  "availability": "InStock",
  "priceAmount": 134,
  "priceCurrency": "EUR",
  "lastSoldPrice": 162.4,
  "lowestListingPrice": 136.5,
  "lowestListingSize": "US 9",
  "highestBid": 101,
  "averageDeadstockPrice": 244.37,
  "totalSales": 520,
  "priceFluctuation": 4,
  "releaseYear": "2024",
  "imageUrl": "https://images.klekt.com/sample/thumb.jpg",
  "images": [
    "https://images.klekt.com/sample/1.jpg",
    "https://images.klekt.com/sample/2.jpg"
  ],
  "seller": "KLEKT",
  "detailScraped": true
}

Ways to use this data

  • Resale price tracking: compare catalogue asking prices against last sold price and highest bid to spot under or over priced listings.
  • New-release monitoring: sort the catalogue by the freshest listings and watch prices move from day one.
  • Marketplace and arbitrage research: compare KLEKT prices, by size and box condition, against other resale platforms.
  • Product catalogue enrichment: pull structured brand, SKU, colorway and size data into a database or price-comparison tool.
  • Sale and pre-owned research: track the On sale section and per-listing box condition and condition badges.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does KLEKT Sneaker & Apparel Resale Scraper return?

The documented output for KLEKT Sneaker & Apparel Resale Scraper includes product, brand, sku, asking price, last sold, currency, size and availability. Availability of each field depends on the source page and the selected mode.

How much does KLEKT Sneaker & Apparel Resale Scraper cost?

It costs $1.90 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Why did my run return fewer products than Max items?

A few reasons: the catalogue section, brand or size combination genuinely has fewer matching products than requested; a filter you set was dropped because KLEKT would have ignored it (check the run log for a note); or, rarely, the section was re-ranked or received a burst of new listings mid-run, so a later catalogue page came back holding only products already collected earlier in the same run, which the walk treats as reaching the end (the log says the page "repeated the previous page's products"). That last case mostly affects large, unfiltered runs deep into a section; re-running, or narrowing with filters, works around it.

Why does brand come back empty on some products?

KLEKT's catalogue rows carry no brand field at all. With Fetch product details on (the default in Browse, and always on in the other two modes), it is filled from the product page. With it off in Browse mode, catalogue-only rows have no brand. Pre-owned listing pages also do not publish a brand, so it can stay empty on Used and On sale rows even with detail fetching on.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with KLEKT Sneaker & Apparel Resale Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.