{
  "openapi": "3.0.1",
  "info": {
    "title": "Lazada Produc Scraper -SG, MY, PH, TH, VN, ID",
    "description": "Lazada Scraper With Reviews extracts structured product listing and customer review data from Lazada across MY, SG, ID, PH, TH, and VN. It captures titles, URLs, pricing, ratings, seller details, media assets, inventory signals, and review content in a consistent format for analytics, monitoring",
    "version": "0.1",
    "x-build-id": "nWA6Iy5xmr2GiBmXZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lentic_clockss~lazada-ph-search-results-collector/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lentic_clockss-lazada-ph-search-results-collector",
        "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/lentic_clockss~lazada-ph-search-results-collector/runs": {
      "post": {
        "operationId": "runs-sync-lentic_clockss-lazada-ph-search-results-collector",
        "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/lentic_clockss~lazada-ph-search-results-collector/run-sync": {
      "post": {
        "operationId": "run-sync-lentic_clockss-lazada-ph-search-results-collector",
        "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",
        "required": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Keywords",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Search keywords to query on Lazada. Empty or whitespace-only entries are removed before validation.",
            "items": {
              "type": "string"
            }
          },
          "market": {
            "title": "Market",
            "enum": [
              "PH",
              "SG",
              "MY",
              "TH",
              "VN",
              "ID"
            ],
            "type": "string",
            "description": "Target Lazada country site. The actor uses the matching site host and, on Apify, automatically selects the matching residential proxy country for that market.",
            "default": "PH"
          },
          "pages": {
            "title": "Pages per keyword",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "How many Lazada search result pages to fetch per keyword. Hard-capped at 3 for v1.",
            "default": 1
          },
          "maxItems": {
            "title": "Maximum output items",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of normalized rows written to the dataset after dedupe.",
            "default": 40
          },
          "minItemsPerPage": {
            "title": "Minimum items per page",
            "minimum": 1,
            "maximum": 40,
            "type": "integer",
            "description": "Minimum acceptable number of listItems in a parsed AJAX payload. Lower this only for low-result keywords.",
            "default": 1
          },
          "headless": {
            "title": "Run browser headless",
            "type": "boolean",
            "description": "Whether the browser should run in headless mode. Disable only for local debugging.",
            "default": true
          },
          "includeRawPayload": {
            "title": "Save raw AJAX payloads",
            "type": "boolean",
            "description": "When enabled, raw AJAX payloads are stored in the key-value store. This improves debugging but increases storage cost.",
            "default": false
          },
          "debug": {
            "title": "Debug mode",
            "type": "boolean",
            "description": "When enabled, failures attempt to store screenshots, page HTML, payload metadata, and extra logs in the key-value store.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or custom proxy configuration for remote anti-bot evasion. When Apify Proxy is used, the actor automatically pins the residential proxy country to the selected market (for example PH -> Philippines proxy, SG -> Singapore proxy) and enforces market/proxy country consistency."
          },
          "maxRetriesPerKeyword": {
            "title": "Max retries per keyword",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "How many times to retry a keyword after a recoverable failure before marking it failed.",
            "default": 1
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 15,
            "maximum": 120,
            "type": "integer",
            "description": "Per-keyword timeout budget for page navigation, AJAX fetch, and parsing work.",
            "default": 90
          },
          "scrollSteps": {
            "title": "Scroll steps",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "How many light scroll steps to perform after landing on the search page before calling the AJAX endpoint.",
            "default": 3
          },
          "scrollDelayMs": {
            "title": "Delay after each scroll (ms)",
            "minimum": 0,
            "maximum": 3000,
            "type": "integer",
            "description": "Delay in milliseconds between light scroll steps to give the page time to hydrate.",
            "default": 300
          },
          "postLoadWaitMs": {
            "title": "Wait after page load (ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Extra wait after initial page load before collecting AJAX data, useful when Lazada renders late.",
            "default": 1200
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}