JD.com Product Scraper — Bulk SKU & URL Details avatar

JD.com Product Scraper — Bulk SKU & URL Details

Pricing

from $1.00 / 1,000 results

Go to Apify Store
JD.com Product Scraper — Bulk SKU & URL Details

JD.com Product Scraper — Bulk SKU & URL Details

Scrape JD.com product pages by SKU or URL — titles, prices when exposed, images, shop metadata. Unofficial — not affiliated with JD.com.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Bakos Bence

Bakos Bence

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

What does JD.com Product Scraper do?

Output: every row has name and source. price is filled whenever a public source exposes it (mobile SSR, then gwdang history/same-SKU, then JD price API). Unpriced products are still emitted — no skip filter.

Unofficial. This Actor is not affiliated with, endorsed by, or maintained by JD.com / Jingdong. It reads public product pages only — no login, no account cookies.

Dashboards: connect Power BI, Tableau, Looker Studio, or Qlik to the dataset API — see Export to Power BI, Tableau, Looker Studio & Qlik near the end. AI agents: paste this Actor’s Store page URL into an Apify-capable agent (MCP / Claude / Cursor with Apify), create an Apify account and API token once, and the agent can run the Actor and wire up the output.

Related: Shopify Products Scraper · eMAG Product Scraper

Why use this JD.com scraper?

  • Fast HTTP path (curl_cffi TLS impersonation) — no headless browser
  • 📦 Bulk SKU lists + item.jd.com / mobile product URLs
  • 🔑 Input aliases (skuIds / skus, startUrls / productUrls) — clone-compatible with piotrv1001/jd-com-product-scraper and automation-lab/jd-com-product-scraper
  • 💴 Prices kept with currency (CNY) when the public page exposes them
  • 🖼️ Full image gallery URLs normalized to JD CDN

What data can you extract?

Public product fields from JD mobile product HTML: SKU ID, title, brand / brand ID, shop ID / name, vendor ID, category IDs, main image + gallery, product area, weight, SKU status, desktop + mobile URLs, scrape timestamp. Live list/sale prices appear only when JD embeds them in the public HTML for that request (geo / session dependent).

Use cases

  • Catalog enrichment from known JD SKU lists
  • Assortment / brand tracking on JD.com
  • Competitor product snapshots for China retail research
  • Image + metadata feeds for matching pipelines

How to scrape JD.com products

  1. Open this Actor in Apify Console.
  2. Click Start on the prefilled SKUs (maxItems 2). Keep Residential + JP proxy.
  3. Or paste your own SKU IDs / https://item.jd.com/{sku}.html URLs.
  4. Export JSON/CSV from the dataset, or open the Issues tab on this Store page if a run fails.
{
"skuIds": ["100012043978", "100026667942"],
"maxItems": 2,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "JP"
}
}

Sample output

{
"skuId": "100012043978",
"title": "茅台飞天 53%vol 500ml 贵州茅台酒(带杯)【需预约购买】",
"shortTitle": "【酒厂直供】茅台飞天53度单瓶装",
"brand": "茅台",
"shopName": "贵州茅台",
"shopType": "KA店铺",
"price": 1041.0,
"currency": "CNY",
"barcode": "6902952880294",
"sellPoint": "荣耀传承|国货匠心",
"variantCount": 16,
"stockStateLabel": "in_stock",
"stockQuantity": 125,
"deliveryPromise": "18:00前付款,预计明天(09月01日)送达",
"weightKg": 1.1,
"url": "https://item.jd.com/100012043978.html",
"mobileUrl": "https://item.m.jd.com/product/100012043978.html",
"source": "jd.com"
}

Input

FieldRequiredDescription
skuIds / skusone ofNumeric JD SKU IDs
startUrls / productUrlsone ofitem.jd.com or mobile product URLs
maxItemsnoCap rows (prefill 2)
maxRetriesnoPer-SKU retries (default 3)
proxyConfigurationrecommendedResidential JP on Apify
expandRelatednoFollow related SKUs until maxItems
enrichCommentsnoBest-effort public comment aggregates (often blocked)
enrichAggregatornoPublic 购物党 APIs → priceCompare (brand/class + cross-offers)

Pricing

See the Pricing tab on this Actor’s Store page (Free vs paid plans differ). Platform usage is configured separately in Console monetization.

Limitations

  • Desktop item.jd.com pages are often JS shells; this Actor uses mobile product HTML, which carries the product JSON.
  • Real-time price microservices are frequently blocked for proxy traffic. When price is not in the public HTML, price is null — we do not bypass login or inject account cookies.
  • Aggressive concurrency without residential proxies can trigger JD risk control (local datacenter IPs often get a ~2.7KB verify shell). On Apify Residential JP, stress tests held 0 challenges through concurrency 24 (~2.5 products/s for 60 SKUs). Prefer maxConcurrency 12–24; drop to 6–8 if challenges in OUTPUT.stats rises.
  • expandRelated only grows within the SKU neighborhood found in product HTML — it is not a full-catalog crawler.
  • Review bodies / author profiles are never scraped (PII). Optional enrichComments tries public count/rate JSON only; club APIs often return busy/blocked.
  • Graphic description HTML, live coupon lists, and Q&A are usually lazy API modules — not in mobile SSR; left null when absent.
  • Optional enrichAggregator uses public 购物党 (gwdang) browser endpoints (brwext/prepare, brwext/dp_query_latest) for brand/class labels and cross-offer prices. Price-history (tip_new) is often rate-limited.

Public product facts only. No personal data of natural persons. No login / paywall bypass. Not affiliated with JD.com.

Export to Power BI, Tableau, Looker Studio & Qlik

Use the run’s dataset items API URL as a web data source in your BI tool. Authenticate with your Apify API token. Schedule the Actor, then refresh the dataset in the BI tool on the same cadence.