{
  "openapi": "3.0.1",
  "info": {
    "title": "Walmart Reviews Scraper With Verified & Rating Filters",
    "description": "Walmart Reviews Scraper extracts product reviews with verified purchase status, star ratings, review titles, text, dates, reviewer details, and product information. Ideal for sentiment analysis, product research, competitor monitoring, customer feedback, and e-commerce insights.",
    "version": "0.1",
    "x-build-id": "vVd69RbD0IdRkXONv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~walmart-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-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/scrapier~walmart-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-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/scrapier~walmart-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-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": {
          "productList": {
            "title": "🛍️ Walmart Products To Review",
            "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. (Alias of the legacy startUrls field below — use either one.)",
            "items": {
              "type": "string"
            }
          },
          "reviewLimit": {
            "title": "🧾 Maximum Reviews Per Product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "🎯 Max reviews to extract per product, before any filter below is applied.\n⚠️ Keep this balanced for faster runs and predictable output volume.\n\nExample: reviewLimit=20 + verifiedPurchaseOnly=true → up to 20 reviews are fetched, then only the verified ones are kept. Default is 20. (Alias of the legacy maxComments field below.)"
          },
          "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"
          },
          "maxProductsPerStartUrl": {
            "title": "📦 Maximum Products Per Search URL",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "🛍️ For search URLs, limit how many products are processed from each input line.\n💡 Higher values collect more data but increase run time.",
            "default": 10
          },
          "skipProductsWithoutReviews": {
            "title": "⏭️ Skip Products Without Reviews",
            "type": "boolean",
            "description": "🏷️ When enabled, a product page that returns zero reviews is labeled \"skipped\" in the run log instead of \"0 reviews\". Every product is still checked either way — this only changes the log wording, not which products are checked.",
            "default": true
          },
          "verifiedPurchaseOnly": {
            "title": "✅ Verified Purchases Only",
            "type": "boolean",
            "description": "🛡️ When enabled, only reviews carrying Walmart's own Verified Purchaser badge are kept in the output. Every emitted row also carries the isVerifiedPurchase field so you can see the badge status either way. Default is off (all reviews kept).",
            "default": false
          },
          "minHelpfulVotes": {
            "title": "👍 Minimum Helpful Votes",
            "minimum": 0,
            "type": "integer",
            "description": "📊 Drop any review whose helpful-vote count (helpfulVotes) is below this number. 0 = keep every review regardless of helpful votes. Example: minHelpfulVotes=50 keeps only reviews with 50+ people marking them helpful.",
            "default": 0
          },
          "ratingFilter": {
            "title": "⭐ Star Ratings To Include",
            "type": "array",
            "description": "🎯 Select one or more star ratings (1-5). Only reviews with a matching rating are kept. Leave empty to keep every rating.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "⭐ 1 star",
                "⭐⭐ 2 stars",
                "⭐⭐⭐ 3 stars",
                "⭐⭐⭐⭐ 4 stars",
                "⭐⭐⭐⭐⭐ 5 stars"
              ]
            },
            "default": []
          },
          "recommendationFilter": {
            "title": "👍👎 Recommendation Status",
            "enum": [
              "both",
              "recommended_only",
              "not_recommended_only"
            ],
            "type": "string",
            "description": "🗳️ Keep both recommended and not-recommended reviews, or isolate one side. Reviews where Walmart never recorded a recommendation are excluded whenever a specific side is chosen (never guessed either way).",
            "default": "both"
          },
          "startUrls": {
            "title": "🔗 Legacy Start URLs (alias)",
            "type": "array",
            "description": "🗄️ Legacy alias of productList above, kept for input compatibility with the original Walmart Reviews Scraper. Prefer productList — use this only if you already have an input JSON built for the original actor.",
            "items": {
              "type": "string"
            }
          },
          "maxComments": {
            "title": "🗄️ Legacy Maximum Reviews (alias)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "🗄️ Legacy alias of reviewLimit above, kept for input compatibility with the original Walmart Reviews Scraper. Prefer reviewLimit."
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "🛡️ Controls how requests reach Walmart. Enabled by default for reliable results across regions; disable to use a direct connection instead, or supply your own configuration."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}