{
  "openapi": "3.0.1",
  "info": {
    "title": "MisterWhat UK Business Directory Scraper",
    "description": "Scrape MisterWhat.co.uk (UK business directory) listings. Search by category and city, or fetch full business profiles by URL. Get names, addresses, phone numbers, websites, categories, ratings, and reviews.",
    "version": "1.0",
    "x-build-id": "nhBD0oarUIeNe7JJA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~misterwhat-uk-business-directory-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-misterwhat-uk-business-directory-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/crawlerbros~misterwhat-uk-business-directory-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-misterwhat-uk-business-directory-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/crawlerbros~misterwhat-uk-business-directory-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-misterwhat-uk-business-directory-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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "byUrl"
            ],
            "type": "string",
            "description": "What to fetch: search a category + city, or fetch full business profiles from direct URLs.",
            "default": "search"
          },
          "category": {
            "title": "Business category",
            "enum": [
              "custom",
              "restaurants",
              "plumbers",
              "electricians",
              "solicitors",
              "dentists",
              "doctors",
              "hairdressers",
              "hotels",
              "roofers",
              "painters and decorators",
              "accountants",
              "estate agents",
              "landscape gardeners",
              "funeral directors",
              "physiotherapists",
              "vets",
              "pharmacies",
              "opticians",
              "driving schools",
              "car garages",
              "cleaning services",
              "removal companies",
              "bakeries",
              "butchers",
              "beauty salons",
              "massage therapists",
              "gyms",
              "heating engineers",
              "carpenters",
              "window fitters",
              "drain cleaning",
              "pest control",
              "builders",
              "architects",
              "insurance brokers",
              "tutoring",
              "locksmiths",
              "florists",
              "photographers",
              "marketing agencies",
              "it support",
              "printing services",
              "computer repair",
              "cafes",
              "pubs",
              "bars",
              "fast food",
              "veterinary clinics",
              "nurseries",
              "care homes",
              "taxis"
            ],
            "type": "string",
            "description": "Type of business to search for. Pick a common category from the list, or choose 'Custom category' and type your own in the field below (mode=search).",
            "default": "restaurants"
          },
          "customCategory": {
            "title": "Custom category (overrides selection above)",
            "type": "string",
            "description": "Free-text business category not in the curated list above, e.g. 'wedding photographers' or 'yoga studios' (mode=search). Takes priority over 'Business category' when set."
          },
          "city": {
            "title": "City / town",
            "enum": [
              "london",
              "birmingham",
              "manchester",
              "leeds",
              "glasgow",
              "sheffield",
              "bradford",
              "edinburgh",
              "liverpool",
              "bristol",
              "cardiff",
              "belfast",
              "leicester",
              "coventry",
              "nottingham",
              "newcastle",
              "sunderland",
              "brighton",
              "hull",
              "plymouth",
              "stoke-on-trent",
              "wolverhampton",
              "derby",
              "southampton",
              "portsmouth",
              "york",
              "peterborough",
              "dundee",
              "oxford",
              "cambridge",
              "reading",
              "aberdeen",
              "swansea",
              "milton keynes",
              "norwich",
              "bath",
              "exeter",
              "ipswich",
              "luton",
              "bolton",
              "preston",
              "middlesbrough",
              "blackpool",
              "bournemouth",
              "swindon",
              "watford",
              "gloucester",
              "chester",
              "harrogate",
              "colchester",
              "worcester"
            ],
            "type": "string",
            "description": "UK city or town to search in, e.g. 'london', 'manchester', 'birmingham', 'leeds' (mode=search).",
            "default": "london"
          },
          "customCity": {
            "title": "Custom city / town (overrides selection above)",
            "type": "string",
            "description": "Free-text UK city, town, or postcode area not in the list above, e.g. 'Kingston upon Thames' or 'Harrogate' (mode=search). Takes priority over 'City / town' when set."
          },
          "ratedOnly": {
            "title": "Only businesses with ratings",
            "type": "boolean",
            "description": "Only return businesses that have at least one customer rating (mode=search). Ignored when 'Minimum rating' below is set.",
            "default": false
          },
          "minRating": {
            "title": "Minimum rating",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Only return businesses rated at least this many stars, e.g. '4' for 4.0+ (mode=search).",
            "default": ""
          },
          "fetchDetails": {
            "title": "Fetch full business profiles",
            "type": "boolean",
            "description": "For each search result, also visit its business profile page to collect the phone number, website, full category list, price range, and customer reviews. Slower but much richer (mode=search).",
            "default": true
          },
          "profileUrls": {
            "title": "Business profile URLs (mode=byUrl)",
            "type": "array",
            "description": "Direct MisterWhat.co.uk business profile URLs to fetch, e.g. https://www.misterwhat.co.uk/company/98196-leon-restaurants-london. Use the 'profileUrl' field from search results.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "MisterWhat business profile URL."
                }
              }
            },
            "default": []
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on the number of business records to return.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "MisterWhat.co.uk is publicly accessible without a proxy. Apify's free AUTO datacenter proxy is used automatically as a fallback if a request is ever blocked from your run location -- you don't need to configure anything here.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}