{
  "openapi": "3.0.1",
  "info": {
    "title": "1688 Wholesale Products Scraper - 50+ Fields from 1688.com",
    "description": "Extract 50+ fields per product from 1688.com at 250+ products/minute. Tiered wholesale pricing, supplier verification, factory stats, dropship channels, certifications, trade service scores. Search by keyword (Chinese/English) or offer IDs. JSON output, no login required.",
    "version": "0.0",
    "x-build-id": "Xc86ECgmZFdhe6sCn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~1688-wholesale-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-1688-wholesale-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/zen-studio~1688-wholesale-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-1688-wholesale-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/zen-studio~1688-wholesale-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-1688-wholesale-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": "Search keywords (English or Chinese) 🔍",
            "type": "array",
            "description": "Products to search for. Works with <b>English</b> (wireless earbuds, phone case) or <b>Chinese</b> (手机壳, 蓝牙耳机).<br><br>Each keyword is searched separately. <b>Max results</b> applies per keyword.<br><br>On the free plan a run previews the <b>first keyword only</b>; any paid plan searches every keyword in one run.<br><br>Chinese keywords typically return more results since 1688 is a domestic Chinese marketplace.<br><br>Ignored if <b>Offer IDs</b> are provided.",
            "items": {
              "type": "string"
            }
          },
          "offerIds": {
            "title": "Offer IDs",
            "type": "array",
            "description": "Specific product IDs to scrape directly (skips search). The ID appears in any 1688 product URL as <code>offerId=<b>735353578254</b></code>.<br><br>If filled, the <b>keywords</b> and <b>filters</b> are ignored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results (set 10000 for unlimited)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum products to scrape per keyword. Set to <b>10,000</b> for unlimited scraping. Ignored when <b>Offer IDs</b> are filled.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "bestSelling",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "How to sort search results.",
            "default": "relevance"
          },
          "includeSkuDetails": {
            "title": "Include SKU variants",
            "type": "boolean",
            "description": "Add the full SKU variant matrix: colors, sizes and models, each variant naming <b>every axis separately</b> (颜色 = 黑色, 尺码 = S) beside the joined label, with each axis carrying the id that identifies it across listings, with per-variant price, stock, sales, image and <b>shipping weight (kg)</b>, plus the packaging quantity and unit where the supplier states them. Significantly increases output size per product.<br><br>Turn this on for <b>shipping and freight calculations</b>: a variant carries a weight whenever the supplier declares one for that SKU or one for a single piece of the product, and a field names which of the two it is. Package <b>length, width, height and volume</b> come with the Supplier Intelligence add-on.<br><br>Leave off if you only need product-level data.",
            "default": false
          },
          "includeDescriptionHtml": {
            "title": "Include full description HTML",
            "type": "boolean",
            "description": "Add the complete product description as raw <b>HTML</b> (the long-form description page). This can be large and significantly increases output size per product.<br><br>The detail-image URLs and a plain-text version of the description are <b>always</b> included regardless of this setting — turn this on only if you need the full formatted HTML.",
            "default": false
          },
          "includeSupplierIntelligence": {
            "title": "Supplier Intelligence (paid add-on)",
            "type": "boolean",
            "description": "Add supplier &amp; distribution intelligence per product: how many distributors already resell it, recent dropship order volume, fulfillment speed, the sales channels the supplier authorizes for resale, product certificates (quality reports, licenses, patents), compliance data (registration numbers such as CCC codes or cosmetics filings, and safety warnings), package dimensions per variant (length, width, height, volume and weight), sales volume with its period, product badges, and seller intelligence (transaction volume, favorited count, factory certification tags).<br><br>Billed only when enabled <b>and</b> the product carries add-on data; <b>off by default</b>.",
            "default": false
          },
          "priceMin": {
            "title": "Minimum price (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include products with unit price ≥ this value. In Chinese yuan. Leave at 0 for no minimum."
          },
          "priceMax": {
            "title": "Maximum price (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include products with unit price ≤ this value. In Chinese yuan. Leave at 0 for no maximum."
          },
          "minOrderQuantity": {
            "title": "Minimum order quantity",
            "minimum": 1,
            "type": "integer",
            "description": "Only include suppliers whose minimum order is ≤ this value. Useful for finding suppliers willing to sell small quantities. Leave empty for no limit. It narrows which matching products are returned, never which products the keyword matches."
          },
          "merchantType": {
            "title": "Merchant type",
            "enum": [
              "any",
              "superFactory",
              "verifiedMerchant"
            ],
            "type": "string",
            "description": "Filter by supplier verification tier.<br><br><b>Super Factory</b> (超级工厂): top-tier manufacturers with verified production capacity.<br><b>Verified Merchant</b> (实力商家): trusted sellers with strong track records.",
            "default": "any"
          },
          "province": {
            "title": "Supplier province",
            "type": "string",
            "description": "Filter suppliers by province. Use Chinese name, e.g. <code>广东</code> (Guangdong), <code>浙江</code> (Zhejiang), <code>江苏</code> (Jiangsu)."
          },
          "city": {
            "title": "Supplier city",
            "type": "string",
            "description": "Filter suppliers by city. Use Chinese name, e.g. <code>深圳市</code> (Shenzhen), <code>广州市</code> (Guangzhou), <code>义乌市</code> (Yiwu)."
          },
          "proxyCountryMode": {
            "title": "Proxy country",
            "enum": [
              "rotate",
              "CN",
              "HK"
            ],
            "type": "string",
            "description": "Which country the proxy exits from. Rotate is recommended."
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}