{
  "openapi": "3.0.1",
  "info": {
    "title": "Walmart Reviews API Scraper",
    "description": "Scrape Walmart customer reviews: rating, title, text, date, verified-purchase and syndication flags, helpful votes and photos, with the product's full rating-by-star breakdown on every row. Filter by star, by verified purchase, and by date. Priced per review; no reviews means no charge.",
    "version": "0.1",
    "x-build-id": "czbwJTL2tYwdGxWmH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shakamize~walmart-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shakamize-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/shakamize~walmart-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-shakamize-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/shakamize~walmart-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-shakamize-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",
        "required": [
          "productUrls"
        ],
        "properties": {
          "productUrls": {
            "title": "Products",
            "type": "array",
            "description": "The products whose reviews you want. Accepts a full Walmart product URL (<code>https://www.walmart.com/ip/&hellip;/10450114</code>), a reviews URL (<code>/reviews/product/10450114</code>) or a bare item id (<code>10450114</code>) - the <code>usItemId</code> that every row carries. An entry that cannot be read stops the run with a message naming it, rather than being skipped quietly.",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "type": "integer",
            "description": "Cap the reviews kept per product. Leave empty for everything Walmart lists, which pages ten at a time and runs to roughly ten thousand - a product with 26,104 listed reviews is 2,610 requests, so the field is prefilled low rather than left open. Raise it for a real scrape. Note that Walmart lists only reviews that carry <b>written text</b>: a product with 373,963 ratings listed 26,104 of them, and both numbers are on every row."
          },
          "maxReviews": {
            "title": "Max reviews in total",
            "minimum": 1,
            "type": "integer",
            "description": "Stop the whole run after this many reviews, across every product. Prefilled with the two prefilled products at their per-product cap, so a first run is cheap to try; clear it for no overall cap."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "auto",
              "relevant",
              "recent",
              "oldest",
              "helpful",
              "ratingHigh",
              "ratingLow"
            ],
            "type": "string",
            "description": "Order Walmart returns the reviews in. This is Walmart's own ordering, applied server side. <b>Automatic</b> keeps Walmart's relevance order, except when you filter by star: it then sorts by rating so the stars you asked for come first and paging can stop as soon as they run out, instead of reading everything else on the way.",
            "default": "auto"
          },
          "filterByRatings": {
            "title": "Only these star ratings",
            "type": "array",
            "description": "Keep only reviews at these star ratings. Walmart offers no star filter on the page it serves, so this is applied to what was read - but with <b>Automatic</b> sorting the run orders by rating first, which makes it cheap rather than exhaustive. A review with no rating is dropped, never assumed to qualify.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "verifiedPurchaseOnly": {
            "title": "Verified purchases only",
            "type": "boolean",
            "description": "Keep only reviews carrying Walmart's Verified Purchase badge. <b>Walmart applies this itself</b>, so the pages fetched contain nothing else and no request is spent on reviews that would be thrown away.",
            "default": false
          },
          "excludeSyndicated": {
            "title": "Exclude syndicated reviews",
            "type": "boolean",
            "description": "Drop reviews Walmart syndicated in from a brand's own site rather than collected itself. Every row records this either way, in <code>isSyndicated</code> and <code>syndicationSource</code>.",
            "default": false
          },
          "reviewsCutoffDate": {
            "title": "Only reviews since",
            "type": "string",
            "description": "Drop reviews older than this. Absolute (<code>2026-01-15</code>) or relative (<code>30 days</code>, <code>6 months</code>, <code>1 year</code>). A review Walmart published no readable date for is dropped rather than kept. With <b>Newest first</b> the run also stops paging once it is past the cutoff."
          },
          "withMediaOnly": {
            "title": "Only reviews with photos or video",
            "type": "boolean",
            "description": "Keep only reviews carrying at least one image or video.",
            "default": false
          },
          "includeAspectSentiment": {
            "title": "Include aspect breakdown",
            "type": "boolean",
            "description": "Walmart's own per-aspect mention counts for the product - flavour, value, quality and so on - computed over every review it holds rather than the ones on the page. Repeated on each row, so turn it off for a smaller dataset.",
            "default": true
          },
          "includeReviewerProfile": {
            "title": "Include reviewer profile",
            "type": "boolean",
            "description": "A reviewer's nickname and author id are personal data, protected by GDPR in the EU and by comparable rules elsewhere. Enable this only if you have a legitimate basis for collecting it. Off by default.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Defaults to Apify's unblocking service, which is what makes Walmart reachable over plain HTTP. Changing this is rarely useful: a datacenter or plain residential address is served a bot check instead of the page, measured 2026-08-30.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "UNBLOCKER"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}