{
  "openapi": "3.0.1",
  "info": {
    "title": "Alibaba Products Scraper | Wholesale Prices and MOQ",
    "description": "Alibaba scraper (阿里巴巴) for wholesale sourcing: scrape Alibaba.com products by keyword or search link. 50 products in 5 seconds, 45 fields each: USD price range, MOQ, certifications, supplier years, transactions, verified badge, response rate, ratings, images. No account. Export JSON, CSV, Excel.",
    "version": "1.0",
    "x-build-id": "ew7N8Dpag2qbyIT8k"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~alibaba-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-alibaba-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~alibaba-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-alibaba-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~alibaba-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-alibaba-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 Alibaba.com, one keyword per line, as you would type it in the search bar (<code>yoga mat</code>, <code>led strip lights</code>, <code>dog bed</code>). English keywords match best. A keyword lists 40 products per page in the order buyers see them, and a common keyword runs to thousands of products. An Alibaba.com link or a bare product number (<code>1601446381116</code>) typed here is read as the product or search it names, never searched as a word.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Alibaba links",
            "type": "array",
            "description": "Links copied from Alibaba.com, one per line:<br><b>Search results</b> (<code>https://www.alibaba.com/trade/search?SearchText=led+strip+lights</code>) or a product list page (<code>/premium/</code>, <code>/showroom/</code>): its products are read like a keyword.<br><b>Product pages</b> (<code>https://www.alibaba.com/product-detail/..._1601446381116.html</code>) or the bare product number (<code>1601446381116</code>): the product is found in Alibaba search, by its number or by the title words of its link, and saved as one row. A product Alibaba does not show in search right now is skipped and named in the log, never billed.<br>Filters you set on Alibaba's own page are not carried over: use the filters below.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productIds": {
            "title": "🆔 Product numbers",
            "type": "array",
            "description": "Alibaba product numbers (<code>1601446381116</code>) copied from a supplier quote or a spreadsheet, one per line. Each product is looked up by its number and saved as one row when Alibaba search shows it; a number Alibaba search does not answer is named in the log and skipped, never billed. Alibaba search answers many bare numbers with unrelated part numbers, so prefer the product's full address in the links above when you have it.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max products",
            "minimum": 1,
            "type": "integer",
            "description": "How many rows to save for the whole run. Product links are served first, then what is left is shared evenly across your keywords and search links: <code>100</code> with four keywords saves up to 25 products each, and a keyword that runs out hands its share to the next. Cost scales with the rows delivered, so set it to what you need.",
            "default": 50
          },
          "maxPrice": {
            "title": "💵 Max price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Highest unit price you accept, in US dollars, compared with the product's starting price (<code>5</code>). Leave empty for no ceiling."
          },
          "maxMoq": {
            "title": "📦 Max MOQ",
            "minimum": 0,
            "type": "integer",
            "description": "Largest minimum order quantity you accept (<code>50</code> keeps products a supplier sells from 50 units or fewer). Useful to find suppliers open to sample-size orders. Leave empty for no limit."
          },
          "verifiedSupplierOnly": {
            "title": "✅ Verified suppliers only",
            "type": "boolean",
            "description": "On: keep only products from suppliers holding Alibaba's Verified Supplier badge, whose company was inspected by a third party (SGS, TÜV Rheinland, Intertek). Most cards carry the badge, so a keyword still yields most of its rows.",
            "default": false
          },
          "debugMode": {
            "title": "🐞 Debug mode",
            "type": "boolean",
            "description": "Adds detailed lines to the run log. Leave it off for normal runs.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}