{
  "openapi": "3.0.1",
  "info": {
    "title": "Wendy's Menu Scraper: Store Prices, Nutrition, and Changes",
    "description": "Collect public Wendy's store prices, availability, nutrition, modifiers, national catalog items, and factual changes. Export typed menu rows for scheduled monitoring, spreadsheets, and APIs without checkout or login. Pay per menu item, with store-level prices clearly separated from national data.",
    "version": "0.2",
    "x-build-id": "5FggA5qgAUSyfrN8f"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~wendys-menu-prices-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-wendys-menu-prices-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/getascraper~wendys-menu-prices-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-wendys-menu-prices-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/getascraper~wendys-menu-prices-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-wendys-menu-prices-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": "Mode",
            "enum": [
              "storeSnapshot",
              "nationalCatalog"
            ],
            "type": "string",
            "description": "Choose store-specific menu prices or the US national catalog.",
            "default": "storeSnapshot"
          },
          "addresses": {
            "title": "Addresses, ZIP codes, or cities",
            "maxItems": 5,
            "type": "array",
            "description": "Public US addresses, ZIP codes, or cities used to resolve nearby Wendy's restaurants in store mode.",
            "default": [
              "345 Valley Avenue, Birmingham, AL 35209"
            ],
            "items": {
              "type": "string"
            }
          },
          "restaurantIds": {
            "title": "Restaurant IDs",
            "maxItems": 20,
            "type": "array",
            "description": "Known public Wendy's restaurant IDs. Use this when you already know the locations to monitor.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxStoresPerAddress": {
            "title": "Stores per address",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Maximum nearby restaurants returned for each address, sorted by source distance.",
            "default": 1
          },
          "searchRadiusMiles": {
            "title": "Search radius",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum distance used by the public location lookup for each address.",
            "default": 25
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Keep menu items whose public source category matches one of these names.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerm": {
            "title": "Search term",
            "type": "string",
            "description": "Match item name, display name, or source description. Leave blank to keep all names."
          },
          "dayPart": {
            "title": "Day part",
            "enum": [
              "all",
              "breakfast",
              "lunch"
            ],
            "type": "string",
            "description": "Keep all items, breakfast items, or lunch items based on the source day-part label.",
            "default": "all"
          },
          "onlyAvailable": {
            "title": "Only available items",
            "type": "boolean",
            "description": "Exclude items that Wendy's marks unavailable for the requested menu scope.",
            "default": true
          },
          "onlyCombos": {
            "title": "Only combos",
            "type": "boolean",
            "description": "Keep only source menu entries identified as combo items.",
            "default": false
          },
          "onlyLimitedTimeOffers": {
            "title": "Only limited-time offers",
            "type": "boolean",
            "description": "Keep only items with the source limited-time-offer flag.",
            "default": false
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Optional minimum source price in US dollars."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Optional maximum source price in US dollars."
          },
          "minCalories": {
            "title": "Minimum calories",
            "minimum": 0,
            "type": "number",
            "description": "Optional minimum calorie value from the source nutrition record."
          },
          "maxCalories": {
            "title": "Maximum calories",
            "minimum": 0,
            "type": "number",
            "description": "Optional maximum calorie value from the source nutrition record."
          },
          "includeFullNutrition": {
            "title": "Include full nutrition",
            "type": "boolean",
            "description": "Add source-backed macro and micronutrient numbers when Wendy's exposes them.",
            "default": false
          },
          "includeModifiers": {
            "title": "Include modifiers",
            "type": "boolean",
            "description": "Add public modifier groups, names, actions, descriptions, and prices.",
            "default": false
          },
          "includeIngredientsAndAllergens": {
            "title": "Include ingredients and allergens",
            "type": "boolean",
            "description": "Add only explicit source ingredient descriptions and allergen flags.",
            "default": false
          },
          "includeImages": {
            "title": "Include verified images",
            "type": "boolean",
            "description": "Include an image only when Wendy's provides a complete public URL in the response.",
            "default": false
          },
          "outputMode": {
            "title": "Output mode",
            "enum": [
              "snapshot",
              "snapshotAndChanges",
              "changesOnly"
            ],
            "type": "string",
            "description": "Choose current snapshots, snapshots with change metadata, or changes only.",
            "default": "snapshotAndChanges"
          },
          "stateName": {
            "title": "State name",
            "maxLength": 80,
            "type": "string",
            "description": "Separate independent histories when monitoring different store groups or workflows.",
            "default": "default"
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum menu rows emitted after filtering, deduplication, and price derivation.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Direct HTTP is the default. Select an Apify proxy only if a high-volume run needs it.",
            "default": {
              "useApifyProxy": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}