JD Search Scraper avatar

JD Search Scraper

Pricing

from $2.00 / 1,000 products

Go to Apify Store
JD Search Scraper

JD Search Scraper

The JD Search Scraper extracts JD.com (京东) search results for any keyword: real CNY price, shop, self-operated flag, review count, good rate and listing date, plus optional brand, model, UPC barcode and stock. Ideal for JD price tracking and China market research.

Pricing

from $2.00 / 1,000 products

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Turn any JD.com (京东) search into a clean table of products. The JD Search Scraper returns each product's real price in Chinese yuan, its shop, whether JD sells it itself (京东自营), the review count, the good rate, review tags, category ids and the date it was listed. Type a keyword in Chinese or English, or paste a JD search address, and use it as a JD price tracker, for JD shop and seller research, or as a simple JD API for product data.

🎯 Use Cases

  • JD price tracking: schedule a daily search for iphone, 华为手机 or 茅台 and keep a dated record of JD prices.
  • JD shop and seller research: see which JD shops sell a product, which are self-operated (京东自营) and how their prices compare.
  • JD product data for China market research: size a category by price band, review count and good rate before you enter it.
  • Brand monitoring on JD: find every listing of your brand, its seller and its price, including resellers next to your official store.
  • Barcode matching: with details on, join JD listings to your own catalogue by UPC/EAN barcode and model number.

✨ Features

  • Real prices as numbers: price is the yuan price a shopper sees, not the masked 1??9 of a product page.
  • Shop and seller fields: shop name, shop id, vendor id, shop link and the self-operated flag.
  • Reviews: review count as a number (10万+ becomes 100000) and as JD shows it, the good rate in percent and the review tags.
  • Badges and dates: installment offer, promotion tag, lowest-price, presale, flash-sale, JD Supermarket and cross-border flags, and the listing date.
  • Price range and page start: set a min and max price in yuan, or paste a JD search address with its price filter and page.
  • No duplicates: JD repeats products across pages; each product is saved once per run, and the run keeps reading pages until it has your number of new products.
  • Optional product details: brand, model, UPC/EAN barcode, color, size, all variant SKUs, stock, delivery promise, return policy, services, warranty, weight, dimensions and photos.

🛠️ How It Works

  1. Type keywords (Chinese or English) or paste JD search addresses, one per line.
  2. Set Max products per keyword (default 50), an optional price range, and turn on Add product details if you need barcodes and stock.
  3. Run the scraper and download the products as JSON, CSV or Excel, or read them through the API.

⚙️ Input

FieldWhat it does
Keywords or JD search addressesWhat you would type in JD's search box (iphone, 华为手机, 奶粉), or a JD search address such as https://search.jd.com/Search?keyword=茅台 or https://search.jd.com/Search?keyword=lego&ev=exprice_100-500&page=5. An address keeps its price range and page.
Max products per keywordHow many products to save per keyword. Default 50.
Min price / Max price (CNY)Only products in this price range, in Chinese yuan.
Add product detailsOpens each product page for brand, model, barcode, variants, stock, delivery and more. Off by default.
{
"keywords": ["华为手机", "iphone 17"],
"maxItems": 100,
"minPrice": 1000,
"maxPrice": 6000,
"scrapeDetails": false
}

💰 Pricing

Pay only for the products you get.

EventPriceWhat you get
Product$0.002 per product ($2.00 per 1,000)One search result with price, shop and review fields
Product details$0.0015 per product ($1.50 per 1,000)Brand, model, barcode, variants, stock, delivery and more, added to the product. Only with Add product details on, only for products that got them.
Actor start$0.00005 per runCharged once when the run starts.

Examples: 50 products = $0.10 · 1,000 products = $2.00 · 1,000 products with details = $3.50.

📊 Sample Output Data

A row from a 华为手机 run with details on (arrays shortened):

{
"id": "10212587635644",
"title": "HAHW手机P80Pro官方正品2026新机上市天玑9400处理器144Hz高刷5G全网通1TB大内存7900大电池长续航快充 羽砂黑 旗舰版:12G+256G+豪华大礼包+7天无理由",
"url": "https://item.jd.com/10212587635644.html",
"price": 1629,
"currency": "CNY",
"imageUrl": "https://img14.360buyimg.com/n0/jfs/t1/519146/35/13676/68409/6ab08928F2322b595/00833203203a2fca.jpg",
"shopId": "134347372",
"shopName": "HAHW手机旗舰店",
"shopUrl": "https://mall.jd.com/index-134347372.html",
"venderId": "134347372",
"isSelfOperated": false,
"reviewCount": 10000,
"reviewCountText": "1万+",
"goodRate": 98,
"categoryIds": ["9987", "653", "655"],
"installmentOffer": "3期免息",
"promoTag": null,
"reviewTags": ["时尚美观", "操作简便", "手感一流"],
"listedAt": "2026-09-20T09:10:41.000Z",
"isLowestPrice": false,
"isPresale": false,
"isFlashSale": false,
"isJdSupermarket": false,
"isCrossBorder": false,
"position": 1,
"searchQuery": "华为手机",
"page": 1,
"detailsScraped": true,
"scrapedAt": "2026-10-29T12:26:52.285Z",
"brand": "HAHW",
"brandId": "1920264",
"model": null,
"upc": [],
"color": "羽砂黑",
"size": "旗舰版:12G+256G+豪华大礼包+7天无理由",
"variants": [{ "id": "10212587635639", "color": "冰晶蓝", "size": "豪华版:16G+128G+豪华大礼包+无忧质保" }],
"images": ["https://img14.360buyimg.com/n0/jfs/t1/519146/35/13676/68409/6ab08928F2322b595/00833203203a2fca.jpg"],
"inStock": true,
"stockQuantity": null,
"deliveryPromise": "预计明天发货,11月1日(周日)送达",
"shippingNote": null,
"returnPolicy": "7天无理由退货",
"services": ["一年质保", "7天价保", "晚发赔", "极速审核"],
"warranty": null,
"weightKg": null,
"lengthMm": null,
"widthMm": null,
"heightMm": null,
"origin": null,
"onSaleSince": "2026-09-20 17:10:41"
}

reviewCount is the lower bound JD shows (1万+ = at least 10,000). isSelfOperated marks products sold and shipped by JD itself (京东自营). goodRate is the share of positive reviews in percent. The fields from brand on are there only when Add product details is on; without it the row ends at scrapedAt.

🔁 Schedule and Integrate

For JD price tracking, run the same keywords once a day: each run is a dated price snapshot, and together they form your price history. Set it up in Apify Schedules, and send new rows to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "keywords": ["华为手机"], "maxItems": 20 }

❓ FAQ

Does JD.com have an official API? JD's open platform (JD Open/京东开放平台) is for registered sellers and partners and needs an approved app. This Actor needs no key, account or approval and returns the public search data a shopper sees: price, shop, reviews and badges.

How do I track JD prices over time? JD shows no price history. Schedule this Actor daily with the same keywords and keep each run's dataset, or append the rows to a Google Sheet, then compare price by id.

Do I need a JD account or Chinese? No account. Keywords work in English and Chinese; Chinese words (苹果手机) match the way JD shoppers search and give the widest results. Titles, shop names and delivery texts stay in Chinese as JD shows them.

Why are there fewer products than I asked for? JD repeats many products across its result pages. The run keeps reading pages until it has your number of new products, and stops when several pages in a row bring nothing new; the status message then says so. Very narrow keywords simply have fewer products.

Why is a field empty? New products have no reviews yet, so reviewCount and goodRate are null. Barcodes, model numbers, weights and stock quantities are filled only when the seller listed them on the product page.

Which prices does it show? The price a signed-out shopper in mainland China sees on JD, in CNY. Coupons applied at checkout and member prices are not included.