{
  "openapi": "3.0.1",
  "info": {
    "title": "Walmart Reviews Scraper: Photos & Text Review Filtering",
    "description": "Walmart Reviews Scraper: Photos & Text Review Filtering extracts Walmart reviews with text, photos, ratings, reviewer details, dates, and product data. Filter reviews by rating, keywords, media, and other criteria for product research, sentiment analysis, and competitor insights.",
    "version": "0.1",
    "x-build-id": "cY3XpNDSYSZioJdpz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapio~walmart-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapio-walmart-reviews-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/scrapio~walmart-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapio-walmart-reviews-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/scrapio~walmart-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapio-walmart-reviews-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": {
          "reviewTargets": {
            "title": "🎯 Walmart URLs, Keywords, or Search Terms",
            "type": "array",
            "description": "📋 Add one item per line.\n\n✅ Supported inputs:\n• 🔗 Product URL (e.g. https://www.walmart.com/ip/product-name/123456)\n• 🔎 Search URL (e.g. https://walmart.com/search?q=tshirt)\n• 🧠 Keyword (e.g. tshirt)\n\n💡 Bulk input is supported. This is the same value as the legacy 'startUrls' field below — set either one.",
            "items": {
              "type": "string"
            }
          },
          "reviewCap": {
            "title": "🧾 Maximum Reviews Per Product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "🎯 Max reviews to extract per product. When a content filter below is active, this caps the number of MATCHING reviews returned, not the raw pages scanned.\n⚠️ Keep this balanced for faster runs and predictable output volume.\n\nSame value as the legacy 'maxComments' field below — set either one. Default is 15."
          },
          "maxProductsPerStartUrl": {
            "title": "📦 Maximum Products Per Start URL",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "🛍️ For search URLs, limit how many products are processed from each input URL.\n💡 Higher values collect more data but increase run time.",
            "default": 10
          },
          "sortOrder": {
            "title": "🔀 Review Sort Order",
            "enum": [
              "relevancy",
              "submission-desc",
              "helpful",
              "rating-desc",
              "rating-asc"
            ],
            "type": "string",
            "description": "📑 Choose review ordering:\n• ⭐ relevancy (most relevant)\n• 🆕 submission-desc (newest first)\n• 👍 helpful (most helpful)\n• ⬆️ rating-desc (highest rating first)\n• ⬇️ rating-asc (lowest rating first)",
            "default": "relevancy"
          },
          "skipProductsWithoutReviews": {
            "title": "⏭️ Skip Products Without Any Reviews",
            "type": "boolean",
            "description": "⚡ If enabled, a product with zero reviews on the platform produces no output row at all for that product (no review row, no summary row). If disabled, a zero-review product still gets one summary row disclosing that it has zero reviews.",
            "default": true
          },
          "startUrls": {
            "title": "🎯 Walmart URLs, Keywords, or Search Terms (legacy)",
            "type": "array",
            "description": "Legacy alias of 'reviewTargets', kept for backward compatibility with older input JSON. Used only when 'reviewTargets' is empty.",
            "items": {
              "type": "string"
            }
          },
          "maxComments": {
            "title": "🧾 Maximum Reviews Per Product (legacy)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Legacy alias of 'reviewCap', kept for backward compatibility with older input JSON. Used only when 'reviewCap' is not set."
          },
          "photosOnly": {
            "title": "🖼️ Only Reviews With Customer Photos",
            "type": "boolean",
            "description": "📸 When enabled, only reviews that carry at least one real customer photo are returned. Photo coverage is product-dependent — some products have none. Off by default.",
            "default": false
          },
          "writtenReviewsOnly": {
            "title": "📝 Only Reviews With Written Text",
            "type": "boolean",
            "description": "✍️ When enabled, bare star-only entries (no written review text) are excluded. Some products are rating-only on the platform itself — filtering to written text can return zero rows for those. Off by default.",
            "default": false
          },
          "includeContentSummary": {
            "title": "📊 Include Per-Product Content Summary Row",
            "type": "boolean",
            "description": "➕ When enabled, one extra summary row per product is added reporting the product's real total review count, how many of those carry written text, and whether the product is rating-only. On by default.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "🛡️ Your own proxy strategy is used as-is for every request this run makes.\n\n🚀 Starts with no proxy by default. Selecting Apify Proxy groups/country here is honored for the actual requests."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}