JD.com Products Scraper 京东 — Prices, Variants, Barcodes & Stock
Pricing
from $4.00 / 1,000 skus
JD.com Products Scraper 京东 — Prices, Variants, Barcodes & Stock
JD.com (京东 / Jingdong) products scraper with no login: search by keyword or paste SKU ids and product links. Get every variant with its real CNY price (not ¥1??9), stock, delivery, barcode, brand, shop, reviews and rating, or a fast, cheaper search-results-only sweep.
Pricing
from $4.00 / 1,000 skus
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
5
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Get the real price of every variant of a JD.com (京东 / Jingdong) product: each color, storage size, bundle and pack, with its own CNY price, stock state, delivery promise and subsidy flags. Paste SKU ids, product links or keywords. No JD account, no cookies, no proxy setup.
Signed-out, JD shows prices on product pages masked as ¥1??9. This actor returns the full number for every SKU.
Need a fast price sweep across many keywords? Turn on Search results only: each keyword result is saved as one row straight from JD's listing card (real price, review count, positive rate, review tags, shop, image) without the variant lookup, at a lower price per row: $0.0015 a result. This mode starts on 22 November 2026; until then a run with it on looks up each result's variants as usual and says so in the log.
中文说明
京东商品价格采集,无需登录、无需 Cookie、无需设置代理。 京东未登录时商品页价格显示为 ¥1??9,本工具返回每个 SKU 的真实人民币价格:
- 输入:SKU ID、商品链接(item.jd.com、item.m.jd.com、wqitem.jd.com、npcitem.jd.hk)、分享文本或关键词(如
华为手机、茅台) - 每个商品的全部规格(颜色、内存、套装),每个 SKU 单独的价格、库存状态、库存数量、配送时效、国补/预售/限购标记
- 关键词搜索:
maxProductsPerKeyword设为 5 以内取京东前 5 个商品;设为 6-500 则从京东热卖列表页翻页采集,并附带评价数(如「10万+」)、好评率、买家评价标签、上架时间 - 价格区间:
minPrice、maxPrice,区间外的商品在查询规格前就被过滤,不收费 - 排序(
sortBy):京东默认顺序、价格从低到高、价格从高到低、评价最多、好评率最高、最新上架 - 店铺:店铺 ID、名称、链接、是否京东自营;品牌;EAN/UPC 条码
- 可选商品详情:图集、型号、类目、重量、保修、产地(
includeProductDetails) - 免费的京东相关搜索词(
includeSuggestions) - 仅搜索结果模式(
searchResultsOnly):每个关键词结果直接保存为一行(真实价格、评价数、好评率、评价标签、店铺、图片),不查询规格,速度更快,每行价格更低(2026 年 11 月 22 日起可用)
输入示例:
{"keywords": ["蓝牙耳机"],"maxProductsPerKeyword": 50,"maxPrice": 300,"allVariants": false,"maxItems": 50}
主要输出字段:skuId、productId、title、price、inStock、stockState、stock、deliveryPromise、properties、isGovernmentSubsidy、barcodes、shopName、isJdSelf、reviewCountText、goodRate、reviewTags、searchKeyword、searchRank。
价格:每个 SKU 行 $0.004,仅搜索结果模式每行 $0.0015,每个关键词 $0.005,商品详情每个商品 $0.004,每次运行启动费 $0.005。
Why use this JD.com scraper?
- Real prices, not
¥1??9. Every row has the numeric CNY price for that exact SKU. - Every variant in one run. One product link returns all its SKUs (up to 100), each with its own price, stock and properties (
外观: 曜金黑【512GB】). - Stock and delivery.
inStock,stockState, stock count when JD shows it, and the delivery promise text (预计明天发货,后天送达). - Subsidy and presale flags. Government subsidy (国补), presale, purchase limits.
- Shop and brand. Shop id, name and link, the JD self-run (自营) flag, and the brand.
- Barcodes. EAN/UPC codes per SKU, cleaned of JD's placeholder zeros.
- Optional product details. Image gallery, model, category, warranty and place of origin.
- Deep keyword search. Up to 500 products per keyword from JD's keyword listing pages, each with its review count (
10万+), positive-review rate and the review tags buyers use most, before its variants are looked up. A price band drops products before they cost anything. - Fast, cheaper price sweeps. With Search results only on, keyword results are saved straight from JD's listing cards at $0.0015 a row: price, review count, positive rate, review tags and shop for hundreds of products per keyword, without paying for variant lookups.
- Free search suggestions. The related searches JD shows for each keyword (
手机→苹果17pro max,红米k90), to find the terms buyers type.
Overview
The actor takes JD SKU ids, product links or keywords. For each product it fetches the full variant list, then writes one dataset row per SKU. Keywords return JD's top 5 products by default. Set Products per keyword above 5 and the products come from JD's keyword listing pages (JD 热卖), up to 500 a keyword; those are the listings JD promotes for the keyword, in JD's order, and when the pages return nothing the run falls back to the top 5. Each product is then expanded into its variants the same way.
Supported inputs
| Input | Example |
|---|---|
| SKU id | 100012043978 |
| PC product link | https://item.jd.com/100012043978.html |
| Mobile product link | https://item.m.jd.com/product/100012043978.html?from=share |
| WeChat product link | https://wqitem.jd.com/item/view?sku=100012043978 |
| JD Global (京东国际) link | https://npcitem.jd.hk/100009475513.html |
| Share text with a link inside | 【京东】茅台飞天 https://item.jd.com/100012043978.html |
| Keyword | 华为手机, 蓝牙耳机, 茅台 |
Short links (3.cn/…, u.jd.com/…) only resolve in a browser. Open them and paste the item.jd.com link.
Use cases
- Price monitoring. Schedule a run over your SKU list and track price changes per variant.
- Cross-border and dropshipping research. Compare JD prices for the exact variant you sell.
- Brand protection. See which shops sell your products on JD and at what price.
- Catalog matching. Match JD SKUs to your catalog by barcode.
- Stock tracking. Watch when a variant goes out of stock or into presale.
- Subsidy tracking. See which SKUs carry the 国补 government-subsidy flag.
How it works
- You enter SKU ids, product links or keywords.
- Keywords are searched first: JD's top 5, or up to 500 products from JD's keyword listing pages. Products outside your price band are dropped here.
- For each product, the actor fetches every variant with its live price and stock. The SKU you entered always comes first.
- With product details on, it adds the product page fields once per product.
- Each SKU becomes one row. SKUs that appear under several inputs are returned once.
Input configuration
| Field | Type | Default | What it does |
|---|---|---|---|
products | list | — | SKU ids or product links, one per line |
keywords | list | — | Search terms |
maxProductsPerKeyword | integer | 5 | Products per keyword, 1-500. Above 5 they come from JD's listing pages, with review count, positive rate and review tags |
searchResultsOnly | boolean | false | ON: keyword results are saved straight from their listing cards (price, reviews, shop), with no variant lookup, at the lower search-result price. SKU ids and links still return full variant rows |
sortBy | string | relevance | Order of each keyword's products before lookup: relevance (JD's order), priceAsc, priceDesc, mostReviews, bestRated, newest. searchRank keeps JD's position |
minPrice / maxPrice | number | — | Price band in CNY for keyword results and SKU rows. Products outside it are not looked up or billed |
searchKeywords | boolean | true | OFF: keywords only feed suggestions, nothing is searched or charged |
includeSuggestions | boolean | false | Save JD's related searches per keyword to the SUGGESTIONS record (free) |
allVariants | boolean | true | ON: every variant. OFF: only the SKU you entered |
maxVariantsPerProduct | integer | 100 | Cap on variants per product (max 100) |
includeProductDetails | boolean | false | Add gallery, model, category, warranty, origin |
onlyInStock | boolean | false | Drop SKUs that cannot be ordered now |
maxItems | integer | 1000 | Cap on rows for the run (free plan: 100) |
Example input:
{"products": ["100012043978", "https://item.jd.com/10233787625364.html"],"keywords": ["蓝牙耳机"],"allVariants": true,"maxVariantsPerProduct": 20,"includeProductDetails": false}
To refresh prices on a known SKU list cheaply, set allVariants to false: one row per SKU you entered.
Output overview
One row per SKU (detailLevel sku, or full with product details). With Search results only, each keyword result is one row with detailLevel listing: price, review count, positive rate, review tags, shop and image, but no stock, barcode or variant fields. Rows from the same product share productId. sourceInput says which id, link or keyword produced the row, and keyword rows also carry searchKeyword, searchRank, and from the listing pages reviewCountText, goodRate, reviewTags and listedAt.
Output sample
A real row from keyword 蓝牙耳机 with product details on:
{"skuId": "100207440191","productId": "100104950402","isRequestedSku": true,"title": "Viken【2026最新款丨柏林之声第1名】骨传导蓝牙耳机耳夹式概念无线开放式运动跑步超长续航不入耳挂耳","url": "https://item.jd.com/100207440191.html","mobileUrl": "https://item.m.jd.com/product/100207440191.html","price": 198,"currency": "CNY","onSale": true,"inStock": true,"stockState": "in_stock","stock": null,"purchaseLimit": null,"deliveryPromise": "23:10前付款,预计明天(10月19日)送达","isPresale": false,"isGovernmentSubsidy": true,"isBillionSubsidy": null,"isFlashSale": null,"promoTags": [],"properties": {"版本": "【12重空间音效丨ENC通话降噪】","颜色": "【京东独家】星际黑丨APP升级版"},"color": "【京东独家】星际黑丨APP升级版","size": "【12重空间音效丨ENC通话降噪】","brand": "维肯(Viken)","barcodes": ["6941463424375", "6979854450061", "6979854453161"],"imageUrl": "https://img14.360buyimg.com/n0/jfs/t1/528727/28/4600/117062/6aaf4700F357ff9f3/0083320320641c06.jpg","shopId": "1000462847","shopName": "维肯(Viken)京东自营旗舰店","shopUrl": "https://mall.jd.com/index-1000462847.html","isJdSelf": true,"variantCount": 1,"detailLevel": "full","sourceInput": "蓝牙耳机","searchKeyword": "蓝牙耳机","searchRank": 1,"model": "i113","categoryId": "842","weight": null,"warranty": "1年质保","productArea": null,"isJdExpress": false,"imageUrls": ["https://img14.360buyimg.com/n1/jfs/t1/528727/28/4600/117062/6aaf4700F357ff9f3/0083320320641c06.jpg"],"scrapedAt": "2026-10-18T11:23:06.396Z"}
Without product details, rows stop at searchRank and detailLevel is sku.
Search suggestions
With includeSuggestions on, the run's key-value store gets a SUGGESTIONS record, one entry per keyword (real output for 茅台):
[{"keyword": "茅台","suggestions": [{ "keyword": "茅台53度飞天", "searchKey": "茅台53度飞天", "keywordType": 1, "iconUrl": null },{ "keyword": "茅台飞天礼盒", "searchKey": "茅台飞天礼盒", "keywordType": 1, "iconUrl": null },{ "keyword": "茅台迎宾", "searchKey": "茅台迎宾", "keywordType": 1, "iconUrl": null }],"error": null}]
Suggestions are not dataset rows and are not charged. They cover the first 100 keywords of a run. To get only suggestions, turn searchKeywords off.
Key output fields
| Field | Meaning |
|---|---|
skuId | JD SKU id (one color/size/bundle) |
productId | Product group id shared by all variants. Not a SKU; it cannot be used as input |
isRequestedSku | true on the SKU you entered or the one search returned |
price | Live CNY price of this SKU, as shown signed-out in JD's default delivery region |
inStock | Can be ordered now. Presale and reservation SKUs are false |
stockState | JD's stock state code (in_stock, out_of_stock, …) |
stock | Stock count when JD shows one; null means not shown, not zero |
deliveryPromise | JD's delivery text for the default region |
properties | Sale properties of this SKU, name → value, as JD writes them |
isGovernmentSubsidy | JD flags the SKU for the 国补 subsidy. The flag alone does not say whether price already includes it |
barcodes | EAN/UPC codes for the SKU |
variantCount | How many SKUs the product has. Larger than the rows returned means maxVariantsPerProduct cut it |
reviewCountText | Review count as JD prints it, e.g. 10万+ (keyword rows) |
goodRate | Share of positive reviews, 0-100 (keyword rows) |
reviewTags | What buyers mention most, e.g. 音质清晰 (keyword rows from the listing pages) |
listedAt | When the product went on sale on JD (keyword rows from the listing pages) |
detailLevel | sku (variant row), full (with product details) or listing (a keyword result from Search results only) |
salesText | Sales as JD's listing card prints them, e.g. 已售5万+, when shown (listing rows) |
Coming from another JD.com scraper?
| What you need | This actor |
|---|---|
The real price, not ¥1??9 | Every SKU row has the numeric CNY price for that exact variant |
| Every variant of a product | One link returns all its SKUs (up to 100), each with price, stock and properties |
| Many products per keyword | Up to 500 per keyword, with review count, positive rate and review tags |
| A price band | minPrice / maxPrice drop products before they are looked up, so they cost nothing |
| Sort by price, reviews or newest | sortBy orders each keyword's products before lookup, so your row cap keeps the cheapest, most-reviewed or newest |
| Paste links you already have | SKU ids, PC, mobile, WeChat and JD Global links, or share text, in one list |
| Stock and delivery | inStock, stockState, the stock count JD shows, and the delivery promise |
| Barcodes for catalog matching | EAN/UPC per SKU, placeholder zeros removed |
| A fast, cheap price sweep | Search results only: one row per keyword result from JD's listing card, $0.0015 a row, no variant lookups |
Field names differ from other JD actors: the SKU id is skuId, the numeric price is price, variants are separate rows grouped by productId.
FAQ
Why are the prices different from what I see in the JD app? Prices are JD's signed-out prices for its default delivery region. Member prices (PLUS), coupons applied at checkout and region-specific prices can differ.
Why did a product return fewer variants than variantCount?
JD's variant list does not always load in full. The actor asks a second time when a product comes back empty or short, and keeps the longer answer. If a run still shows fewer rows than variantCount, run that product again or pass the missing SKU ids directly.
Why is stock often null?
JD only shows a count for some SKUs. inStock and stockState are always filled.
Can I get more than 5 products per keyword? Yes: set Products per keyword up to 500. Above 5 the products come from JD's keyword listing pages (about 30 new products per page). These are the listings JD promotes for the keyword, in JD's order, so they are not the same list as JD's signed-in organic ranking. When those pages return nothing, the run falls back to JD's top 5 and says so in the log.
How does sorting work?
sortBy sorts the products a keyword brought (up to Products per keyword) by the price, review count, positive rate or listing date on JD's search card, then looks them up in that order. It does not re-rank all of JD: raise Products per keyword to sort a larger pool. Products missing the value go last.
What does "Search results only" return? Available from 22 November 2026. One row per keyword result, taken from JD's listing card: title, real price, review count, positive rate, review tags, shop, JD self-run flag, category, image and listing date. It skips the variant lookup, so rows have no stock, barcode, delivery or per-variant prices, and they cost $0.0015 each instead of the SKU-row price. The results are the listings JD promotes for the keyword, in JD's order. SKU ids and product links in the same run still return full variant rows.
Do you return reviews or a shop's full catalog? Keyword rows carry the review count, positive rate and review tags. For review text use the JD.com Reviews Scraper. A shop's full catalog is not returned yet.
Why do isBillionSubsidy and promoTags come back empty?
They are filled only when JD tags the SKU. Most SKUs carry no tag.
Where are the search suggestions?
In the run's key-value store, record SUGGESTIONS (Storage tab → Key-value store), not in the dataset. JD usually returns 10 per keyword.
English keywords? They work, but JD titles are in Chinese, so Chinese keywords match better.
Support
Found a problem or need a field? Open an issue on the actor's Issues tab and include the run id.
Additional services
Need a custom JD dataset, a scheduled price feed, or another Chinese marketplace? Reach out through the Issues tab.
Explore more scrapers
🤖 For AI agents & LLM apps
Call this actor through the Apify API or the Apify MCP server. Minimal input: {"products": ["<sku id or item.jd.com link>"]}, or {"keywords": ["蓝牙耳机"], "maxProductsPerKeyword": 30, "allVariants": false} for a priced product list, or add "searchResultsOnly": true for the cheapest per-row price sweep. Each output row is one SKU with a numeric price in CNY, so variants compare without text parsing. Use allVariants: false when you only need the price of the SKUs you passed. productId groups variants of the same product.
⚠️ Disclaimer
This actor is not affiliated with, endorsed by, or connected to JD.com, Inc. or any of its subsidiaries. It collects publicly visible product information. You are responsible for using the data in line with JD.com's terms, applicable laws, and data-protection rules in your jurisdiction.
SEO Keywords
JD.com scraper, JD products scraper, JD.com products, JD product search scraper, JD scraper, JD price scraper, Jingdong scraper, 京东商品搜索, 京东爬虫, 京东价格, 京东商品数据, JD SKU scraper, JD.com product prices, JD stock tracker, China e-commerce prices, JD price monitoring, JD variants, JD barcode lookup, Chinese marketplace scraper, JD.com API alternative, JD keyword search scraper, JD search results, 京东搜索, 京东商品采集, 京东数据采集, 京东评价数, 京东好评率, 京东SKU