JD.com 京东 Jingdong Scraper - Prices & Reviews avatar

JD.com 京东 Jingdong Scraper - Prices & Reviews

Pricing

from $3.99 / 1,000 products

Go to Apify Store
JD.com 京东 Jingdong Scraper - Prices & Reviews

JD.com 京东 Jingdong Scraper - Prices & Reviews

Extract JD.com 京东 (Jingdong) product prices, images, shop data, attributes, and reviews by keyword. Supports Chinese searches like 苹果手机, 笔记本电脑, 机械键盘 plus Jingdong/Jindong queries. Export JSON, CSV, Excel.

Pricing

from $3.99 / 1,000 products

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

1

Bookmarked

70

Total users

23

Monthly active users

4 hours ago

Last modified

Share

JD.com 京东 Jingdong Scraper - Prices, Details & Reviews (2026)

Search JD.com (京东 / Jingdong) by keyword and extract product rows with CNY prices, ratings, sales, shop data, images, and specs, plus optional live product detail and customer reviews.

JD.com Product Scraper

Copy to your AI assistant

zen-studio/jd-com-search-scraper on Apify. Searches JD.com (京东 / Jingdong) by keyword; returns product rows with CNY prices, shop data, images, and specs, plus optional detail and reviews. Call ApifyClient("TOKEN").actor("zen-studio/jd-com-search-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: keyword. Full spec: GET https://api.apify.com/v2/acts/zen-studio~jd-com-search-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations
Zen Studio China Scrapers   •  JD.com, Taobao, 1688, and Goofish product data
 Taobao ↗
淘宝 prices, SKUs, reviews
 1688 Search ↗
Wholesale product data
 Goofish Search ↗
闲鱼 resale listings

How to Search JD.com

Use English or Chinese JD.com / 京东 / Jingdong product keywords. Common searches include 京东商品, 京东价格, 京东评价, 苹果手机, 笔记本电脑, 机械键盘, 运动鞋, iphone 15, Jingdong, Jindong, and brand terms.

Default enriched products

{
"keyword": "iphone 15"
}

Search-only rows

{
"keyword": "笔记本电脑",
"maxItems": 50,
"enrichWithDetails": false
}

Enriched rows with customer reviews

{
"keyword": "机械键盘",
"maxItems": 10,
"fetchReviews": true,
"maxReviewsPerItem": 20
}

Price range filter

{
"keyword": "iphone 15",
"minPrice": 500,
"maxPrice": 1500,
"sort": "popularity"
}

Category filter

{
"keyword": "iphone 15",
"category": "mobile_phones",
"maxItems": 20
}

Category filtering defaults to all. Non-default categories use tested JD.com leaf category IDs and then apply keyword post-filtering before any detail enrichment or review fetching. This avoids obvious loose matches, but JD.com category metadata is marketplace-controlled, so category runs can return fewer rows than maxItems.

Input Parameters

ParameterTypeDefaultDescription
keywordstringrequiredJD.com product search keyword.
categorystringallOptional tested category slug: all, mobile_phones, phone_cases, second_hand_phones, quasi_new_phones, laptops, laptop_accessories, keyboards, running_shoes. Category runs use keyword post-filtering before detail calls and may return fewer rows.
maxItemsinteger20Maximum products to return. Test runs are capped at 5 products; free-tier runs are capped at 20 products.
sortstringrelevancerelevance, popularity, lowest_price, highest_price, or recently_updated. recently_updated uses marketplace update recency, scans larger search pages, and filters weak keyword matches client-side. It may return fewer rows when the source returns loose recent matches.
minPrice / maxPricenumberblankOptional CNY (¥) price range. Source-side price filtering can be loose, so the actor also enforces this range locally before delivery.
enrichWithDetailsbooleantrueAdds the detail object per product: live stock and delivery estimate, full color/size variant, package dimensions, model, service guarantees, bestseller rank, and the full shop-rating suite.
fetchReviewsbooleanfalseFetches separate customer review pages and bills only the explicitly fetched reviews.
maxReviewsPerIteminteger20Maximum explicit reviews per product when review fetching is enabled.

One dataset row represents one JD.com product. Core fields are native and come on every row; the detail object and the reviews array are added only when you enable the matching add-on.

  • Product identity & search context: skuId, itemId, spuId, brandId, title, url, mobileUrl, category IDs (cid1/cid2/cid3), plus your searchKeyword, searchSort, searchCategory, searchRank, and scrapedAt.
  • Pricing (CNY): price, priceDisplay, priceLabel, businessPrice, installmentMonths.
  • Ratings & sales: positiveRate, soldText, commentCounts, salesTags, ranking, shortReview.
  • Seller, shop & stock: selfOperated, shop, stockQuantity, delivery (deliveryDays, freeShipping, localStore), promotions (badges, benefits, promotionIcon).
  • o2o (local-store same-day delivery, when available): the nearby fulfilling store (name, distance, rating, opening hours, authorization) and same-day delivery (ETA, batch window, delivery fee, coupon). Null on normal product cards.
  • Media & specs: image, five images sizes, short-video fields, specs, colorCount, international, eBook.
  • detail (with the product-detail add-on): live stock & delivery estimate, full color/size variant, package dimensions, model, return/import/new flags, purchase limit, VAT, bestseller rank, service guarantees, and the full shop-rating suite (evaluation, logistics, and customer-service scores plus grades).
  • reviews (with the customer-review add-on): reviews with rating, bilingual text, date, images/video, and like counts, plus reviewsTotalCount.

Output Example

Key fields are shown for a fully enriched row (product-detail and customer-review add-ons both enabled). The reviews array shows one representative entry (reviewsTotalCount gives the full count) and long image URLs are trimmed for readability. Prices are in CNY (Chinese yuan).

{
"cardType": "product",
"skuId": "100331677402",
"itemId": "jd-100331677402",
"spuId": "100248562385",
"shopId": "1000004259",
"venderId": "1000004259",
"brandId": "8557",
"url": "https://item.jd.com/100331677402.html",
"mobileUrl": "https://item.m.jd.com/product/100331677402.html",
"cid1": "9987",
"cid2": "653",
"cid3": "655",
"title": "华为畅享 90 Pro Max 256GB 曜金黑 8500mAh巨鲸大电池 鸿蒙AI 直屏手机",
"titleOriginal": "华为畅享 90 Pro Max 256GB 曜金黑 8500mAh巨鲸大电池 鸿蒙AI 直屏手机",
"sellingPoint": "8500mAh 巨鲸大电池",
"shortReview": "画面高清配上鸿蒙6.0",
"price": 1999.0,
"priceDisplay": "¥1999",
"priceLabel": "京东价",
"businessPrice": 1999.0,
"installmentMonths": null,
"image": "https://m.360buyimg.com/mobilecms/s348x348_jfs/t1/472442/2/1216/.../item.jpg",
"images": {
"main": "https://m.360buyimg.com/mobilecms/s348x348_jfs/t1/472442/.../item.jpg",
"list": "https://m.360buyimg.com/mobilecms/s264x264_jfs/t1/472442/.../item.jpg",
"long": "https://m.360buyimg.com/mobilecms/s348x464_jfs/t1/472442/.../item.jpg",
"waterfall": "https://m.360buyimg.com/mobilecms/s348x348_jfs/t1/472442/.../item.jpg",
"original": "jfs/t1/472442/2/1216/150222/6a447337F12d1e706/00835a05a00bf720.jpg"
},
"imageWidth": "348",
"imageHeight": "348",
"video": null,
"selfOperated": true,
"shop": { "shopId": "1000004259", "name": "华为京东自营旗舰店", "describe": "五星店铺" },
"positiveRate": "98%",
"soldText": "10万+",
"commentCounts": { "6": "20万+", "8": "20万+" },
"salesTags": [ { "type": "1", "text": "热销" } ],
"ranking": { "title": "手机热卖榜", "rankType": "10", "rankId": "1914190" },
"specs": [
{ "title": "屏幕尺寸", "value": "6.84英寸" },
{ "title": "特征特质", "value": "大底主摄" },
{ "title": "屏幕材质", "value": "OLED直屏" }
],
"colorCount": 4,
"stockQuantity": null,
"international": false,
"eBook": false,
"badges": [ "oldChangeNew" ],
"promotionIcon": "https://m.360buyimg.com/umm/jfs/t1/456045/.../promo.png",
"benefits": [ "60分钟达", "以旧换新" ],
"deliveryDays": 1,
"freeShipping": null,
"localStore": false,
"o2o": null,
"searchKeyword": "手机",
"searchSort": "relevance",
"searchCategory": "all",
"searchCategoryLabel": "All categories",
"searchRank": 2,
"scrapedAt": "2026-07-16T10:15:55Z",
"search": {
"keyword": "手机",
"totalCount": 1800,
"hasNextPage": true,
"curPage": "1",
"pageCount": "15",
"hitCategory": [ "9987", "653", "655" ]
},
"detail": {
"skuId": "100331677402",
"name": "华为畅享 90 Pro Max 256GB 曜金黑 8500mAh巨鲸大电池 鸿蒙AI 直屏手机",
"brand": "华为(HUAWEI)",
"model": "ALN-AL80",
"category": { "cat1": "9987", "cat2": "653", "cat3": "655" },
"variant": { "color": "曜金黑", "size": "256GB", "spec": "标准版" },
"colorSizeMatrix": [ ],
"mainImage": "https://img13.360buyimg.com/n0/jfs/t1/464471/37/1586/.../item.jpg",
"videoId": "4161636971",
"dimensions": { "length": "190", "width": "102", "height": "68", "weight": "0.540" },
"isPop": false,
"saleDate": "2026-05-20 23:39:22",
"returnable7Day": true,
"overseas": false,
"isNewProduct": true,
"prescription": false,
"otc": false,
"maxPurchaseQty": 2,
"couponUsable": { "dongQuan": true, "jingQuan": true },
"tax": { "consumption": 0, "input": 13, "output": 13 },
"bestsellerRank": { "title": "手机热卖榜第18名", "rank": 18, "rankId": "1914190" },
"services": [
{ "name": "7天无理由退货", "tip": "支持7天无理由退货" },
{ "name": "全国联保", "tip": "由品牌厂商或商家提供保修服务" }
],
"flashSale": null,
"bankPromo": null,
"vendor": {
"venderId": "1000004259",
"shopId": "1000004259",
"shopName": "华为京东自营旗舰店",
"goodsNum": "312",
"fans": "77652159",
"afterServiceScore": "8.5",
"commentScoreGrade": "高",
"scores": {
"overall": "5.0",
"userEvaluation": "9.7",
"logistics": "8.9",
"customerService": "10.0",
"afterSale": "8.5",
"adviceGrade": "高",
"afterSaleGrade": "中",
"logisticsGrade": "中",
"disputeGrade": ""
},
"logo": "https://img30.360buyimg.com/popshop/jfs/t1/130780/.../logo.png",
"banner": "https://img11.360buyimg.com/jshopm/jfs/t1198/.../banner.jpg"
},
"stock": {
"state": 33,
"inStock": true,
"shipping": "运费5元起",
"deliveryEstimate": "付款后预计45分钟内为您送达",
"jdExpress": true,
"onDemand": true
},
"video": {
"url": "https://vod.300hu.com/24/4c1f7a6a.../video.mp4",
"definition": "标清",
"sharpness": "low"
}
},
"reviews": [
{
"externalId": "20549463947",
"itemId": "jd-100331677402",
"createdTime": "2026-06-14T20:04:06Z",
"isApproved": true,
"userName": "j***a",
"rating": 5,
"text": "Huge battery, easily lasts two days. Screen is bright and the system feels smooth.",
"originalText": "大电池,轻松用两天。屏幕很亮,系统很流畅。",
"originalLanguage": "zh-chs",
"imageUrls": [ "https://img30.360buyimg.com/shaidan/jfs/t1/.../photo.jpg" ],
"videos": [],
"featuredValues": [ { "name": "likeCount", "value": "12" } ]
}
],
"reviewsTotalCount": 328
}

Short-video result cards use cardType: "shortVideo" and carry video, videoCover, videoDuration, and videoAuthor in place of the standard product image and price.

When a store near the search location can deliver the product same-day, the row also carries an o2o object (otherwise o2o is null):

"o2o": {
"cardType": "DaojiaNewLocStore",
"bizType": "JDDJ",
"price": 2699.0,
"inStock": true,
"booking": false,
"coupon": "满2699减250",
"promoTags": [ "满2699减250" ],
"store": {
"id": "1000282552",
"name": "Apple授权专营店-蓝色港湾",
"distance": "1.6km",
"grade": "4.9",
"positiveRate": "好评率99%",
"authorized": true,
"openTime": "10:00",
"closeTime": "21:00",
"logo": "https://img10.360buyimg.com/popshop/jfs/t1/199310/.../logo.png"
},
"delivery": {
"text": "接受预订,今天10:00后配送",
"aging": "约24分钟达",
"batch": "10:21-10:36",
"tags": [ "今日10:21起送 | 24分钟达" ],
"freight": 5.0,
"freightText": "基础运费:¥5"
}
}

Pricing

This Actor uses pay-per-event pricing. You pay for the data level you request. Apify Store discounts may lower these unit prices.

OutputEventBase price
Product rowsearch-result$5.99 / 1,000 products
Detail enrichment add-ondetail-enrichment$5.99 / 1,000 products
Customer review add-onreview$4.99 / 1,000 reviews

The default run returns enriched products without explicit review calls: product row + detail enrichment. Turn off enrichWithDetails for cheaper search-only discovery. Turn on fetchReviews only when review text matters.

Notes on Filters

JD.com search supports relevance, popularity, low-price, high-price, recently updated, CNY price range, and tested category filtering.

recently_updated uses marketplace update recency, then filters weak keyword matches client-side. Category searches also use keyword post-filtering before detail calls. Both modes can return fewer rows than maxItems when source matching is loose.

Price filters are enforced locally against the CNY price field, because source-side filtering can return occasional out-of-range rows.

Searching by raw category ID, vendor ID, or image is not supported in this version.

FAQ

Can I search in Chinese?

Yes. Use Chinese keywords such as 苹果手机, 笔记本电脑, 机械键盘, or 运动鞋.

Can I search in English?

Yes. English product and brand keywords such as iphone 15, laptop, keyboard, and running shoes work.

What is the difference between search-only and enriched output?

Search-only rows include product identity, title, URL, CNY price, ratings and sales, shop, category IDs, images, specs, and search metadata.

Enriched rows add a detail object: live stock and delivery estimate, the full color/size variant, package dimensions, model, service guarantees, bestseller rank, and the full shop-rating suite.

Are reviews included by default?

Explicit review fetching is off by default because reviews are billed separately. Turn on fetchReviews to add the reviews array.

What happens if product detail is unavailable?

The Actor returns a partial search row with _detailEnriched: false. You are not charged for detail enrichment on that row.

Does maxItems always return exactly that number?

The Actor returns up to maxItems. Actual count depends on how many matching products JD.com returns after keyword, category, sort, price, budget, and free-tier filters.

What currency are prices in?

Prices are returned in Chinese yuan (CNY): price is numeric (e.g. 1999.0) and priceDisplay is the formatted string (e.g. ¥1999).

How does the free tier work?

Free-tier users get 5 lifetime runs, capped at 20 products per run.

Why do some optional fields return null or empty arrays?

JD.com does not expose every field for every product. Empty top-level fields remain stable in the dataset schema; nested arrays can be empty when a product has no data for that block.

More Zen Studio scrapers for Chinese platforms

🛒 E-commerce

🎬 Short-video & social

🏠 Real estate & autos

Support

Open an issue on the Actor page if a keyword consistently returns empty results, if a field changes type, or if a filter behaves differently than expected.

For reproducible support, include the input JSON and the run ID.