# JD.com products

JD.com (China) products for a keyword, each with CNY price, shop and self-operated flag, positive rate, sold count, review counts, sales tags and ranking, plus. Needs keyword. Served by Apify.

JD.com (China) products for a keyword, each with CNY price, shop and self-operated flag, positive rate, sold count, review counts, sales tags and ranking, plus by default attributes, delivery, promotions and category path from the product page. Use it for Chinese retail pricing research, e.g. 'iphone 15' or '机械键盘' (mechanical keyboards). Price: up to $0.00599 per product, plus $0.00599 per product for its details (enrichWithDetails, on by default, billed only when details come back) and $0.00499 per review (fetchReviews), plus up to $0.05 per run. Billed at the run's actual cost, never more than max_cost_usd (default $0.5), which is enforced upstream as the run's charge limit. Returns { run, items } when the run ends within 40 s, otherwise a run id: fetch the items with apify/run-results (free, tool "jd-com-products"). A run that times out or reaches the limit returns and bills its partial items.

- Tool ID: `apify/jd-com-products`
- Provider: [Apify](/providers/apify.md)
- Capability: [E-commerce](/tools/ecommerce.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $5. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "data.usageTotalUsd",
  "requireCost": true,
  "maxUsdField": "max_cost_usd",
  "maxUsdDefault": 0.5,
  "maxUsdCap": 5,
  "headroom": 1
}
```

Pricing source: [https://apify.com/zen-studio/jd-com-search-scraper/pricing](https://apify.com/zen-studio/jd-com-search-scraper/pricing). Pay-per-event rate card of zen-studio/jd-com-search-scraper, read from the public Apify API (api.apify.com/v2/acts/zen-studio~jd-com-search-scraper): every event and tier price, the pricing model, who pays platform usage and the minimal charge limit..

Price verification date: 2026-11-03.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Search keyword, Chinese or English, e.g. 'iphone 15' or '笔记本电脑' (laptops)"
    },
    "maxItems": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 15,
      "description": "Products, 1 to 100 (each product is billed), e.g. 15"
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "popularity",
        "lowest_price",
        "highest_price",
        "recently_updated"
      ],
      "default": "relevance",
      "description": "Order of the results, e.g. 'popularity'"
    },
    "category": {
      "type": "string",
      "enum": [
        "all",
        "mobile_phones",
        "phone_cases",
        "second_hand_phones",
        "quasi_new_phones",
        "laptops",
        "laptop_accessories",
        "keyboards",
        "running_shoes"
      ],
      "default": "all",
      "description": "Optional category, e.g. 'laptops'"
    },
    "minPrice": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000000,
      "description": "Lowest price in CNY, e.g. 3000"
    },
    "maxPrice": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000000,
      "description": "Highest price in CNY, e.g. 8000"
    },
    "enrichWithDetails": {
      "type": "boolean",
      "default": true,
      "description": "Add attributes, delivery costs, promotions, vendor and category path (billed per product), e.g. false for search rows only"
    },
    "fetchReviews": {
      "type": "boolean",
      "default": false,
      "description": "Attach customer reviews to each product (each review is billed), e.g. true"
    },
    "maxReviewsPerItem": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 5,
      "description": "Reviews per product when fetchReviews is on, 1 to 10, e.g. 5"
    },
    "max_cost_usd": {
      "type": "number",
      "minimum": 0.01,
      "maximum": 5,
      "default": 0.5,
      "description": "Charge limit for this run in USD, reserved from your balance and enforced upstream as the run's charge limit (default $0.5, at most $5). The run stops charging there."
    }
  },
  "required": [
    "keyword"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "apify/jd-com-products",
  "input": {
    "keyword": "iphone 15",
    "maxItems": 2,
    "enrichWithDetails": false,
    "max_cost_usd": 0.1
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[REST inspection](https://api.agentik.cc/v1/tools/apify/jd-com-products) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/apify/jd-com-products) · [Agent index](/llms.txt)
