{
  "openapi": "3.0.1",
  "info": {
    "title": "Rightmove Property Scraper",
    "description": "Search Rightmove for UK property for sale, to rent, new builds and commercial. Every row has coordinates, price, beds, baths, floor area, computed price per sq ft, tenure, listing dates and the agent's branch name and phone. Type a place name, no location codes needed.",
    "version": "0.1",
    "x-build-id": "iV26Ie6nULxVi5Zgw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cirkit~rightmove-property-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cirkit-rightmove-property-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/cirkit~rightmove-property-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cirkit-rightmove-property-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/cirkit~rightmove-property-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cirkit-rightmove-property-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",
        "required": [
          "searchLocations"
        ],
        "properties": {
          "searchLocations": {
            "title": "Locations",
            "minItems": 1,
            "type": "array",
            "description": "Where to search. Enter a town or city (\"Manchester\"), a UK postcode (\"SW1A 1AA\"), an outcode (\"NW3\"), or paste a Rightmove search URL straight from your browser. Each location is searched separately and the results are combined into one dataset.",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "title": "Listing type",
            "enum": [
              "for sale",
              "to rent",
              "new homes",
              "commercial for sale",
              "commercial to rent"
            ],
            "type": "string",
            "description": "Which part of Rightmove to search.",
            "default": "for sale"
          },
          "maxItems": {
            "title": "Maximum properties",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many properties across all locations. Set to 0 for no cap. Rightmove serves roughly the first 1,000 results of any one search, so narrow the search with filters to reach past that.",
            "default": 100
          },
          "radiusMiles": {
            "title": "Search radius (miles)",
            "enum": [
              "0",
              "0.25",
              "0.5",
              "1",
              "3",
              "5",
              "10",
              "15",
              "20",
              "30",
              "40"
            ],
            "type": "string",
            "description": "How far around the location to include. Rightmove allows 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30 and 40 miles; anything else is snapped to the nearest allowed value."
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include, in pounds. On the rent channel this is per calendar month. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to include, in pounds. On the rent channel this is per calendar month. Leave empty for no maximum."
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Fewest bedrooms to include. Leave empty for any."
          },
          "maxBedrooms": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Most bedrooms to include. Leave empty for any."
          },
          "propertyTypes": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Restrict to these property types. Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "detached",
                "semi-detached",
                "terraced",
                "flat",
                "bungalow",
                "land",
                "park home",
                "farm"
              ]
            }
          },
          "mustHave": {
            "title": "Must have",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return listings with these features.",
            "items": {
              "type": "string",
              "enum": [
                "garden",
                "parking",
                "new home",
                "retirement",
                "shared ownership",
                "auction"
              ]
            }
          },
          "dontShow": {
            "title": "Exclude",
            "uniqueItems": true,
            "type": "array",
            "description": "Leave these categories out of the results.",
            "items": {
              "type": "string",
              "enum": [
                "new home",
                "retirement",
                "shared ownership",
                "house share"
              ]
            }
          },
          "furnishTypes": {
            "title": "Furnishing (rentals only)",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter rental listings by how they are furnished. Rightmove ignores this on the sale channels.",
            "items": {
              "type": "string",
              "enum": [
                "furnished",
                "unfurnished",
                "part furnished"
              ]
            }
          },
          "addedWithin": {
            "title": "Added within",
            "enum": [
              "anytime",
              "last 24 hours",
              "last 3 days",
              "last 7 days",
              "last 14 days"
            ],
            "type": "string",
            "description": "Only return listings first added or reduced inside this window.",
            "default": "anytime"
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Free-text keywords Rightmove matches against the listing, for example \"garage\" or \"south facing\"."
          },
          "includeUnderOffer": {
            "title": "Include sold STC and let agreed",
            "type": "boolean",
            "description": "Include listings that are already under offer, sold subject to contract, or let agreed. Useful for tracking what a market actually transacts at rather than only what is still available.",
            "default": false
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "rightmove default",
              "newest listed",
              "oldest listed",
              "lowest price",
              "highest price"
            ],
            "type": "string",
            "description": "How Rightmove orders the results before this Actor reads them. Matters when you cap the run, because the cap takes the top of this order.",
            "default": "rightmove default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. The default works: Rightmove answers Apify's datacenter egress cleanly, so there is no reason to pay for residential 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}