{
  "openapi": "3.0.1",
  "info": {
    "title": "Alibaba Scraper API — Products, Suppliers, Prices & Reviews",
    "description": "Alibaba scraper and unofficial Alibaba API: extract products, verified supplier profiles and buyer reviews. Full quantity price ladders, MOQ, SKU matrix, spec sheets, factory audit data, addresses and rating histograms. For B2B sourcing and FBA. No login. From $1.40/1k.",
    "version": "1.2",
    "x-build-id": "DpbyfE7c817rAp99U"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pro100chok~alibaba-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pro100chok-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/pro100chok~alibaba-scraper/runs": {
      "post": {
        "operationId": "runs-sync-pro100chok-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/pro100chok~alibaba-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-pro100chok-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": {
          "scrapeType": {
            "title": "What to scrape",
            "enum": [
              "search",
              "product",
              "supplier",
              "supplierProducts",
              "reviews"
            ],
            "type": "string",
            "description": "Choose the kind of data to collect. 'Product search' runs keyword searches and returns offer cards. 'Product detail' takes product URLs or IDs and returns the full record with the price ladder, variants and specifications. 'Supplier profile' returns a company record. 'Supplier catalog' lists every product of a storefront. 'Reviews' returns buyer reviews and rating breakdowns.",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on Alibaba.com, one per line - for example 'led strip light' or 'cnc machining service'. Used when 'What to scrape' is set to product search.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Alibaba URLs to scrape directly: product pages (https://www.alibaba.com/product-detail/...), supplier storefronts (https://company.en.alibaba.com), or supplier catalogs (.../productlist.html). Plain numeric product IDs are accepted too.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Hard cap on how many records this run writes to the dataset - the run stops the moment it is reached, so you never pay for more results than you asked for. Results are written one by one as they are ready, so stopping a run early keeps everything collected so far.",
            "default": 100
          },
          "includeProductDetail": {
            "title": "Add full product details",
            "type": "boolean",
            "description": "For every search result, also open the product page to add the complete quantity price ladder, SKU variants, full specification list, lead times, package weight and dimensions. Slower, but far richer records.",
            "default": false
          },
          "includeSupplierProfile": {
            "title": "Add supplier company profile",
            "type": "boolean",
            "description": "Attach verified company data to each product: registered address, transaction value, orders in the last 6 months, reorder rate, on-time delivery rate, staff count, certifications and main export markets. Profiles are fetched once per supplier and reused.",
            "default": false
          },
          "includeReviews": {
            "title": "Add buyer reviews",
            "type": "boolean",
            "description": "Attach buyer reviews and the full star-rating breakdown (per-dimension scores and the 1-5 histogram) to each product record.",
            "default": false
          },
          "maxReviewsPerItem": {
            "title": "Reviews per item",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many individual reviews to attach to each product when 'Add buyer reviews' is enabled, and how many to return in the Reviews scrape type.",
            "default": 20
          },
          "includeSupplierProducts": {
            "title": "Also list the supplier's products",
            "type": "boolean",
            "description": "When scraping supplier profiles, additionally return every product listed on that storefront as separate records.",
            "default": false
          },
          "outputFormat": {
            "title": "Output format",
            "enum": [
              "nested",
              "flat"
            ],
            "type": "string",
            "description": "'Structured' keeps related fields grouped (price, supplier, shipping, media) which reads best as JSON. 'Flat' collapses everything into single-level columns, which is easier to open in Excel or Google Sheets.",
            "default": "nested"
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "AUD",
              "CAD",
              "JPY",
              "INR",
              "BRL",
              "RUB",
              "AED"
            ],
            "type": "string",
            "description": "Currency used for all prices in the results. Alibaba converts prices server-side to this currency.",
            "default": "USD"
          },
          "shipToCountry": {
            "title": "Ship-to country",
            "enum": [
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "CA",
              "AU",
              "AE",
              "SA",
              "BR",
              "IN",
              "RU",
              "NL",
              "PL"
            ],
            "type": "string",
            "description": "Destination country used for shipping estimates and regional availability. Results are always returned in English.",
            "default": "US"
          },
          "maxRetries": {
            "title": "Retries per request",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many times to retry a failed page before moving on. Supplier storefronts sometimes need several attempts; raise this if you see records being skipped, lower it if you prefer failing fast.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy used for all requests. Residential proxies are strongly recommended and are the default; you can also supply your own proxies on the Custom proxies tab.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}