{
  "openapi": "3.0.1",
  "info": {
    "title": "Walmart Scraper — Products, Prices, Sellers & Reviews",
    "description": "Scrape Walmart.com and Walmart.ca, priced for the store or state you pick: price, was-price, deal badges, rating, seller and stock; full records with UPC, specs and variants; filtered reviews; every seller offer with email and phone. Search by URL, keyword, item id or UPC barcode.",
    "version": "0.0",
    "x-build-id": "gOmv86epBcMJH2wHu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~walmart-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-walmart-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/memo23~walmart-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-walmart-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/memo23~walmart-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-walmart-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": {
          "scrapeMode": {
            "title": "Result type",
            "enum": [
              "products",
              "reviews",
              "sellerOffers"
            ],
            "type": "string",
            "description": "What each product turns into. Values: products, reviews, sellerOffers. Seller offers are available for walmart.com only. Seller store URLs always return a seller profile row. Example: products. Default: products.",
            "default": "products"
          },
          "startUrls": {
            "title": "Walmart URLs",
            "type": "array",
            "description": "Any walmart.com or walmart.ca URL: search (/search?q=...), category (/browse/..., /cp/...), brand or filtered search, product (/ip/...), reviews (/reviews/product/...) or seller store (/global/seller/...). Search and category URLs are paginated; filters already in a URL are kept. Example: https://www.walmart.com/search?q=coffee+maker. Default empty.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords, one Walmart search each, on the marketplace chosen under Marketplace. A barcode typed here is searched in its 14-digit form too, but the Barcodes field below is made for that. Example: air fryer. Default empty.",
            "items": {
              "type": "string"
            }
          },
          "barcodes": {
            "title": "Barcodes (UPC / EAN / GTIN)",
            "type": "array",
            "description": "Look products up by barcode: 12-digit UPC, 13-digit EAN, 14-digit GTIN or 8-digit code, one per line; spaces and dashes are ignored. Each code is one search of the first results page, on walmart.com in its 14-digit form, the form Walmart's search matches (078742351865 as typed finds nothing). Sort and price filters do not apply. Each row's searchQuery is the code; a code Walmart no longer sells returns no rows. Example: 078742351865. Default empty.",
            "items": {
              "type": "string"
            }
          },
          "categoryIds": {
            "title": "Category ids",
            "type": "array",
            "description": "Walmart category ids: copy the end of a walmart.com/browse/ link, the whole path with its underscores, such as 4044_90548_90546_1115306_5438660 for Coffee Makers. Some department numbers on their own open a landing page with no product list (Toys, 4171), so give a path one level deeper for those. A /browse/ or /cp/ URL works here too; a /cp/ page is looked up and turned into its full path. Example: 4044_90548_90546_1115306_5438660. Default empty.",
            "items": {
              "type": "string"
            }
          },
          "productIds": {
            "title": "Item ids",
            "type": "array",
            "description": "Products to scrape, by the number at the end of a product URL (808715278 in walmart.com/ip/.../808715278), by Walmart's 12-character catalog id (4NN9ZW0AZYDK), or as a full product URL. Example: 808715278. Default empty.",
            "items": {
              "type": "string"
            }
          },
          "domain": {
            "title": "Marketplace",
            "enum": [
              "us",
              "ca"
            ],
            "type": "string",
            "description": "Marketplace used for keywords, category ids and bare item ids. Pasted URLs keep their own site. Values: us, ca. Example: us. Default: us.",
            "default": "us"
          },
          "storeId": {
            "title": "Walmart store number",
            "pattern": "^\\s*#?\\d{1,6}\\s*$",
            "type": "string",
            "description": "walmart.com only: price every search, category and product in this run for one store, the number on the store's page (walmart.com/store/4383). Prices, stock and pickup options are that store's. The actor confirms the store before it starts; if Walmart will not assign it, a store in the same city is used and the run log names it. If neither works, the run stops before scraping, so only the actor start is charged. Every product row's locationStoreId shows the store it was priced for. Example: 4383. Default empty."
          },
          "state": {
            "title": "US state",
            "enum": [
              "AL",
              "AK",
              "AZ",
              "AR",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FL",
              "GA",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "OH",
              "OK",
              "OR",
              "PA",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY"
            ],
            "type": "string",
            "description": "walmart.com only: price the run for one Walmart store in this state, the one Walmart gives a shopper there. Use it when any store in the state will do; set a store number above for a specific store (the store number wins when both are set). Without either, Walmart prices each page for a location of its own choosing, so prices can differ between rows. Values: two-letter state codes. Example: MI. Default empty."
          },
          "includeProductDetails": {
            "title": "Open each product page for the full record",
            "type": "boolean",
            "description": "Products mode, for products found by a search or category: fetch every product page for the full record (UPC, model, description, specifications, all images, variants, all seller count, fulfillment options, return policy, star breakdown, review highlights, and the store and ZIP Walmart priced it for). One extra request per product, billed as a product detail. Product URLs and item ids always get the full record. Example: false. Default: false.",
            "default": false
          },
          "sort": {
            "title": "Sort search and category results",
            "enum": [
              "best_match",
              "price_low",
              "price_high",
              "best_seller",
              "rating_high",
              "new"
            ],
            "type": "string",
            "description": "Sort order for keywords, category ids and pasted search or category URLs that do not set their own. Values: best_match, price_low, price_high, best_seller, rating_high, new. Example: best_seller. Default: best_match.",
            "default": "best_match"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only products at or above this price, in the marketplace currency. Applies to searches and categories. Example: 25. Default empty."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only products at or below this price, in the marketplace currency. Applies to searches and categories. Example: 200. Default empty."
          },
          "maxPagesPerSearch": {
            "title": "Pages per search or category",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "How many result pages to read per search or category, about 40 products each. Walmart shows at most 25 pages for any query. Range 1-25. Example: 3. Default: 5.",
            "default": 5
          },
          "maxReviewsPerProduct": {
            "title": "Maximum reviews per product",
            "minimum": 0,
            "type": "integer",
            "description": "Reviews mode: stop after this many reviews per product. 0 = every review with text. Example: 50. Default: 100.",
            "default": 100
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "relevancy",
              "newest",
              "oldest",
              "rating_high",
              "rating_low",
              "helpful"
            ],
            "type": "string",
            "description": "Order in which reviews are read, which decides which ones you get when a cap applies. Values: relevancy, newest, oldest, rating_high, rating_low, helpful. Example: newest. Default: relevancy.",
            "default": "relevancy"
          },
          "reviewRatings": {
            "title": "Star ratings to keep",
            "type": "array",
            "description": "Only reviews with these star ratings; pick several to combine them. Leave empty for all ratings. Values: 1, 2, 3, 4, 5. Example: 1 and 2 for complaints. Default empty.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ]
            }
          },
          "verifiedPurchasesOnly": {
            "title": "Verified purchases only",
            "type": "boolean",
            "description": "Only reviews Walmart marks as Verified Purchase. Example: true. Default: false.",
            "default": false
          },
          "reviewsNewerThan": {
            "title": "Only reviews since",
            "type": "string",
            "description": "Only reviews submitted on or after this date (YYYY-MM-DD). Reviews are then read newest first and reading stops at the first older one, which makes scheduled runs cheap. Example: 2026-09-01. Default empty."
          },
          "includeSellerDetails": {
            "title": "Add each seller's contact details",
            "type": "boolean",
            "description": "Seller offers mode: open each marketplace seller's store page once and add its public business email, phone, address, rating and review count to that seller's offers. One request per seller, billed once per seller per run. Example: true. Default: false.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on rows written to the dataset across the whole run: products, reviews, offers or seller profiles. Always set this. Example: 500. Default: 1000.",
            "default": 1000
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many pages are fetched at the same time. Higher is faster; lower it if runs slow down or fail. Range 1-30. Example: 10. Default: 10.",
            "default": 10
          },
          "maxRequestRetries": {
            "title": "Attempts per page",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many times a page is tried before it is given up. Retries back off over about a minute. Range 1-10. Example: 8. Default: 8.",
            "default": 8
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential proxies recommended. The default works out of the box; paste your own proxy URLs only if you want to use your own provider."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}