JD.com Scraper avatar

JD.com Scraper

Pricing

Pay per event

Go to Apify Store
JD.com Scraper

JD.com Scraper

Scrape JD.com (JD Global) product listings by keyword, category, or product URL. Extract title, images, product metadata, and price/review/seller fields when JD exposes them. Export to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract JD.com product listings and product-page metadata from JD.com (京东) — China's second-largest e-commerce platform with 600M+ registered users. Price, rating, review, and seller fields are returned when JD exposes them in the loaded page or authenticated search results; otherwise those fields are null instead of guessed.

Search by keyword, browse categories, or extract product details. Export to JSON, CSV, or Excel with one click.

Note: JD.com requires authenticated access (cookies) for search. See authentication setup below.

What does JD.com Scraper do?

JD.com Scraper navigates search.jd.com using your browser session cookies to extract structured product data. It supports keyword search across all JD.com product categories and exports results in multiple formats for analysis, monitoring, or AI pipelines.

Key capabilities:

  • 🔍 Search by keyword across all JD.com categories
  • 📂 Browse specific category pages
  • 💰 Extract prices, discounts, and original prices when visible
  • ⭐ Capture ratings and review counts when JD exposes them
  • 🏪 Get seller names and self-operated (京东自营) flags when available
  • 🖼️ Collect product images and thumbnails
  • 📊 Export to JSON, CSV, or Excel

Who is it for?

E-commerce analysts & market researchers

  • Track competitor pricing across millions of JD listings
  • Monitor price changes over time with scheduled runs
  • Identify top-selling products in specific categories

Dropshippers & sourcing agents

  • Find products with high review counts and ratings
  • Compare self-operated (JD Logistics) vs. third-party sellers
  • Automate product catalog discovery

Data scientists & AI teams

  • Build training datasets from Chinese e-commerce
  • Create price intelligence models
  • Analyze consumer electronics pricing trends in China

Business intelligence teams

  • Monitor brand presence on JD.com
  • Extract pricing for market analysis reports
  • Track seasonal promotions and discounts

Why use JD.com Scraper?

  • Structured data — clean JSON with all key fields normalized
  • No coding required — works via Apify console, no code needed
  • Scheduled monitoring — run on a cron to track prices over time
  • API access — integrate via REST API or 5,000+ app connections
  • Multiple export formats — JSON, CSV, Excel, XML
  • High reliability — retries on failures, session management

Authentication: JD.com Cookies (Required)

JD.com requires login for search access from outside China. You need to provide your JD.com session cookies.

How to get your cookies:

  1. Open https://www.jd.com in Chrome or Firefox
  2. Log in to your JD.com account
  3. Open DevTools: press F12 or right-click → Inspect
  4. Go to Application tab → Cookieshttps://www.jd.com
  5. Find cookies starting with pt_key and pt_pin (these are the auth cookies)
  6. Also copy: __jdv, __jda, __jdb, __jdc, _tp, _pst
  7. Format as: pt_key=AAJt...; pt_pin=yourname...; __jdv=...; ...
  8. Paste this string into the JD.com Cookies field in the input

Important: Cookies expire. If the scraper stops working, get fresh cookies from your browser.

What data can you extract?

FieldDescription
productIdJD SKU ID (unique product identifier)
productNameFull product title
productUrlDirect link to JD.com product page
priceCurrent selling price (CNY ¥), when visible; otherwise null
originalPriceOriginal price before discount, when visible; otherwise null
discountPercentDiscount percentage (0-100)
currencyAlways CNY (Chinese Yuan)
thumbnailUrlProduct thumbnail image URL
imagesArray of product image URLs
ratingAverage rating (1-5 stars), when available; otherwise null
reviewCountNumber of customer reviews, when available; otherwise null
shopIdJD shop/seller ID, when available; otherwise null
shopNameSeller/shop name, when available; otherwise null
brandBrand name
categoryNameProduct category
isSelfOperatedWhether JD self-operates (京东自营)
searchKeywordSearch keyword that found this product
sourceUrlURL that was scraped
scrapedAtISO timestamp

How much does it cost to scrape JD.com?

JD.com Scraper uses Pay-Per-Event (PPE) pricing — you pay only for results scraped.

ChargeFREE TierDIAMOND Tier
Run start (one-time)$0.05$0.05
Per product scraped$0.03$0.0076

Full tier pricing per product:

TierPrice Per Product
FREE$0.03
BRONZE$0.027
SILVER$0.021
GOLD$0.016
PLATINUM$0.011
DIAMOND$0.0076

Cost examples (FREE tier):

  • 10 products: ~$0.35 ($0.05 start + 10 × $0.03)
  • 100 products: ~$3.05 ($0.05 start + 100 × $0.03)
  • 1,000 products: ~$30.05 (FREE tier) / ~$7.65 (DIAMOND tier)
  • 10,000 products: ~$300.05 (FREE tier) / ~$76.05 (DIAMOND tier)

Free plan: Apify gives new users $5 in free credits — enough for ~165 JD products at FREE tier.

How to scrape JD.com products

  1. Sign up at apify.com (free plan available)
  2. Open JD.com Scraper
  3. Add cookies: Log into JD.com → DevTools → Application → Cookies → copy pt_key and pt_pin
  4. Enter keywords: Add search terms (e.g., "laptop", "手机" for phone)
  5. Set limit: Choose max results per keyword (default: 50)
  6. Click Start and wait for results
  7. Download as JSON, CSV, or Excel from the Results tab

Input parameters

ParameterTypeDefaultDescription
productUrlsArray[]Direct JD.com product page URLs — no cookies required (e.g., ["https://item.jd.com/100012043978.html"])
keywordsArray[]Search keywords (e.g., ["laptop", "phone"]) — requires cookies
categoryUrlsArray[]JD.com category page URLs — requires cookies
maxResultsPerSearchInteger50Max products per keyword or category (1–500)
cookiesString""JD.com session cookies string — required for keyword/category search
proxyConfigurationObjectApify RESIDENTIALProxy settings

Output examples

{
"productId": "100067793977",
"productName": "联想ThinkPad E14 Gen 5 AMD 轻薄笔记本电脑 14英寸 R5-7530U 16G内存 512G固态",
"productUrl": "https://item.jd.com/100067793977.html",
"price": 3999.00,
"originalPrice": 5299.00,
"discountPercent": 25,
"currency": "CNY",
"thumbnailUrl": "https://img10.360buyimg.com/n7/jfs/t1/123456/1/abcd.jpg",
"images": ["https://img10.360buyimg.com/n7/jfs/t1/123456/1/abcd.jpg"],
"rating": null,
"reviewCount": 125000,
"shopId": "1000003652",
"shopName": "联想官方旗舰店",
"brand": "ThinkPad",
"categoryName": "笔记本",
"isSelfOperated": false,
"searchKeyword": "laptop",
"sourceUrl": "https://search.jd.com/Search?keyword=laptop&enc=utf-8&page=1",
"scrapedAt": "2026-04-01T12:00:00.000Z"
}

Tips for best results

Getting fresh cookies:

  • JD.com cookies typically expire within 7-30 days
  • Get fresh cookies before each major scraping session
  • Both pt_key and pt_pin cookies are required for authentication

Keyword tips:

  • Use Chinese keywords for better results (e.g., "笔记本电脑" for laptop)
  • JD.com search supports both English and Chinese keywords
  • Common category searches: "手机" (phone), "电视" (TV), "冰箱" (refrigerator)

Maximizing results:

  • Start with 50-100 results to test your keywords
  • Use multiple keywords for broader coverage
  • Schedule runs daily/weekly for price monitoring

Understanding JD.com pricing:

  • Prices are in CNY (Chinese Yuan, ¥)
  • JD self-operated items (自营) have better quality guarantees
  • originalPrice shows pre-sale price when discounts apply

Integrations

JD.com Scraper → Google Sheets Use Apify's Google Sheets integration to automatically write product prices to a spreadsheet. Perfect for daily price monitoring of competitor products.

JD.com Scraper → Slack/Discord alerts Set up webhooks to alert your team when products hit target price thresholds. Use Apify webhooks + Zapier to create price drop notifications.

JD.com Scraper → Make/Zapier workflows Automate product catalog updates: scrape JD daily → filter by criteria → push to your CRM or database automatically.

Scheduled price monitoring Use Apify's scheduling to run daily scrapes and compare prices over time. Export to CSV and analyze trends in Excel or Google Data Studio.

JD.com data → AI models Feed product descriptions and pricing into LLMs for competitive analysis, price prediction, or market research reports.

API usage

Node.js

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/jd-scraper').call({
keywords: ['laptop'],
maxResultsPerSearch: 50,
cookies: 'pt_key=AAJt...; pt_pin=yourpin...'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/jd-scraper').call(run_input={
'keywords': ['laptop'],
'maxResultsPerSearch': 50,
'cookies': 'pt_key=AAJt...; pt_pin=yourpin...'
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
'https://api.apify.com/v2/acts/automation-lab~jd-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"keywords": ["laptop"],
"maxResultsPerSearch": 50,
"cookies": "pt_key=AAJt...; pt_pin=yourpin..."
}'

Use with AI agents via MCP

JD.com Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/jd-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add to your MCP config file:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/jd-scraper",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Example prompts:

  • "Search JD.com for laptops under ¥5000 and find the top-rated options with the most reviews"
  • "Get all JD.com prices for iPhone 15 Pro and compare with the official Apple store price"
  • "Scrape JD.com for gaming chairs and export the results to a spreadsheet"

Legality

JD.com Scraper accesses publicly visible product data using your own authenticated session — the same data any logged-in user would see while browsing. This is consistent with fair use principles for market research and price comparison.

Best practices:

  • Use your own JD.com account credentials
  • Don't exceed reasonable request rates
  • Use scraped data for research and analysis only, not for unauthorized reproduction
  • Comply with JD.com's Terms of Service for your specific use case

JD.com Scraper is designed for legitimate business intelligence and market research. It does not bypass paid features or access private data.

FAQ

Why do I need to provide cookies? JD.com uses geographic restrictions and bot detection that requires authentication for search access from outside mainland China. Your session cookies authenticate the requests as coming from a real logged-in user.

How do I find my JD.com cookies? Log into jd.com, open browser DevTools (F12), go to Application → Cookies → jd.com. Look for pt_key and pt_pin cookies. Copy all cookies in the format: name1=value1; name2=value2.

How much does scraping 1,000 JD products cost? With Apify's FREE tier: ~$40.05 ($0.05 start fee + 1,000 × $0.04). The $5 free credit on new accounts gives you about 123 products for free.

Why are results empty or the scraper fails? Most common causes: (1) Cookies expired — get fresh cookies from your browser. (2) JD account was logged out — log back in and copy new cookies. (3) Network issues — retry the run.

Can I scrape JD.com without an account? Yes — for individual product pages. Use the Product URLs input field with direct item.jd.com links, and no cookies are required. For keyword search or category browsing, cookies are required since JD.com blocks search access from non-China IPs without authentication.

Why did results stop mid-run? JD.com may have detected the session as inactive. Try running with fresh cookies and lower maxResultsPerSearch values.

Does this work for search.jd.com AND global.jd.com? The scraper targets search.jd.com (main Chinese site) using authenticated sessions. JD Global redirects all searches to the same backend.