JD Sports Product Scraper avatar

JD Sports Product Scraper

Pricing

from $1.00 / 1,000 products

Go to Apify Store
JD Sports Product Scraper

JD Sports Product Scraper

Scrapes JD Sports product listings (search or category browse) with name, brand, SKU, price, availability, image and URL, from the JD Sports mobile MESH API. Covers 14 country stores.

Pricing

from $1.00 / 1,000 products

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Scrape JD Sports product listings — by keyword search or category browse — as structured dataset rows. The actor talks to JD Sports' mobile MESH API directly (reversed from the com.jd.jdsports Android app), so results are the same data the app shows: name, brand, SKU, price, discount, availability, colour, image and product URL.

No account or API key required — the per-store x-api-key and Hawk request-signing credentials are recovered from the app and built into the client.

Input

FieldTypeNotes
modeselectsearch (keyword) or category (browse a category slug).
querystringSearch keywords (search mode) or a category slug like men, women/shoes (category mode).
storeselectCountry store: GB, IE, ES, FR, NL, DE, BE, IT, DK, SE, MY, AU, PT, AT, FI, SG, NZ, JX.
sortselectlatest, name-a-z, name-z-a, price-low-high, price-high-low, or default relevance.
maxItemsintegerMax products. 0 = all.
proxyConfigurationproxyOptional (the API answers from datacenter IPs); defaults to Apify Proxy.

Example input

{
"mode": "search",
"query": "nike air max",
"store": "GB",
"maxItems": 100,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Output

One row per product:

{
"name": "Nike Air Max 95 Junior",
"brand": "Nike",
"sku": "19738833",
"price": "105.00",
"currency": "GBP",
"is_discounted": false,
"availability": "IN STOCK",
"colour": "Black",
"url": "https://www.jdsports.co.uk/product/black-nike-air-max-95-junior/19738833/",
"image": "https://..."
}

Every raw MESH field not mapped to a friendly key is preserved under a raw_* prefix, so nothing is lost.

Pricing

Pay-per-event: $0.001 per product returned.

Notes & limitations

  • Category slugs come from the store's own navigation tree (the app's nav endpoint). Use the slugs JD Sports itself uses, e.g. men, women, women/shoes.
  • The x-api-key is enforced by the API; the Hawk signature is validated-when-present but not required — the client sends a correct one anyway for full app fidelity.
  • This is an unofficial client and is not affiliated with or endorsed by JD Sports.

Product details (PLP vs PDP)

By default the actor returns lightweight listing (PLP) rows. Set includeDetails: true to also fetch each product's detail page (PDP) — adding the full description, fabric, image gallery, review summary, and every size with per-size SKU, price and stock. The extra per-product call is billed as a separate product-details event ($0.001 each).