{
  "openapi": "3.0.1",
  "info": {
    "title": "Walmart Reviews Scraper: Rating Insights & Review Trends",
    "description": "The Walmart Reviews Scraper collects product reviews with ratings, titles, text, dates, user details, and helpfulness data. Export clean JSON or CSV for sentiment analysis, product research, competitor tracking, and ecommerce insights at scale.",
    "version": "0.1",
    "x-build-id": "etvROUgfhDLX7KNtw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/api-empire~walmart-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-api-empire-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/api-empire~walmart-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-api-empire-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/api-empire~walmart-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-api-empire-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": {
          "benchmarkTargets": {
            "title": "📊 Products To Benchmark",
            "type": "array",
            "description": "📋 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\nSame meaning as the older 'startUrls' field below — both are read, so an existing base-shaped input JSON keeps working.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Products (Compatibility Field)",
            "type": "array",
            "description": "📎 Same meaning as 'Products to benchmark' above and merged with it. Kept so an input JSON built for the base actor keeps working unchanged. Used only when the field above is absent.",
            "items": {
              "type": "string"
            }
          },
          "sampleSize": {
            "title": "🧮 Reviews Sampled Per Product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "🎯 How many reviews to sample per product for the review rows AND for the recency/velocity analytics (the rating-distribution benchmark itself reflects the platform's full corpus, not just this sample - see the Rating & trend analytics section). 1-1000."
          },
          "maxComments": {
            "title": "🧾 Max Reviews (Compatibility Field)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "📎 Same meaning as 'Reviews sampled per product' above. Kept so an existing base-shaped input JSON keeps working. Used only when the field above is absent."
          },
          "sortOrder": {
            "title": "🔀 Review Sample Order",
            "enum": [
              "relevancy",
              "submission-desc",
              "helpful",
              "rating-desc",
              "rating-asc"
            ],
            "type": "string",
            "description": "📑 Order reviews are sampled in (affects which reviews the review rows show, not the benchmark totals):\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": "📦 Products Per Search/Keyword Target",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "🛍️ For a search URL or keyword target, how many of its products to benchmark. 0 = no cap. Ignored for a target that is already a direct product URL.",
            "default": 10
          },
          "skipProductsWithoutReviews": {
            "title": "⏭️ Log Review-less Products As Skipped",
            "type": "boolean",
            "description": "🏷️ Only changes how a product with zero reviews is labelled in the run log ('skipped' vs '0 reviews') - every product's review data is still checked either way.",
            "default": true
          },
          "includeRatingBreakdown": {
            "title": "⭐ Include Rating-Distribution Benchmark",
            "type": "boolean",
            "description": "📊 When on, each product gets one benchmark row with its 1-5 star rating breakdown, average rating, and recommended-percentage - all reflecting the platform's FULL review corpus for that product, not just the sampled reviews above. When off, those fields are left null on the benchmark row.",
            "default": true
          },
          "includeRecencyAnalytics": {
            "title": "📅 Include Review Recency & Velocity",
            "type": "boolean",
            "description": "🕒 When on, every review row gets a computed 'days since submission' value and each product's benchmark row gets a most-recent/oldest date and a reviews-per-month breakdown, all derived from the reviews actually sampled (bounded by 'Reviews sampled per product'). When off, those fields are left null.",
            "default": true
          },
          "recentReviewsOnly": {
            "title": "🆕 Only Reviews From The Last N Days (0 = Off)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "⏳ Drop review rows older than this many days since submission. The benchmark row's recency stats still reflect the full sample regardless of this filter. 0 = no filtering.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "🛡️ Connection setup used for every request. Starts with a working default; your own selection (including turning it off) is honoured exactly as given, never silently overridden."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}