{
  "openapi": "3.0.1",
  "info": {
    "title": "Alibaba.com Scraper API - B2B Products, Prices, MOQ & Suppliers",
    "description": "Scrape Alibaba.com search results: product title, price range, minimum order quantity and unit, supplier company, country, years on Alibaba, rating, review count, units sold, certifications, images and product URL. Prices convert to your chosen currency. No login, no API key.",
    "version": "0.1",
    "x-build-id": "6YIO0obeecquaiuX4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~alibaba-com-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-alibaba-com-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/dami_studio~alibaba-com-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-alibaba-com-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/dami_studio~alibaba-com-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-alibaba-com-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 terms",
            "type": "array",
            "description": "What to look for on Alibaba.com, one term per line — for example \"led light\" or \"stainless steel water bottle\". Each term is walked separately and results are de-duplicated across all of them.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Alibaba.com search URLs",
            "type": "array",
            "description": "Optional. Paste Alibaba.com search or listing URLs instead of typing terms, for example https://www.alibaba.com/trade/search?SearchText=led%20light. The search term is read out of the URL. Works alongside the field above.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum products",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Hard cap on products returned across all search terms. You are charged per product returned, so this is your budget cap. Duplicates are never charged.",
            "default": 50
          },
          "currency": {
            "title": "Price currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "JPY",
              "INR",
              "CAD",
              "AUD",
              "BRL",
              "RUB",
              "SGD"
            ],
            "type": "string",
            "description": "Alibaba converts its prices to whichever currency the request asks for. Without this pin the currency silently follows the exit address's country and one dataset ends up mixing currencies. Every option here was verified live to convert prices, not just relabel them.",
            "default": "USD"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only products whose price range reaches this value, in the currency chosen above."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only products whose price range starts at or below this value."
          },
          "maxMoq": {
            "title": "Maximum minimum-order quantity",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only products you can order in quantities at or below this number. Units differ per product (pieces, sets, meters, rolls), so this compares the number only."
          },
          "minSupplierYears": {
            "title": "Minimum years on Alibaba",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only suppliers who have been selling on Alibaba at least this many years. Present on 100% of products."
          },
          "minReviewCount": {
            "title": "Minimum review count",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only products whose supplier has at least this many reviews. About 6% of products carry no review data at all and are dropped by any value above 0."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Keep only products rated at or above this, out of 5."
          },
          "supplierCountries": {
            "title": "Supplier countries",
            "type": "array",
            "description": "Two-letter country codes, for example CN, HK, IN, US, VN. Alibaba.com is overwhelmingly Chinese: a 480-product sample was 97.3% CN and 1.9% HK, so narrow filters here return very little.",
            "items": {
              "type": "string"
            }
          },
          "maxPagesPerQuery": {
            "title": "Maximum pages per search term",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Page ceiling per term, 40 products per page. Consecutive pages overlap by roughly 15%, so a page adds about 33 new products on average and fewer as you go deeper. Raise this only if you want depth on one term; searching more terms returns more unique products per request.",
            "default": 100
          },
          "requestDelayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Minimum gap between requests. The actor already spreads a run across many exit addresses, so this is rarely needed; raise it if a run ends early with a BLOCKED row.",
            "default": 500
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. The actor ships with its own rotating datacenter addresses and needs no configuration. Supply your own proxies here only if you want to use them instead. Apify Residential is deliberately not used — Alibaba serves datacenter addresses normally, and residential bandwidth is billed per GB against ~287 KB per page."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}