JD Sports Scraper
Pricing
from $3.00 / 1,000 results
JD Sports Scraper
Scrape JD Sports UK (jdsports.co.uk) -- search or browse sneakers, streetwear, and sportswear by category or brand. Get title, brand, price, sale price, colour, sizes in stock, images, and full product detail. No login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape JD Sports UK — sneakers, streetwear, and sportswear from Nike, adidas, Jordan, New Balance, ASICS, and 40+ other brands. Search by keyword, browse by category or brand, or fetch full detail for specific product URLs. Get price, sale price and discount, colour, per-size stock, images, and a full product description. No login, cookies, or paid proxy required.
What this actor does
- Four modes:
search,category,brand,url - Full category tree: Footwear (trainers, running, classic, hi-tops, boots, sandals, and more), Clothing, Accessories, and Sale — for Men, Women, and Kids
- 44 brands available as a dropdown filter or dedicated browse mode
- Live pricing: current price, pre-discount "was" price, and computed discount %
- Per-size stock: UK shoe sizes / clothing sizes with in-stock / out-of-stock status (opt-in — adds one request per product)
- Filters: price range, sale-only, colour, brand, gender/department, size-in-stock
- Empty fields are omitted — every record only contains data JD Sports actually returned
Output per product
| Field | Description |
|---|---|
productId | JD Sports internal product code (PLU) |
title | Product name |
brand | Brand name |
colour | Colourway |
gender | men / women / kids, derived from the category breadcrumb |
category, categoryPath | Category breadcrumb, e.g. Men / Mens Footwear / Trainers |
price | Current price (GBP) |
wasPrice | Pre-discount price, only present when the item is on sale |
discountPercent | Computed % off, only present when on sale |
onSale | true if currently discounted |
currency | Always GBP (JD Sports UK) |
description | Full product description (mode=url or fetchFullDetail) |
articleCode | Manufacturer article/style code, e.g. DB3021 (detail only) |
images | Full image gallery URLs (detail only; listing pages return a single imageUrl) |
imageUrl | Listing-page thumbnail (search/category/brand modes, unless fetchFullDetail is set) |
sizes | Array of {size, inStock, upc, sku} — only when sizes were fetched |
sizesAvailable | Flat array of in-stock sizes only |
availability | In Stock / Out of Stock (detail only) |
productUrl, sourceUrl | Canonical JD Sports product page URL |
recordType | Always "product" |
scrapedAt | UTC ISO timestamp |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | search | search / category / brand / url |
searchQuery | string | air max | Free-text query (mode=search) |
category | select | footwear-trainers | Category slug (mode=category); combined with gender |
brand | select | nike | Brand slug (mode=brand) |
gender | select | – | men / women / kids — scopes category/brand, hints search |
productUrls | array | – | Full product page URLs (mode=url) |
sortBy | select | recommended | recommended / latest / name-a-z / name-z-a / price-low-high / price-high-low |
minPrice / maxPrice | integer | – | Price range filter (GBP, current price) |
onSaleOnly | boolean | false | Only emit discounted products |
colour | select | – | Colour filter (21 options) |
brandFilter | select | – | Narrow search/category results to one brand |
genderFilter | select | – | Narrow search/brand results to one department |
size | string | – | Only emit products with this size currently in stock (adds one request per product) |
fetchFullDetail | boolean | false | Fetch full detail (description, image gallery, article code, sizes) for every result, not just listing-page fields |
maxItems | integer | 24 | Hard cap on emitted records (1–2000) |
proxyConfiguration | object | AUTO | Apify proxy config; the free AUTO datacenter group is used as an automatic fallback if a run is rate-limited — no paid proxy is required |
Example: search by keyword
{ "mode": "search", "searchQuery": "air max 90", "maxItems": 20 }
Example: browse Men's trainers on sale, sorted by price
{"mode": "category","category": "footwear-trainers","gender": "men","onSaleOnly": true,"sortBy": "price-low-high","maxItems": 40}
Example: browse a brand, filtered by size in stock
{ "mode": "brand", "brand": "adidas", "gender": "men", "size": "9", "maxItems": 20 }
Example: fetch full detail for specific products
{"mode": "url","productUrls": ["https://www.jdsports.co.uk/product/black-adidas-originals-handball-spezial/16227358/"]}
Use cases
- Price monitoring — track sale prices and discount % across sneaker drops
- Assortment / catalog research — pull a brand's or category's full live JD Sports range
- Stock alerts — poll
sizeavailability for a specific shoe size - Competitor / market intelligence — benchmark pricing against other sneaker retailers
- Deal aggregation — feed
onSaleOnlyresults into a deals feed
Data source & limitations
Data comes directly from JD Sports UK's server-rendered pages (jdsports.co.uk) — no login, cookies, or paid proxy required. Category/search/brand listing pages embed a full JSON product payload per page (72 products); product detail pages carry standard schema.org/Product JSON-LD plus a stock endpoint for per-size availability.
- Ratings/reviews are not included: JD Sports loads its review widget via a third-party script that requires JS execution and isn't reliably reachable from a plain HTTP fetch — rather than fabricate a rating, the field is omitted entirely.
- Kids category coverage is narrower than Men/Women — JD Sports structures its Kids catalog differently (fewer sub-categories are exposed as distinct URLs).
footwear-trainers,footwear-football-boots,footwear-all,clothing-all,accessories-all,accessories-sale, andsale-allare available for Kids; sub-categories likefootwear-classic-trainersare not. - Currency is always GBP, matching JD Sports UK.
- Fetching
sizes/availability(viasizefilter orfetchFullDetail) makes one extra request per product — use a modestmaxItemswhen enabling it on large runs.
FAQ
Do I need a JD Sports account or cookies? No — every field is publicly visible without logging in.
Why do some products have no wasPrice? Only currently-discounted products carry a wasPrice; full-price products only have price.
What sizes does the size filter use? Whatever JD Sports lists on the product page — UK shoe sizes (e.g. 9, 9.5) or clothing letter sizes (e.g. M, L), matched exactly.
Can I get every image, not just the thumbnail? Yes — set fetchFullDetail: true, or use mode: "url" with specific product URLs, to get the full gallery in images.
How current is the data? Live — every run fetches the current JD Sports site directly; there is no caching layer.