{
  "openapi": "3.0.1",
  "info": {
    "title": "OnTheMarket Scraper",
    "description": "Explore UK property listings on OnTheMarket! Use tailored filters to find your ideal home based on price, bedrooms, property type, and whether you're renting or buying. Discover detailed property information to uncover your perfect place!",
    "version": "0.0",
    "x-build-id": "gaVg4keCSvwKK7ZZg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/moving_beacon-owner1~onthemarket-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-moving_beacon-owner1-onthemarket-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/moving_beacon-owner1~onthemarket-scraper/runs": {
      "post": {
        "operationId": "runs-sync-moving_beacon-owner1-onthemarket-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/moving_beacon-owner1~onthemarket-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-moving_beacon-owner1-onthemarket-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": [
          "area",
          "mode"
        ],
        "properties": {
          "area": {
            "title": "Area",
            "type": "string",
            "description": "OnTheMarket area slug. Examples: 'london', 'manchester', 'brighton', 'edinburgh', 'cambridge', 'london-greenwich', 'sw1', 'm1'. Browse https://www.onthemarket.com to find the slug for your area.",
            "default": "london"
          },
          "mode": {
            "title": "Listing mode",
            "enum": [
              "for-sale",
              "to-rent",
              "new-homes"
            ],
            "type": "string",
            "description": "For-sale, to-rent, or new-homes.",
            "default": "for-sale"
          },
          "minPrice": {
            "title": "Min price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Filter out properties priced below this number. For sale: total price. For rent: per month (pcm)."
          },
          "maxPrice": {
            "title": "Max price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Filter out properties priced above this number. For sale: total price. For rent: per month (pcm)."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "maxBedrooms": {
            "title": "Max bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "",
              "flats",
              "houses",
              "detached-houses",
              "semi-detached-houses",
              "terraced-houses",
              "end-of-terrace-houses",
              "bungalows",
              "cottages",
              "farms",
              "land",
              "parking-garages",
              "commercial"
            ],
            "type": "string",
            "description": "Restrict to a specific property type. Leave as 'Any' to include all.",
            "default": ""
          },
          "radius": {
            "title": "Search radius",
            "enum": [
              "0",
              "0.25",
              "0.5",
              "1",
              "3",
              "5",
              "10",
              "15",
              "20",
              "30",
              "40"
            ],
            "type": "string",
            "description": "Miles around the area. 'This area only' = 0.",
            "default": "0"
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "featured",
              "newest",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "How OnTheMarket orders the results.",
            "default": "featured"
          },
          "furnished": {
            "title": "Furnished (rent only)",
            "enum": [
              "",
              "furnished",
              "part-furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Only applies when mode is 'to-rent'. Leave as 'Any' to include all.",
            "default": ""
          },
          "includeUnderOffer": {
            "title": "Include under-offer / sold STC",
            "type": "boolean",
            "description": "When mode is 'for-sale', include properties marked under-offer or sold subject to contract.",
            "default": true
          },
          "includeLetAgreed": {
            "title": "Include let-agreed",
            "type": "boolean",
            "description": "When mode is 'to-rent', include properties that have been let-agreed.",
            "default": true
          },
          "maxPages": {
            "title": "Max pages",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many search pages to fetch (~24 properties per page).",
            "default": 1
          },
          "includeDetails": {
            "title": "Fetch detail pages",
            "type": "boolean",
            "description": "If true, the actor visits each property page to extract full description, features, EPC rating, council tax band, floor area, all images, floor plans, nearest stations and agent info. Roughly multiplies runtime by N properties.",
            "default": false
          },
          "maxListings": {
            "title": "Max listings (hard cap)",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many properties have been pushed. 0 = no cap.",
            "default": 0
          },
          "impersonate": {
            "title": "Browser impersonation profile",
            "enum": [
              "chrome124",
              "chrome131",
              "chrome120",
              "edge101",
              "safari17_0"
            ],
            "type": "string",
            "description": "curl_cffi TLS / JA3 fingerprint to mimic.",
            "default": "chrome124"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own. OnTheMarket uses Cloudflare on top of standard rate limits — residential GB proxies are strongly recommended.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "GB"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}