{
  "openapi": "3.0.1",
  "info": {
    "title": "JD Products Scraper | Prices, Brands and Barcodes",
    "description": "JD.com (京东) products scraper: search 京东商品 by keyword, shop page or SKU id and get the real CNY price, brand, model, UPC barcode, shop, review count and good rate, variants, stock and delivery promise. 50 products in 30 seconds, 67 fields each. No JD account needed, export to CSV, Excel or JSON.",
    "version": "1.0",
    "x-build-id": "0QvoTCP7OcbHE8fY3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~jd-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-jd-products-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/silentflow~jd-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-jd-products-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/silentflow~jd-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-jd-products-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "title": "🔎 Keywords",
            "type": "array",
            "description": "What to search on JD.com, one search per line, in Chinese or English: <code>华为手机</code>, <code>iphone 17</code>, <code>lego</code>, <code>奶粉</code>. Chinese words match the way JD shoppers search and give the widest results. A popular keyword has thousands of products: set the cap below to what you need. A JD SKU number typed here is read as a product id.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 JD addresses",
            "type": "array",
            "description": "Or paste addresses copied from JD: a product page (<code>https://item.jd.com/100320690657.html</code>, <code>https://item.m.jd.com/product/100320690657.html</code>, <code>https://npcitem.jd.hk/…</code>) gives that product, a search page (<code>https://search.jd.com/Search?keyword=茅台</code>, <code>https://re.jd.com/search?keyword=lego</code>) gives its results with the price range of the address kept, and a shop page (<code>https://mall.jd.com/index-1000004259.html</code>, <code>https://shop.m.jd.com/shop/home?shopId=1000004259</code>, a brand domain such as <code>https://huawei.jd.com/</code>) gives the shop's whole catalog.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productIds": {
            "title": "🏷️ Product SKU ids",
            "type": "array",
            "description": "Or give JD product SKU ids, one per line: the number in a product address (<code>100320690657</code> in <code>item.jd.com/100320690657.html</code>), the same as the <code>id</code> column of the results. Each id gives one row with its live price, review count and good rate. Turn off <b>Product page details</b> below for a fast price check of a long list.",
            "items": {
              "type": "string"
            }
          },
          "shopIds": {
            "title": "🏬 Shop ids",
            "type": "array",
            "description": "Or give JD shop ids, one per line, to get each shop's whole catalog: the number in a shop address (<code>1000004259</code> in <code>mall.jd.com/index-1000004259.html</code>), the same as the <code>shopId</code> column of the results. Each product the shop lists is one row with its price, reviews and, with details on, its product page. Big brand shops list several hundred products: the cap below applies to each shop.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max products per search or shop",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "How many products to save for each keyword, search address or shop. A product id or product address gives one row whatever the cap. Up to 5,000 per search or shop.",
            "default": 50
          },
          "minPrice": {
            "title": "💰 Min price (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to keep, in yuan. <code>1000</code> keeps products from ¥1,000. Leave empty for no floor."
          },
          "maxPrice": {
            "title": "💰 Max price (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to keep, in yuan. <code>3000</code> keeps products up to ¥3,000. Leave empty for no ceiling."
          },
          "includeDetails": {
            "title": "📦 Product page details",
            "type": "boolean",
            "description": "Open each product's page to add the brand, model, UPC barcode, color and size, all variants, photos, stock, delivery promise, shipping fee, return policy, warranty, service guarantees, sales rank, size and weight. Turn off for the price, shop and review fields only: faster, with fewer columns. A shop's products and SKU ids keep their live price either way.",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}