{
  "openapi": "3.0.1",
  "info": {
    "title": "1688.com Scraper — Wholesale Prices, MOQ, SKUs & Suppliers",
    "description": "Scrape 1688.com (Alibaba China wholesale) by English or Chinese keyword, product URL or offer ID. Get wholesale price tiers, MOQ, sales, images, SKUs with price and stock, attributes and supplier ratings. No login; proxies included. Built for sourcing, Amazon FBA and dropshipping.",
    "version": "1.4",
    "x-build-id": "jHsrZFevKrcWg6jFW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/selleraim.com~alibaba-1688-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-selleraim.com-alibaba-1688-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/selleraim.com~alibaba-1688-scraper/runs": {
      "post": {
        "operationId": "runs-sync-selleraim.com-alibaba-1688-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/selleraim.com~alibaba-1688-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-selleraim.com-alibaba-1688-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One keyword per line. English works, for example phone case. Chinese keywords such as 手机壳 usually match 1688 listings more precisely.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "startUrls": {
            "title": "1688 URLs",
            "type": "array",
            "description": "Product pages (https://detail.1688.com/offer/123456789.html) and search pages (https://s.1688.com/selloffer/offer_search.htm?keywords=...). A search URL keeps the sort order and filters already in it.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "offerIds": {
            "title": "Offer IDs",
            "type": "array",
            "description": "1688 product IDs: the number in detail.1688.com/offer/<ID>.html. Enter them as text.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "maxProducts": {
            "title": "Max products",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Total products for the whole run, across all keywords, URLs and IDs. Each keyword returns up to about 2,000 products (60 per page).",
            "default": 30
          },
          "includeDetails": {
            "title": "Open each product page (full details)",
            "type": "boolean",
            "description": "Adds SKUs with price and stock, product attributes, category, video, total stock and the supplier's repeat-purchase rate to every search result. Slower, and each row is billed as a product detail. Product URLs and offer IDs always return full details.",
            "default": false
          },
          "sortBy": {
            "title": "Sort search results by",
            "enum": [
              "relevance",
              "bestSelling",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Order of keyword results.",
            "default": "relevance"
          },
          "priceMin": {
            "title": "Minimum price (CNY)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products priced at or above this amount in Chinese yuan."
          },
          "priceMax": {
            "title": "Maximum price (CNY)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products priced at or below this amount in Chinese yuan."
          },
          "province": {
            "title": "Supplier province",
            "type": "string",
            "description": "Province in Chinese, as 1688 writes it: 广东 (Guangdong), 浙江 (Zhejiang), 福建 (Fujian), 江苏 (Jiangsu), 山东 (Shandong)."
          },
          "city": {
            "title": "Supplier city",
            "type": "string",
            "description": "Prefecture-level city in Chinese: 深圳 (Shenzhen), 广州 (Guangzhou), 东莞 (Dongguan), 汕头 (Shantou), 金华 (Jinhua, which includes Yiwu). County-level cities such as 义乌 are not matched; use their prefecture."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Keep the default Apify residential proxy in China. 1688 limits anonymous visitors from other countries.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "CN"
            }
          },
          "cookiesJson": {
            "title": "1688 cookies (optional)",
            "type": "string",
            "description": "Only for products that require a 1688 login: a JSON array of your own 1688.com cookies. Stored encrypted and never written to the dataset or logs. Keyword search does not need it."
          },
          "maxConcurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Pages loaded in parallel.",
            "default": 4
          },
          "maxRequestsPerMinute": {
            "title": "Pages per minute",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Upper limit on page requests per minute.",
            "default": 60
          },
          "fallbackToSearchCards": {
            "title": "Keep search cards when details fail",
            "type": "boolean",
            "description": "If a product page cannot be opened, keep its search card, marked with detailFailure.",
            "default": true
          },
          "maxPages": {
            "title": "Pages per keyword",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum result pages per keyword or search URL (60 products per page).",
            "default": 50
          },
          "maxRequests": {
            "title": "Maximum requests",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Global limit on search and product requests. Defaults to twice Max products plus 50."
          },
          "maxRequestRetries": {
            "title": "Retries",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "Retries for network or parsing failures.",
            "default": 1
          },
          "maxBlockedRetries": {
            "title": "Blocked-session retries",
            "minimum": 0,
            "maximum": 6,
            "type": "integer",
            "description": "Extra retries on a new IP after a block, CAPTCHA or rate limit.",
            "default": 3
          },
          "blockedRetryDelaySecs": {
            "title": "Initial block retry delay",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Exponential backoff base; a server Retry-After can require longer.",
            "default": 5
          },
          "maxBlockedWaitSecs": {
            "title": "Maximum block cooldown",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Longest wait for a retry; a longer Retry-After stops that request.",
            "default": 60
          },
          "sameDomainDelaySecs": {
            "title": "Same-domain spacing",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Minimum delay between requests to the same domain.",
            "default": 0
          },
          "navigationTimeoutSecs": {
            "title": "Request timeout",
            "minimum": 10,
            "maximum": 180,
            "type": "integer",
            "description": "Maximum seconds per HTTP request.",
            "default": 60
          },
          "warmupSession": {
            "title": "Initialize visitor session",
            "type": "boolean",
            "description": "Kept for saved inputs of the old browser engine; ignored.",
            "default": true
          },
          "browserChannel": {
            "title": "Browser channel",
            "pattern": "^(chromium|chrome)$",
            "type": "string",
            "description": "Kept for saved inputs of the old browser engine; ignored.",
            "default": "chromium"
          },
          "pageWaitSecs": {
            "title": "Render wait",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Kept for saved inputs of the old browser engine; ignored.",
            "default": 10
          },
          "failOnEmpty": {
            "title": "Fail on empty output",
            "type": "boolean",
            "description": "Fail the run when no products were extracted.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}