{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenRent Property Scraper",
    "description": "Scrape every OpenRent rental listing from any search URL: rent, deposit, bills, tenant rules, date listed and days on market, photos, EPC, transport, nearby schools and landlord response rates. Only new listings on repeat runs, plus a delisting report.",
    "version": "1.2",
    "x-build-id": "vbN0b1OJR2uGT2cDT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vivid-softwares~openrent-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vivid-softwares-openrent-property-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/vivid-softwares~openrent-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-vivid-softwares-openrent-property-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/vivid-softwares~openrent-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-vivid-softwares-openrent-property-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": {
          "startUrls": {
            "title": "OpenRent search or listing URLs",
            "type": "array",
            "description": "The easiest way to use this Actor: search on <a href=\"https://www.openrent.co.uk\" target=\"_blank\">openrent.co.uk</a> with any filters (price, bedrooms, bills included, pets, students, furnishing, garden, parking, radius and so on), then paste the results URL here. Every matching listing is collected, not just the ones that load on screen. Single listing URLs work too. Leave empty to use the search builder below.",
            "items": {
              "type": "string"
            }
          },
          "search_location": {
            "title": "Location",
            "type": "string",
            "description": "Town, city, area or postcode district as you would type it on OpenRent, for example London, Manchester or M1. The search builder runs only when this is filled in."
          },
          "search_radius_km": {
            "title": "Search radius (km)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Distance around the location. Leave empty for OpenRent’s default."
          },
          "search_min_price": {
            "title": "Minimum rent (£ per month)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum monthly rent."
          },
          "search_max_price": {
            "title": "Maximum rent (£ per month)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly rent."
          },
          "search_bedrooms_min": {
            "title": "Minimum bedrooms",
            "minimum": -1,
            "maximum": 8,
            "type": "integer",
            "description": "0 = studio, -1 = room in a shared house."
          },
          "search_bedrooms_max": {
            "title": "Maximum bedrooms",
            "minimum": -1,
            "maximum": 8,
            "type": "integer",
            "description": "0 = studio, -1 = room in a shared house. 8 means no maximum."
          },
          "search_bathrooms_min": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "search_property_type": {
            "title": "Property type",
            "enum": [
              "",
              "houses",
              "flats",
              "rooms"
            ],
            "type": "string",
            "description": "Houses, flats or rooms.",
            "default": ""
          },
          "search_furnishing": {
            "title": "Furnishing",
            "enum": [
              "",
              "furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Furnished or unfurnished only.",
            "default": ""
          },
          "search_minimum_tenancy": {
            "title": "Longest acceptable minimum tenancy (months)",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "Only listings whose minimum tenancy is this many months or fewer."
          },
          "search_sort_by": {
            "title": "Sort order",
            "enum": [
              "distance",
              "price_asc",
              "price_desc",
              "newest"
            ],
            "type": "string",
            "description": "Order of results.",
            "default": "distance"
          },
          "search_students_allowed": {
            "title": "Student friendly only",
            "type": "boolean",
            "description": "Only listings open to students."
          },
          "search_families_allowed": {
            "title": "Families allowed only",
            "type": "boolean",
            "description": "Only listings open to families."
          },
          "search_dss_accepted": {
            "title": "DSS / housing benefit only",
            "type": "boolean",
            "description": "Only listings where DSS/LHA covers the rent or is preferred."
          },
          "search_pets_allowed": {
            "title": "Pets allowed only",
            "type": "boolean",
            "description": "Only listings that allow pets."
          },
          "search_bills_included": {
            "title": "Bills included only",
            "type": "boolean",
            "description": "Only listings with bills included."
          },
          "search_garden": {
            "title": "Garden only",
            "type": "boolean",
            "description": "Only listings with a garden."
          },
          "search_parking": {
            "title": "Parking only",
            "type": "boolean",
            "description": "Only listings with parking."
          },
          "search_fireplace": {
            "title": "Fireplace only",
            "type": "boolean",
            "description": "Only listings with a fireplace."
          },
          "search_video_tour": {
            "title": "Video tour or video viewings only",
            "type": "boolean",
            "description": "Only listings with a video tour or video viewings."
          },
          "search_latitude": {
            "title": "Latitude (optional)",
            "type": "number",
            "description": "Search around exact coordinates instead of a named location centre."
          },
          "search_longitude": {
            "title": "Longitude (optional)",
            "type": "number",
            "description": "Search around exact coordinates instead of a named location centre."
          },
          "onlyAvailableProperties": {
            "title": "Only available properties",
            "type": "boolean",
            "description": "Leave out listings that are already let agreed. Applies to URLs and the search builder.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after saving this many listings. Leave empty to get every matching listing. Each saved listing is one billable result."
          },
          "scrapeDetails": {
            "title": "Get full listing details",
            "type": "boolean",
            "description": "Reads each listing page for the description, photos, deposit, EPC, landlord response rate and time, transport, nearby schools and more. Turn off for much faster runs with the search-result fields only (price, rooms, tenant rules, bills, garden, parking, dates and coordinates).",
            "default": true
          },
          "includeImages": {
            "title": "Include photo URLs",
            "type": "boolean",
            "description": "Return every photo URL for each listing.",
            "default": true
          },
          "includeDuplicates": {
            "title": "Include listings from previous runs",
            "type": "boolean",
            "description": "Off by default: listings you already received are skipped and not charged, so scheduled runs only return new listings. Turn on to get every matching listing again.",
            "default": false
          },
          "reportDelisted": {
            "title": "Report delisted listings",
            "type": "boolean",
            "description": "Remembers every listing each search returns. On the next run of the same search, listings that have gone are saved to the DELISTED_LISTINGS record with the reason: let agreed, removed from OpenRent, or no longer matching. Free. Works when the whole search is read.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "On the Apify platform the Actor uses UK residential proxies automatically (OpenRent blocks datacenter IPs). Leave as is unless you use your own proxies."
          },
          "inputMode": {
            "title": "Input mode (legacy)",
            "enum": [
              "url_builder",
              "custom_urls"
            ],
            "type": "string",
            "description": "Kept for older saved tasks. URLs and the search builder can both be used.",
            "default": "url_builder"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}