JD Keyword Search
Give a JD search keyword and an expected count to get matching product listings with prices, shops, and product links.
Overview
Keyword searches on JD mix official stores, authorized sellers and accessory listings behind the same buying intent. Seeing those search-result cards together makes it easier to judge which products, shops and price points actually appear for a query, without opening every listing one by one.
This collection keeps the original product titles, displayed prices and listing links from JD search results. It is useful when assortment, ranking and list-page pricing are the input to a sourcing or competitive review, rather than replacing a product-detail check or a purchase decision.
Data notes
The data describes product cards collected from public JD keyword search results. Results are delivered in ascending collection-time order, which is separate from the sorting used to select products during collection. Repeated SKU IDs are consolidated across the delivered pages.
Product title, Price, Review count and Sales count retain their source text. Price is not converted into another currency, and no assumptions are made about taxes, promotions or purchasing conditions. Business ID, Keyword and Submitted keyword can carry the same search phrase; none of them is a unique product identifier. The time zone of Collection time is not specified.
Missing brand, sales-count and listing-status values remain missing rather than being inferred. A blank preview does not assert that the corresponding source value is an empty string. Search-desc flag is kept as a yes/no marker as collected. The collection should not be treated as a complete JD catalog, a stock snapshot, or a verified offer for a particular order.
What the results look like
Each row represents one JD search-result listing. Quoted Price and Review count values are text, not converted numbers.
| SKU ID | Product title | Price | Review count | Shop name |
|---|---|---|---|---|
| 10235644935262 | 苹果18promax【新品限售】Apple iphone18promax 18promax 手机apple 18Promax 6.9英寸 勃艮第酒红色 256GB【全新未激活+全国联保】 | "12888.00" | "2000+" | 星盟3C数码买手店 |
| 10234915484680 | Apple/苹果 iPhone 18 Pro Max 支持移动联通电信 5G 双卡双待手机 勃艮第酒红色 256GB 授权正品【需现场签收激活】 官方标配 | "10999.00" | "500+" | Apple产品萌宠主题旗舰店 |
Additional columns include Product URL, Image URL and Collection time.
Use cases
- Compare search assortment: group Product title by recurring product or accessory terms, then use SKU ID and Shop name to separate distinct listings behind the same keyword.
- Review displayed pricing: compare Price and Review count for listings with similar Product title wording, keeping the original text before drawing conclusions about competitiveness.
- Prepare a shortlist: combine Keyword, Product title, Product URL and Shop name to identify relevant candidates, and retain Collection time so later reviews can distinguish collection snapshots.
Scope and boundaries
One JD search keyword per task with an expected result count from 1 to 2000; results are collected in source pages and may return fewer or more than requested; fetch protection is 110 pages / 2,200 records; reaching this capacity does not establish completeness; coverage is limited to public JD search listings.
- Good for
- When you need JD search-result products for a brand, product, or category keyword.
- When you need a structured list that connects each matched listing with its shop, price, and product link.
- Do not use for
- When you need a full product page, variants, reviews, or price history — this App only returns search-result listing information.
- When you need a strictly capped result count or an immediate single-record lookup.
Failure handling
Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.
- 1If submission times out or its outcome is unknown, check the existing run before submitting again: repeated submissions can create separate jobs.
- 2If no matching records are returned, try a shorter or broader search phrase and resubmit.
- 3Keep completed records after a partial success; resubmit the same input after a failed or expired task.
- 4Retry later after rate limiting, temporary service unavailability, or a timeout.
- 5If authentication fails, verify the API Key configured for the execution environment.
Input
Parameters required to call this App, generated from the input.schema in manifest.json.
- Search keyword
keywordRequiredstringEnter one JD product search keyword, from 1 to 512 characters.Exampleiphone 18 pro max - Expected product count
target_countRequiredstringEnter a whole number from 1 to 2000 as digits only. This is a collection target, not a strict cap; source-page collection can return fewer or more listings.Example25 - Collection sort order
sortRequiredstring(enum)Choose how products are ordered during collection. Default is the JD default ranking. Delivered results remain in ascending collection-time order.Allowed valuesDefault0Comprehensive1Sales2Review count3Newest4Price: low to high51Price: high to low52Default0Example0
Output
Field structure of a single record, generated from the output.schema in manifest.json.
- SKU ID
skuIdstringJD product identifier used to distinguish listings.Example10235644935262 - Business ID
bizIdstringSearch keyword retained on the listing; not a unique product identifier.Exampleiphone 18 pro max - Product title
productTitlestringProduct title as collected, without translation.Example苹果18promax【新品限售】Apple iphone18promax 18promax 手机apple 18Promax 6.9英寸 勃艮第酒红色 256GB【全新未激活+全国联保】 - Price
pricestringPrice text as collected; no currency or numeric conversion is applied.Example12888.00
Sample data
Generated from output.schema. Fields without a sample value use structural placeholders.
{
"skuId": "10235644935262",
"bizId": "iphone 18 pro max",
"productTitle": "苹果18promax【新品限售】Apple iphone18promax 18promax 手机apple 18Promax 6.9英寸 勃艮第酒红色 256GB【全新未激活+全国联保】",
"price": "12888.00",
"saleCount": "<saleCount>",
"rateCount": "2000+",
"brandName": "<brandName>",
"imageUrl": "https://img11.360buyimg.com/img/jfs/t1/514884/11/15012/128777/6aacf40fF7127ae8f/00833203200b14b8.png",
"productUrl": "https://item.jd.com/10235644935262.html",
"shopId": "13365898",
"shopName": "星盟3C数码买手店",
"keyword": "iphone 18 pro max",
"searchDescFlag": false,
"status": "<status>",
"crawlTime": "2026-10-13T18:37:40",
"taskItem": "iphone 18 pro max",
"taskNoData": 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-keyword-search",
"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 48 records; any partial unit is rounded up to 48 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.