{
  "openapi": "3.0.1",
  "info": {
    "title": "Morrisons Product Search Scraper",
    "description": "Scrape product listings from Morrisons.com with complete details including pricing, availability, ratings, brand info, and images. Ideal for price monitoring, market research, and competitive analysis in the UK grocery sector.",
    "version": "0.0",
    "x-build-id": "RoHKN1W71R1taeU6E"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/stealth_mode~morrisons-product-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-stealth_mode-morrisons-product-search-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/stealth_mode~morrisons-product-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-stealth_mode-morrisons-product-search-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/stealth_mode~morrisons-product-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-stealth_mode-morrisons-product-search-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": {
          "urls": {
            "title": "URLs of the product search list urls to scrape",
            "type": "array",
            "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
            "items": {
              "type": "string"
            }
          },
          "ignore_url_failures": {
            "title": "Continue running even if some URLs fail to be scraped",
            "type": "boolean",
            "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
          },
          "keyword": {
            "title": "Keyword to search",
            "type": "string",
            "description": "Enter the keyword to search for items"
          },
          "sort_by": {
            "title": "Sort Items by options",
            "enum": [
              "favorite",
              "pricePerAscending",
              "pricePerDescending",
              "priceAscending",
              "priceDescending",
              "customerRating"
            ],
            "type": "string",
            "description": "Sort items by options"
          },
          "category": {
            "title": "Category",
            "enum": [
              "",
              "d36e4c96-e988-4e43-84e3-f1fd513f4778",
              "d681723f-f927-455b-ae83-cd2b8b253840",
              "c2fe6663-6cbf-4ed5-86f1-c306d0360dfb",
              "b182dd9d-bdfe-487e-b583-74007e5b1e69",
              "71d2ea32-5a73-48e7-bdfb-d8b12fb59951",
              "c1fea557-544f-4111-945b-eb8a72a99d2e",
              "eccda9dc-19b2-482c-bf43-e833bf5c1c0d",
              "0a43d8e7-9ce4-47e2-880a-0dd5bbaa9b25",
              "c85f70fa-8eb9-4bdb-95ca-21b13cfe3e78",
              "5998e059-ce69-48d4-b0db-2f773459dcdf",
              "f4d47513-e02c-41a2-99bc-cc01763c3467",
              "21f2fb19-934f-42f0-a2a0-a87853f8d16c",
              "094cee3b-0f6c-40f1-b5ab-08026d73b02c",
              "4850370a-3a5e-4956-ade7-00d0bf47783d",
              "a5f0280a-acd2-42f9-873d-6478fac6522d",
              "221dd858-1ff8-404b-b0a7-557a30bf731f",
              "2bbf0ff7-f6f8-4a03-9f01-940174963086",
              "3b8e8193-c521-4acf-a529-f152eb8d3135",
              "f6de35ff-e06a-4426-b25c-f6e90da21804"
            ],
            "type": "string",
            "description": "Enter the category to search for items"
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Enter the brands to search for items",
            "items": {
              "type": "string",
              "enum": [
                "",
                "Morrisons",
                "Morrisons The Best",
                "Volvic",
                "Vimto",
                "Robinsons",
                "Fyffes",
                "Innocent",
                "Del Monte",
                "Radnor",
                "Rowntrees",
                "Jordans",
                "Activia",
                "Tango",
                "Ocean Spray",
                "Muller",
                "Mr Kipling",
                "J2O",
                "The Fruit Factory",
                "Nestle",
                "Strongbow",
                "Nakd",
                "Zespri",
                "Market Street",
                "Princes",
                "Whitworths",
                "Go Ahead",
                "Tropicana",
                "M Savers",
                "Isey",
                "Fage Fruits",
                "Rowntree's",
                "Onken",
                "Alberto Balsam",
                "La Veille",
                "Morrisons Organic",
                "Alzar",
                "Sunshine Delights",
                "Hartley's",
                "Irn-Bru",
                "Linwoods",
                "Belvoir Farm",
                "Bear",
                "Dole",
                "Rown",
                "Dairylea",
                "Sprite",
                "Kellogg's",
                "Cadbury",
                "Churchwoods",
                "Quaker",
                "Fanta",
                "Swizzels",
                "Yeo Valley",
                "Cosmic",
                "Aunt Bessie's",
                "Rubicon",
                "Bob Snail",
                "Go Go",
                "Driscoll's",
                "Ella's Kitchen",
                "Heinz",
                "Inch's",
                "Shloer",
                "Westons",
                "Haagen-Dazs",
                "Soreen",
                "Magners",
                "Fruit Shoot",
                "Twinings",
                "Kopparberg",
                "Stowford",
                "Damm",
                "Old Mout",
                "Appletiser",
                "Dr Pepper",
                "Cherrygood",
                "Head & Shoulders",
                "Irn Bru",
                "Fruitshoot",
                "Aspall",
                "Funkin",
                "Dorset",
                "Tymbark",
                "Walkers",
                "Fruittella",
                "COMTE DE SAINT EMMANUEL",
                "Messer Schmitt",
                "M MARKET STREET",
                "Nature's Finest",
                "Kallo",
                "Fuel 10k",
                "Skittles",
                "Bear Claws",
                "Copella",
                "Nature's Path",
                "Organix",
                "Pagysa",
                "Merrydown",
                "Hartleys",
                "Cow & Gate"
              ],
              "enumTitles": [
                "Any",
                "Morrisons",
                "Morrisons The Best",
                "Volvic",
                "Vimto",
                "Robinsons",
                "Fyffes",
                "Innocent",
                "Del Monte",
                "Radnor",
                "Rowntrees",
                "Jordans",
                "Activia",
                "Tango",
                "Ocean Spray",
                "Muller",
                "Mr Kipling",
                "J2O",
                "The Fruit Factory",
                "Nestle",
                "Strongbow",
                "Nakd",
                "Zespri",
                "Market Street",
                "Princes",
                "Whitworths",
                "Go Ahead",
                "Tropicana",
                "M Savers",
                "Isey",
                "Fage Fruits",
                "Rowntree's",
                "Onken",
                "Alberto Balsam",
                "La Veille",
                "Morrisons Organic",
                "Alzar",
                "Sunshine Delights",
                "Hartley's",
                "Irn-Bru",
                "Linwoods",
                "Belvoir Farm",
                "Bear",
                "Dole",
                "Rown",
                "Dairylea",
                "Sprite",
                "Kellogg's",
                "Cadbury",
                "Churchwoods",
                "Quaker",
                "Fanta",
                "Swizzels",
                "Yeo Valley",
                "Cosmic",
                "Aunt Bessie's",
                "Rubicon",
                "Bob Snail",
                "Go Go",
                "Driscoll's",
                "Ella's Kitchen",
                "Heinz",
                "Inch's",
                "Shloer",
                "Westons",
                "Haagen-Dazs",
                "Soreen",
                "Magners",
                "Fruit Shoot",
                "Twinings",
                "Kopparberg",
                "Stowford",
                "Damm",
                "Old Mout",
                "Appletiser",
                "Dr Pepper",
                "Cherrygood",
                "Head & Shoulders",
                "Irn Bru",
                "Fruitshoot",
                "Aspall",
                "Funkin",
                "Dorset",
                "Tymbark",
                "Walkers",
                "Fruittella",
                "COMTE DE SAINT EMMANUEL",
                "Messer Schmitt",
                "M MARKET STREET",
                "Nature's Finest",
                "Kallo",
                "Fuel 10k",
                "Skittles",
                "Bear Claws",
                "Copella",
                "Nature's Path",
                "Organix",
                "Pagysa",
                "Merrydown",
                "Hartleys",
                "Cow & Gate"
              ]
            }
          },
          "dietary_and_lifestyle": {
            "title": "Dietary and Lifestyle",
            "type": "array",
            "description": "Select dietary and lifestyle preferences",
            "items": {
              "type": "string",
              "enum": [
                "",
                "vegetarian",
                "vegan",
                "glutenFree",
                "halal",
                "milkFree",
                "organic",
                "kosher",
                "wheatFree",
                "yeastFree",
                "nutFree",
                "eggFree",
                "lactoseFree",
                "fairtrade",
                "fatFree"
              ],
              "enumTitles": [
                "Any",
                "Vegetarian",
                "Vegan",
                "Gluten free",
                "Halal",
                "Milk Free",
                "Organic",
                "Kosher",
                "Wheat Free",
                "Yeast Free",
                "Nut Free",
                "Egg Free",
                "Lactose Free",
                "Fairtrade",
                "Fat Free"
              ]
            }
          },
          "max_items_per_url": {
            "title": "Max items per URL",
            "type": "integer",
            "description": "The maximum number of items to scrape per URL."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}