{
  "openapi": "3.0.1",
  "info": {
    "title": "Lazada Scraper: Products, Prices, Sold Counts and Reviews",
    "description": "Scrape Lazada in Singapore, Malaysia, Thailand, Indonesia, the Philippines and Vietnam by keyword, category or product link: price, was price, discount, rating, review count, sold count, seller, brand and images, plus optional customer reviews. No login.",
    "version": "0.1",
    "x-build-id": "RHm4jbKj1hs0Keucp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~lazada-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-lazada-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/themineworks~lazada-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-lazada-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/themineworks~lazada-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-lazada-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": "Keywords",
            "type": "array",
            "description": "Search words, one per line, as you would type them in the Lazada search box in the country you pick below. Example: wireless earbuds, rice cooker, หูฟัง. Each keyword is one search. Up to 100 searches per run.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "SG",
              "MY",
              "TH",
              "ID",
              "PH",
              "VN"
            ],
            "type": "string",
            "description": "The Lazada storefront the keywords are searched on. Prices come back in that country's currency. Links in startUrls keep their own country.",
            "default": "SG"
          },
          "startUrls": {
            "title": "Links (optional)",
            "type": "array",
            "description": "Lazada links copied from your browser, from any of the six storefronts: a search link such as https://www.lazada.sg/catalog/?q=rice+cooker, a tag or category link such as https://www.lazada.co.id/shop-mobiles/ or https://www.lazada.vn/tag/ao-thun/, or a product link such as https://www.lazada.com.my/products/pdp-i4799342542.html. Filters in a search link are kept. A product link returns one row for that product.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max products per search",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "The most products to return for each keyword or search link, 1 to 5,000. Lazada serves 40 products a page and no more than 4,080 per search; split a bigger search with price ranges. Product links are not counted here. Example: 200.",
            "default": 50
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "popularity",
              "priceasc",
              "pricedesc"
            ],
            "type": "string",
            "description": "The order of the results, as in the sort menu on Lazada. Used for keywords and for links that do not already carry a sort.",
            "default": "popularity"
          },
          "minPrice": {
            "title": "Min price (optional)",
            "minimum": 0,
            "type": "number",
            "description": "Lowest price, in the storefront's own currency (for example SGD, THB, IDR). Lazada applies it, and the actor checks it again on every row before it is delivered."
          },
          "maxPrice": {
            "title": "Max price (optional)",
            "minimum": 0,
            "type": "number",
            "description": "Highest price, in the storefront's own currency."
          },
          "minRating": {
            "title": "Min rating (optional)",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only products rated at least this many stars, 1 to 5. Products with no rating yet are kept."
          },
          "includeDetails": {
            "title": "Open product pages (pictures, description, categories, variants)",
            "type": "boolean",
            "description": "On: each product's own page is read too, for the full picture set, description, category path, variant options (colour, size) and, on lazada.sg, the seller rating and specifications. The page is requested the way a link preview (Facebook's crawler) requests it, the only way Lazada renders it on the server. Off: rows come from the search cards and, for product links, the review summary, which is faster. Same price either way.",
            "default": false
          },
          "includeReviews": {
            "title": "Include customer reviews",
            "type": "boolean",
            "description": "On: the reviews of each product are delivered as extra rows with record_type review. Each review is charged as a review-scraped event on top of the product.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Reviews per product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many reviews to deliver for each product, 1 to 1,000. Used only when Include customer reviews is on.",
            "default": 20
          },
          "reviewSort": {
            "title": "Review order",
            "enum": [
              "newest",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first, or Lazada's own relevance order. Used only when Include customer reviews is on.",
            "default": "newest"
          },
          "reviewStars": {
            "title": "Review stars (optional)",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Only reviews with exactly this many stars, 1 to 5. Leave at 0 for all stars. Used only when Include customer reviews is on.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: Lazada answers a share of requests with a bot check page, so the actor sends each try through a new IP and mixes four Apify Proxy pools (US residential, datacenter, residential from any country, residential from the storefront's country), favouring whichever is being answered. Choose a group or a country here only if you want that one pool. Traffic is small, about 1 to 5 KB per product.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}