JD Shop Product List
Give one JD shop ID and an expected product count to collect that shop's listed products with titles, prices, sales signals, and images.
Overview
A JD shop page is a useful window into what a merchant currently offers, but the listings are hard to keep as a comparable dataset: titles, prices, images, and sales signals sit together on the page and shift as the assortment changes. This app turns one shop ID into a structured product-level catalog so merchandising, sourcing, and research teams can review that shop's listed mix without copying rows by hand.
Unlike opening a product you already know, a shop list shows the assortment as it appears in the store itself. Keeping SKU identity, listing commercial signals, and shop context in the same row makes it possible to map price bands, watch which items stay listed, or assemble a candidate set from one merchant.
Data notes
Each record is a public product listing from the supplied JD shop. SKU IDs are de-duplicated within the returned dataset. Source item preserves the shop context and may repeat across many products from the same task. Listings are returned in a stable ascending collection-time order.
JD price and original price are listing amounts as raw strings, with no separate currency field. Sales count and rating count are displayed text, so they should not be treated as audited totals. Collection time has no timezone. Product image addresses may start with // rather than a full http prefix. Some rows still return SKU, shop, and image when title, price, or sales text is empty. A No-data marker distinguishes a shop item that produced no matching products from ordinary listing rows.
The collection covers public listings for the supplied shop only. It does not include other shops, product-detail specifications, comments, or order data.
What a result looks like
Each row is one JD shop product listing associated with the submitted shop, or a no-data marker for that shop.
| SKU ID | Product title | Shop name | Shop ID | Collection time | No-data marker |
|---|---|---|---|---|---|
| 100300235664 | 绘威耗材京东自营旗舰店 | 1000001140 | 2026-10-13T18:41:21 | No | |
| 4154542 | 绘威耗材京东自营旗舰店 | 1000001140 | 2026-10-13T18:41:21 | No |
Product image, JD price, original price, brand name, sales count, and rating count are also available when supplied with the record. Product titles and shop names may remain in the original language.
Use cases
- For assortment mapping, group rows by Shop ID and compare Product title with Shop name to see the shop's visible mix.
- For catalog monitoring, compare SKU ID and Shop ID across later collections to see which products reappear or drop out of the shop list.
- For collection review, use Collection time with No-data marker to tell ordinary listing rows from a shop item that produced no matching products.
Scope and boundaries
One JD shop ID per task with an expected product count from 1 to 1,200; the count is a collection target, not a hard result cap. Retrieval is protected at 1,000 pages of up to 1,000 records each. Coverage is limited to public JD shop listings.
- Good for
- When you need a product-level catalog snapshot for one JD shop.
- When you want to compare listed titles, displayed prices, and public sales signals within a shop.
- Do not use for
- When you need product-detail specifications or customer reviews rather than shop-listing data.
- When you need an immediate single-record lookup rather than a background collection task.
Failure handling
Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.
- 1If no products are returned, check the shop ID and resubmit.
- 2Keep completed records after a partial success; resubmit the same shop after a failed or expired task.
- 3Retry later after rate limiting, temporary unavailability, or a timeout.
- 4Results may exceed the requested target count; the count is a collection target, not a strict output limit.
Input
Parameters required to call this App, generated from the input.schema in manifest.json.
- JD shop ID
shop_idRequiredstringThe ID of the JD shop whose product listings you want to collect. Enter one shop ID per task, from 1 to 512 characters.Example1000001140 - Expected product count
crawl_countRequiredintegerExpected number of products to collect, from 1 to 1,200. This is a collection target, not a hard result cap, so the actual count may be higher.Range1–1200Example25 - Collection sort order
sort_orderRequiredstring(enum)Choose how products are collected: Default, Sales, Review count, Newest, Price: low to high, or Price: high to low. Returned rows are still ordered by collection time.Allowed valuesDefault0Sales2Review count3Newest4Price: low to high51Price: high to low52Example0
Output
Field structure of a single record, generated from the output.schema in manifest.json.
- Collection time
crawl_timestringCollection time for the listing; the source does not specify a timezone.Example2026-10-13T18:41:21 - Product image
image_urlstringMain product image address from the listing; it may start with //; empty when none is returned.Example//img13.360buyimg.com/n7/jfs/t1/514425/6/8520/200460/6a9e9d91Fc5d50a38/00835dc5dc07cc0e.jpg - Product title
product_titlestringProduct title shown on the JD shop listing; empty when none is returned. - Shop ID
shop_idstringIdentifier of the shop containing this product.Example1000001140
Sample data
Generated from output.schema. Fields without a sample value use structural placeholders.
{
"crawl_time": "2026-10-13T18:41:21",
"image_url": "//img13.360buyimg.com/n7/jfs/t1/514425/6/8520/200460/6a9e9d91Fc5d50a38/00835dc5dc07cc0e.jpg",
"product_title": "<product_title>",
"shop_id": "1000001140",
"shop_name": "绘威耗材京东自营旗舰店",
"sku_id": "100300235664",
"source_item": "1000001140",
"no_data": false
}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-shop-product-list",
"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 60 records; any partial unit is rounded up to 60 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.