JD Product Reviews
Collect public JD.com reviews for one product SKU and return the original review payload, publish times, and shop context
Overview
Public JD.com product reviews capture how buyers describe quality, delivery, and the SKU they actually purchased. This Data App turns the public review area of one JD product SKU into a consistent set of records covering the original review payload, publish times, shop context, and collection timestamps.
The result is built for repeatable reputation analysis instead of scrolling a product page. Each review keeps its source wording inside Comment data and stays linked to the Source SKU, SKU ID, and shop, so praise and complaints can be compared across collection runs with the same fields.
Data notes
The data covers publicly visible JD.com product reviews for the supplied JD product SKU at collection time, taking the newest public reviews. Returned records keep the order of Collected at from earliest to latest. Each normal record is identified by its Comment ID, which removes duplicate reviews in the same run. Private, deleted, and non-public reviews are outside the coverage.
Comment data keeps the original review payload as source text, including buyer nicknames, ratings, photos, videos, and body text when the source supplies them that way. Comment type, Parent ID, Shop type, and SKU ID are source codes, not rewritten labels. Comment time, Published at, and Collected at preserve the source timestamps without inferring a timezone. Source SKU and No data retain the collection outcome when a product has no public review result.
What the results look like
Each normal record represents one publicly visible review of the selected JD product.
| Comment ID | Business ID | Comment type | Published at | Collected at | Shop name |
|---|---|---|---|---|---|
| 106482610234891880 | 100342088268 | 1 | 2026-10-12T12:49:47 | 2026-10-13T18:37:16 | 小米京东自营旗舰店 |
| 106184670214532716 | 100342088268 | 1 | 2026-10-12T12:17:42 | 2026-10-13T18:37:16 | 小米京东自营旗舰店 |
Additional values include Comment data, Shop type, SKU ID, and No data.
Use cases
- Read Comment data to locate quality complaints, then group by Comment type.
- Compare Published at with Collected at to see how recently the review was captured.
- Split records by Shop name and Shop type when comparing self-operated and marketplace listings.
- Use No data with Source SKU to distinguish an empty listing from a failed collection.
Scope and boundaries
Each run accepts one JD product SKU and an expected review count of 1 to 2000. Results are returned in complete batches and may round up. Only publicly visible JD reviews are covered. Pull protection capacity is 150 pages / 3,000 records.
- Good for
- When you need public JD.com review payloads, publish times, and shop context for one product SKU
- When you need original review text plus collection timestamps for JD reputation analysis
- Do not use for
- When you need reviews from a marketplace other than JD.com
- When you need real-time monitoring of newly posted reviews instead of one collection snapshot
- When you need private, deleted, or otherwise non-public reviews
Failure handling
Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.
- 1If no reviews are returned, verify the JD product SKU and use No data to distinguish an empty listing from a failed job
- 2A partial success still returns the reviews that were completed; submit a new collection after failure or expiry
- 3If authentication fails, a task context does not match, or the job times out, check the credential in the execution environment and submit a new collection instead of reusing the old job
- 4When the submission outcome is unknown, avoid immediate repeated submissions that could create duplicate tasks
Input
Parameters required to call this App, generated from the input.schema in manifest.json.
- JD product SKU
product_skuRequiredstringThe JD.com product SKU whose public reviews will be collected. Enter one identifier, 1 to 512 characters.Example100342088268 - Expected review count
comment_countRequiredintegerThe expected number of public reviews to collect, from 1 to 2000. Results are returned in complete batches, so the actual count may round up. If the product has fewer public reviews, the result may still be lower.Range1–200
Output
Field structure of a single record, generated from the output.schema in manifest.json.
- Business ID
biz_idstringThe business identifier linking the review record to the collected productExample100342088268 - Comment data
comment_datastringThe original review payload retained as source text, including rating, body text, photos, and buyer nickname when suppliedExample{"afterUserComment": {}, "avatar": "storage.360buyimg.com/i.imageUpload/6a645f3562616533316234626665623831373638333636333633333131_sma.jpg", "content": "好用好看", "creationTime": "2026-10-12 12:49:47", "guid": "T6NYPc91jp0tdhmCU6-ZyHeB", "id": "106482610234891880", "images": [{"imgUrl": "//img30.360buyimg.com/shaidan/s128x96_jfs/t1/536818/26/12014/1878056/6acc66eaF385886de/00a98dcfc0d5070d.jpg"}], "likeCount": "0", "nickname": "eatt94", "plusAvailable": "0", "productColor": "脂白", "productSize": "", "referenceName": "小米(MI)REDMI Buds 8 真无线蓝牙耳机主动降噪适用于安卓苹果手机 脂白", "score": "5", "videos": null} - Comment ID
comment_idstringThe stable unique identifier of the JD reviewExample106482610234891880 - Comment time
comment_timestringThe source timestamp of the review without an inferred timezoneExample2026-10-12T12:49:47
Sample data
Generated from output.schema. Fields without a sample value use structural placeholders.
{
"biz_id": "100342088268",
"comment_data": "{\"afterUserComment\": {}, \"avatar\": \"storage.360buyimg.com/i.imageUpload/6a645f3562616533316234626665623831373638333636333633333131_sma.jpg\", \"content\": \"好用好看\", \"creationTime\": \"2026-10-12 12:49:47\", \"guid\": \"T6NYPc91jp0tdhmCU6-ZyHeB\", \"id\": \"106482610234891880\", \"images\": [{\"imgUrl\": \"//img30.360buyimg.com/shaidan/s128x96_jfs/t1/536818/26/12014/1878056/6acc66eaF385886de/00a98dcfc0d5070d.jpg\"}], \"likeCount\": \"0\", \"nickname\": \"eatt94\", \"plusAvailable\": \"0\", \"productColor\": \"脂白\", \"productSize\": \"\", \"referenceName\": \"小米(MI)REDMI Buds 8 真无线蓝牙耳机主动降噪适用于安卓苹果手机 脂白\", \"score\": \"5\", \"videos\": null}",
"comment_id": "106482610234891880",
"comment_time": "2026-10-12T12:49:47",
"comment_type": "1",
"crawl_time": "2026-10-13T18:37:16",
"customer": "yunfan",
"no_data": false,
"origin_comment_id": "106482610234891880",
"pid": "0",
"publish_time": "2026-10-12T12:49:47",
"shop_id": "1000004123",
"shop_name": "小米京东自营旗舰店",
"shop_type": "京东自营店",
"sku_id": "100342088268",
"source_sku": "100342088268"
}Integration
This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way. This App runs asynchronously and can be canceled midway: After you cancel, the run stops. Records already delivered are kept and billed.
With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.
Client config
Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.
{
"mcpServers": {
"octoparse_datahub": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=super_ig/jd-comment",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Let AI set it up for you
Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)
detail.access.mcp.composeHint
Pricing
Charged once per submitted run, regardless of how many records are returned.
Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 10 records; any partial unit is rounded up to 10 records.
Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.
View creditsTry it now
Fill in the parameters and run. Results come from a real call.