{
  "openapi": "3.0.1",
  "info": {
    "title": "Walmart Scraper",
    "description": "Scrape Walmart products by keyword, URL, or item ID. Get prices, discounts, variants, ratings with full star breakdown, seller and return info, deal and sponsored flags, fulfillment options, and reviews. Price-change tracking and MAP detection built in. No API key required.",
    "version": "0.0",
    "x-build-id": "ftbxPMyRheZ6ozQwJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unfenced-group~walmart-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unfenced-group-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/unfenced-group~walmart-scraper/runs": {
      "post": {
        "operationId": "runs-sync-unfenced-group-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/unfenced-group~walmart-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-unfenced-group-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": {
          "mode": {
            "title": "Scraping mode",
            "enum": [
              "search",
              "bulk",
              "monitor"
            ],
            "type": "string",
            "description": "Controls how products are discovered. 'search' uses keyword queries, 'bulk' directly fetches a list of item IDs (fastest), 'monitor' fetches known items and tracks price/availability changes.",
            "default": "search"
          },
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "List of search terms to query on Walmart (used in 'search' and 'monitor' modes). Each keyword is run independently. Example: [\"laptop\", \"gaming chair\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Specific Walmart URLs to scrape — product pages (/ip/...) or search/category pages (/search?q=...).",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "itemIds": {
            "title": "Item IDs (bulk mode)",
            "type": "array",
            "description": "List of Walmart numeric item IDs to fetch directly. Fastest input method — skips search entirely. One detail page fetch per ID. Example: [1004249195, 846561863].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "domain": {
            "title": "Walmart domain",
            "enum": [
              "walmart.com",
              "walmart.ca",
              "walmart.com.mx"
            ],
            "type": "string",
            "description": "Which Walmart marketplace to scrape. Use walmart.com for US, walmart.ca for Canada, walmart.com.mx for Mexico.",
            "default": "walmart.com"
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum total products to return across all inputs. In bulk mode, this caps how many IDs are processed.",
            "default": 100
          },
          "sort": {
            "title": "Sort results by",
            "enum": [
              "best_match",
              "price_low",
              "price_high",
              "best_seller",
              "new",
              "rating_high"
            ],
            "type": "string",
            "description": "Sort order for keyword search results. Applies to search and monitor modes.",
            "default": "best_match"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products priced at or above this value (in the marketplace currency). Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products priced at or below this value (in the marketplace currency). Leave empty for no maximum."
          },
          "fetchDetails": {
            "title": "Fetch product detail pages",
            "type": "boolean",
            "description": "Fetch full product detail page for each result. Adds variant pricing, description, full image list, UPC, model number, and precise seller info. Always true in bulk and monitor modes.",
            "default": false
          },
          "zipCode": {
            "title": "ZIP code (geo-targeted pricing)",
            "type": "string",
            "description": "US ZIP code for geo-targeted pricing and availability. Walmart shows different prices per location. Example: 10001 (New York), 90210 (Beverly Hills), 60601 (Chicago).",
            "default": ""
          },
          "outputOnlyChanges": {
            "title": "Output only changed items (monitor mode)",
            "type": "boolean",
            "description": "When enabled, only items with a price or availability change since the last run are saved to the dataset. Ideal for scheduled daily price-monitoring runs. Requires price history to be built up over multiple runs.",
            "default": false
          },
          "mapPrices": {
            "title": "MAP prices (MAP enforcement)",
            "type": "object",
            "description": "Minimum Advertised Price (MAP) per item ID. Supply as a JSON object: { \"1004249195\": 49.99, \"846561863\": 29.99 }. Items priced below their MAP will have mapViolation: true in the output.",
            "default": {}
          },
          "includeReviews": {
            "title": "Include customer reviews",
            "type": "boolean",
            "description": "Fetch customer reviews for each product (up to maxReviews per product). Reviews are saved as separate dataset items with _type: 'review'. Billed at $0.50/1,000 reviews.",
            "default": false
          },
          "maxReviews": {
            "title": "Max reviews per product",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of reviews to fetch per product when includeReviews is enabled.",
            "default": 20
          },
          "skipReposts": {
            "title": "Skip already-seen products",
            "type": "boolean",
            "description": "Skip products already returned in previous runs (cross-run deduplication via KV store). Best combined with keyword search for daily new-product feeds.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}