{
  "openapi": "3.0.1",
  "info": {
    "title": "Alibaba Scraper — B2B Products, Prices, MOQ & Suppliers",
    "description": "Alibaba.com scraper: export B2B products by keyword or search URL with price range, MOQ, sales, ratings, certifications, images and the supplier behind each offer (company, country, Gold Supplier years, Verified, response rate). No login. Export CSV, Excel, JSON.",
    "version": "1.0",
    "x-build-id": "bADCVH7i2UHggs6t4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/logiover~alibaba-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-logiover-alibaba-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/logiover~alibaba-scraper/runs": {
      "post": {
        "operationId": "runs-sync-logiover-alibaba-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/logiover~alibaba-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-logiover-alibaba-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": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Product keywords exactly as you would type them into the Alibaba.com search box, e.g. bluetooth speaker, yoga mat, solar panel, cnc machine, custom t shirt. Each term is one Alibaba search (combined with every supplier country and category you choose). One search lists up to about 10,000 products; with Deep search on, bigger searches continue in price bands.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Alibaba search or category URLs",
            "type": "array",
            "description": "Optional. Paste Alibaba.com search URLs (https://www.alibaba.com/trade/search?SearchText=…), keyword pages (/products/…, /showroom/…, /countrysearch/CN/…) or URLs with a categoryId. The keyword, category and Alibaba's own filters in the URL (country, pricef/pricet, moqf/moqt, ta, verifiedPro, assessmentCompany, productAuthTag, companyAuthTag, reviewScore, sortType …) are kept. Single product pages are not supported.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categoryIds": {
            "title": "Category IDs",
            "type": "array",
            "description": "Optional. Alibaba.com category IDs such as 202063712 (TWS earphones) — the categoryId column of this Actor's output or the categoryId=… part of an Alibaba URL. Without search terms each category is browsed on its own; with search terms the searches are narrowed to these categories.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max products (total)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Upper limit for the whole run. 0 = no limit. Every product is saved once even if several searches find it.",
            "default": 1000
          },
          "maxItemsPerSearch": {
            "title": "Max products per search",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Optional cap for each search term / URL / category (0 = no cap), useful to spread a budget evenly across many keywords.",
            "default": 0
          },
          "deepSearch": {
            "title": "Deep search (split big searches into price bands)",
            "type": "boolean",
            "description": "Alibaba lists about 10,000 products per search even when it reports 200,000. With this on, a search that has more products than that continues automatically in 16 USD price bands (each a search of its own), so one keyword can give tens of thousands of unique products. Off = stop after Alibaba's own result list.",
            "default": true
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "relevance",
              "best_selling"
            ],
            "type": "string",
            "description": "Order of results. Best match reaches the full ~10,000-product window per search; best selling lists only the top sellers (Alibaba stops after roughly 600 products per search) and is not combined with deep search.",
            "default": "relevance"
          },
          "supplierCountries": {
            "title": "Supplier countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Only suppliers located in these countries / regions (Alibaba's \"Supplier country/region\" filter). Each country is a separate search per term. Empty = all countries.",
            "items": {
              "type": "string",
              "enum": [
                "CN",
                "HK",
                "TW",
                "IN",
                "VN",
                "PK",
                "TR",
                "TH",
                "MY",
                "ID",
                "BD",
                "KR",
                "JP",
                "US",
                "CA",
                "MX",
                "BR",
                "GB",
                "DE",
                "FR",
                "IT",
                "ES",
                "PT",
                "NL",
                "BE",
                "PL",
                "AT",
                "UA",
                "EG",
                "ZA",
                "AE",
                "SA",
                "AU",
                "PH",
                "SG",
                "KH",
                "LK"
              ],
              "enumTitles": [
                "China (CN)",
                "Hong Kong S.A.R. (HK)",
                "Taiwan, China (TW)",
                "India (IN)",
                "Vietnam (VN)",
                "Pakistan (PK)",
                "Turkey (TR)",
                "Thailand (TH)",
                "Malaysia (MY)",
                "Indonesia (ID)",
                "Bangladesh (BD)",
                "South Korea (KR)",
                "Japan (JP)",
                "United States (US)",
                "Canada (CA)",
                "Mexico (MX)",
                "Brazil (BR)",
                "United Kingdom (GB)",
                "Germany (DE)",
                "France (FR)",
                "Italy (IT)",
                "Spain (ES)",
                "Portugal (PT)",
                "Netherlands (NL)",
                "Belgium (BE)",
                "Poland (PL)",
                "Austria (AT)",
                "Ukraine (UA)",
                "Egypt (EG)",
                "South Africa (ZA)",
                "United Arab Emirates (AE)",
                "Saudi Arabia (SA)",
                "Australia (AU)",
                "Philippines (PH)",
                "Singapore (SG)",
                "Cambodia (KH)",
                "Sri Lanka (LK)"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Min price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Optional. Lowest unit price in US dollars (Alibaba's price filter)."
          },
          "maxPrice": {
            "title": "Max price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Optional. Highest unit price in US dollars."
          },
          "maxMinOrder": {
            "title": "Max minimum order (MOQ)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Only products whose minimum order quantity is at most this many units — e.g. 1 for products you can order one at a time, 100 for small batches."
          },
          "tradeAssurance": {
            "title": "Trade Assurance only",
            "type": "boolean",
            "description": "Only products covered by Alibaba.com Trade Assurance (payment protection).",
            "default": false
          },
          "verifiedSupplier": {
            "title": "Verified Supplier only",
            "type": "boolean",
            "description": "Only suppliers whose company information was checked on site by a third-party inspection company (Alibaba's \"Verified Supplier\" badge).",
            "default": false
          },
          "verifiedProSupplier": {
            "title": "Verified Pro Supplier only",
            "type": "boolean",
            "description": "Only suppliers with Alibaba's \"Verified PRO\" badge (the strictest verification level).",
            "default": false
          },
          "productCertification": {
            "title": "Product certification",
            "type": "string",
            "description": "Optional. Only products that list this certification, e.g. CE, ROHS, FCC, FDA, UKCA."
          },
          "supplierCertification": {
            "title": "Supplier (management) certification",
            "type": "string",
            "description": "Optional. Only suppliers holding this management-system certificate, e.g. ISO, BSCI, SEDEX, FSC."
          },
          "minSupplierRating": {
            "title": "Minimum supplier rating",
            "enum": [
              "any",
              "4",
              "4.5",
              "5"
            ],
            "type": "string",
            "description": "Only suppliers with at least this review score on Alibaba (5-star scale).",
            "default": "any"
          },
          "includeSponsored": {
            "title": "Include sponsored listings",
            "type": "boolean",
            "description": "Alibaba mixes paid (sponsored) placements into search results. They are real products and are flagged in the sponsored column; switch this off to keep organic results only.",
            "default": true
          },
          "onePerSupplier": {
            "title": "One product per supplier (supplier list)",
            "type": "boolean",
            "description": "Keep only the first product of each supplier — turns the output into a de-duplicated list of suppliers (company, country, years, verification, rating, response rate, main products, contact link) with one sample product each.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The Actor starts on the direct connection and switches to Apify datacenter proxies by itself when Alibaba refuses a request; residential proxies are used only as a last resort for a few requests. The default works for nearly everyone.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}