{
  "openapi": "3.0.1",
  "info": {
    "title": "Historical Property Price Changes & Listings",
    "description": "Get verified before-and-after property listing prices from maintained historical observations. Five results by default, with country, date, source and listing filters; optional raw archive and AI analysis.",
    "version": "2.0",
    "x-build-id": "JtELIVn5xW3c7pQPi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thescrapelab~the-ultimate-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thescrapelab-the-ultimate-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/thescrapelab~the-ultimate-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-thescrapelab-the-ultimate-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/thescrapelab~the-ultimate-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-thescrapelab-the-ultimate-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": {
          "view": {
            "title": "What history do you want?",
            "enum": [
              "price_changes",
              "observations",
              "archived_listings",
              "current"
            ],
            "type": "string",
            "description": "Start with verified before-and-after prices. Dated observations and archived listings are advanced exports; use the dedicated Current Actor for fresh listings.",
            "default": "price_changes"
          },
          "countries": {
            "title": "Countries (optional)",
            "type": "array",
            "description": "Optional. Choose one or more countries for a country-wide export. Leave blank for the small, fast starter sample.",
            "items": {
              "type": "string",
              "enum": [
                "AE",
                "BH",
                "BR",
                "CA",
                "EG",
                "ES",
                "FI",
                "GB",
                "IE",
                "JP",
                "KZ",
                "MA",
                "NG",
                "NZ",
                "PH",
                "PK",
                "PL",
                "PT",
                "QA",
                "RO",
                "SA",
                "TR",
                "UA",
                "US",
                "ZA"
              ],
              "enumTitles": [
                "United Arab Emirates (AE)",
                "Bahrain (BH)",
                "Brazil (BR)",
                "Canada (CA)",
                "Egypt (EG)",
                "Spain (ES)",
                "Finland (FI)",
                "United Kingdom (GB)",
                "Ireland (IE)",
                "Japan (JP)",
                "Kazakhstan (KZ)",
                "Morocco (MA)",
                "Nigeria (NG)",
                "New Zealand (NZ)",
                "Philippines (PH)",
                "Pakistan (PK)",
                "Poland (PL)",
                "Portugal (PT)",
                "Qatar (QA)",
                "Romania (RO)",
                "Saudi Arabia (SA)",
                "Turkey (TR)",
                "Ukraine (UA)",
                "United States (US)",
                "South Africa (ZA)"
              ]
            },
            "default": []
          },
          "markets": {
            "title": "Sale or rental",
            "type": "array",
            "description": "Defaults to for-sale. Add to-rent if you also want rental listings.",
            "items": {
              "type": "string",
              "enum": [
                "for-sale",
                "to-rent"
              ]
            },
            "default": [
              "for-sale"
            ]
          },
          "areaQuery": {
            "title": "City or suburb (optional)",
            "type": "string",
            "description": "Optional text filter. Matches suburb, city, location, title, or address.",
            "default": ""
          },
          "lookbackDays": {
            "title": "Look back (days)",
            "minimum": 1,
            "maximum": 366,
            "type": "integer",
            "description": "Used when no From date is supplied. Price changes default to the last 90 days.",
            "default": 90
          },
          "observedFrom": {
            "title": "From date (optional)",
            "type": "string",
            "description": "Optional inclusive YYYY-MM-DD. Overrides Look back (days).",
            "default": ""
          },
          "observedTo": {
            "title": "To date (optional)",
            "type": "string",
            "description": "Optional inclusive YYYY-MM-DD. Defaults to today.",
            "default": ""
          },
          "limit": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Number of paid results to deliver, from 1 to 1,000. Start with five.",
            "default": 5
          },
          "estimateOnly": {
            "title": "Preview count without results",
            "type": "boolean",
            "description": "Return a bounded lower-bound preview without delivering paid rows; broad exact counts are unavailable.",
            "default": false
          },
          "requireResults": {
            "title": "Fail if no results (monitoring)",
            "type": "boolean",
            "description": "For scheduled health checks. A normal empty search succeeds; enable this to alert when the dataset is empty.",
            "default": false
          },
          "websites": {
            "title": "Source Websites",
            "type": "array",
            "description": "Optional source slugs. Leave blank for every covered source.",
            "items": {
              "type": "string",
              "enum": [
                "property24",
                "privateproperty",
                "seeffproperty",
                "rawsonproperty",
                "chaseverittproperty",
                "jawitzproperty",
                "leapfrogproperty",
                "hemnetse",
                "rightmoveukproperty",
                "onthemarketuk",
                "casait",
                "century21usproperty",
                "centriscaproperty",
                "imovirtualptproperty",
                "daftieproperty",
                "mercadolibrearproperty",
                "mercadolibremxproperty",
                "mercadolibredoproperty",
                "mercadolibregtproperty",
                "mercadolibrehnproperty",
                "mercadolibreniproperty",
                "mercadolibrepaproperty",
                "mercadolibreecproperty",
                "mercadolibrepyproperty",
                "mercadolibresvproperty",
                "vivarealbrproperty",
                "olxbrproperty",
                "propertynewsni",
                "propertypalni",
                "craigslistusproperty",
                "redfinusproperty",
                "coldwellbankerusproperty",
                "newhomesourceusproperty",
                "movotousproperty",
                "harusproperty",
                "zillowusproperty",
                "estatelyusproperty",
                "royallepagecaproperty",
                "realtorcaproperty",
                "srealityczproperty",
                "dotpropertyph",
                "etuovifiproperty",
                "vuokraovifiproperty",
                "lamudiph",
                "lamudimxproperty",
                "argenproparproperty",
                "bayutbhproperty",
                "bayutsaproperty",
                "betterhomesuaeproperty",
                "emiratesestateuaeproperty",
                "engeluaeproperty",
                "mubawabmaproperty",
                "papfrproperty",
                "fazwazth",
                "providentuaeproperty",
                "zooplaukproperty",
                "fundanlproperty",
                "boligsidendkproperty",
                "fotocasaesproperty",
                "propertyfinderbhproperty",
                "propertyfinderuae",
                "propertyfinderegproperty",
                "propertyfinderqaproperty",
                "propertyfindersaproperty",
                "propertygurumyproperty",
                "propertygurusgproperty",
                "otodompl",
                "myhomeieproperty",
                "homegatechproperty",
                "emlakjettrproperty",
                "pisosesproperty",
                "propertyprongproperty",
                "quintoandarbrproperty",
                "realestateconzproperty",
                "trademenzproperty",
                "rumah123idproperty",
                "gumtreeukproperty",
                "olxptproperty",
                "olxkzproperty",
                "olxegproperty",
                "olxpkproperty",
                "olxroproperty",
                "olxuaproperty",
                "olxuzproperty",
                "suumojpproperty",
                "sothebysuaeproperty",
                "squareyardsuaeproperty",
                "zameenpkproperty",
                "bayutomproperty",
                "bayutuaeproperty",
                "dotpropertyidproperty",
                "dotpropertymyproperty",
                "dotpropertyvnproperty",
                "fazwazaeproperty",
                "fazwazarproperty",
                "fazwazegproperty",
                "fazwazidproperty",
                "fazwazmxproperty",
                "fazwazpeproperty",
                "fazwazphproperty",
                "fazwazvnproperty",
                "lamudipkproperty",
                "mercadolibreclproperty",
                "mercadolibrecoproperty",
                "mercadolibrecrproperty",
                "mercadolibrepeproperty",
                "mercadolibreuyproperty",
                "mercadolibreveproperty",
                "buyrentkenyaproperty",
                "dotpropertythproperty",
                "dubizzlebhproperty",
                "dubizzlejoproperty",
                "dubizzlelbproperty",
                "dubizzleomproperty",
                "dubizzleqaproperty",
                "olxbgproperty",
                "olxplproperty",
                "propertycozwproperty"
              ],
              "enumTitles": [
                "Property24 (ZA)",
                "Private Property (ZA)",
                "Seeff Property (ZA)",
                "Rawson Property (ZA)",
                "Chas Everitt Property (ZA)",
                "Jawitz Property (ZA)",
                "Leapfrog Property (ZA)",
                "Hemnet (SE)",
                "Rightmove UK (GB)",
                "OnTheMarket UK (GB)",
                "Casa.it (IT)",
                "Century 21 US Property (US)",
                "Centris Canada Property (CA)",
                "Imovirtual Portugal (PT)",
                "Daft Ireland Property (IE)",
                "Mercado Libre Property Argentina (AR)",
                "Mercado Libre Property Mexico (MX)",
                "Mercado Libre Property Dominican Republic (DO)",
                "Mercado Libre Property Guatemala (GT)",
                "Mercado Libre Property Honduras (HN)",
                "Mercado Libre Property Nicaragua (NI)",
                "Mercado Libre Property Panama (PA)",
                "Mercado Libre Property Ecuador (EC)",
                "Mercado Libre Property Paraguay (PY)",
                "Mercado Libre Property El Salvador (SV)",
                "Viva Real Brazil Property (BR)",
                "OLX Brazil Property (BR)",
                "Propertynews NI (GB)",
                "PropertyPal NI (GB)",
                "Craigslist US Property (US)",
                "Redfin US Property (US)",
                "Coldwell Banker US Property (US)",
                "NewHomeSource US Property (US)",
                "Movoto US Property (US)",
                "HAR US Property (US)",
                "Zillow US Property (US)",
                "Estately US Property (US)",
                "Royal LePage Canada Property (CA)",
                "REALTOR.ca Property (CA)",
                "Sreality Czech Property (CZ)",
                "DotProperty Philippines (PH)",
                "Etuovi Finland Property (FI)",
                "Vuokraovi Finland Property (FI)",
                "Lamudi Philippines (PH)",
                "Lamudi Mexico Property (MX)",
                "Argenprop Argentina Property (AR)",
                "Bayut Bahrain Property (BH)",
                "Bayut Saudi Arabia Property (SA)",
                "Betterhomes UAE Property (AE)",
                "Emirates.Estate UAE Property (AE)",
                "Engel & Volkers UAE Property (AE)",
                "Mubawab Morocco Property (MA)",
                "PAP France Property (FR)",
                "FazWaz Thailand (TH)",
                "Provident UAE Property (AE)",
                "Zoopla UK Property (GB)",
                "Funda Netherlands Property (NL)",
                "Boligsiden Denmark Property (DK)",
                "Fotocasa Spain Property (ES)",
                "Property Finder Bahrain Property (BH)",
                "Property Finder UAE (AE)",
                "Property Finder Egypt (EG)",
                "Property Finder Qatar Property (QA)",
                "Property Finder Saudi Arabia Property (SA)",
                "PropertyGuru Malaysia (MY)",
                "PropertyGuru Singapore (SG)",
                "Otodom Poland (PL)",
                "MyHome Ireland Property (IE)",
                "Homegate Switzerland Property (CH)",
                "Emlakjet Turkey Property (TR)",
                "Pisos Spain Property (ES)",
                "PropertyPro Nigeria Property (NG)",
                "QuintoAndar Brazil Property (BR)",
                "RealEstate NZ Property (NZ)",
                "Trade Me Property (NZ)",
                "Rumah123 Indonesia Property (ID)",
                "Gumtree UK Property (GB)",
                "OLX Portugal Property (PT)",
                "OLX Kazakhstan Property (KZ)",
                "Dubizzle Egypt Property (EG)",
                "OLX Pakistan Property (PK)",
                "OLX Romania Property (RO)",
                "OLX Ukraine Property (UA)",
                "OLX Uzbekistan Property (UZ)",
                "SUUMO Japan Property (JP)",
                "Sotheby's UAE Property (AE)",
                "Square Yards UAE Property (AE)",
                "Zameen Pakistan Property (PK)",
                "Bayut Oman Property (OM)",
                "Bayut UAE Property (AE)",
                "DotProperty Indonesia (ID)",
                "DotProperty Malaysia (MY)",
                "DotProperty Vietnam (VN)",
                "FazWaz UAE (AE)",
                "FazWaz Argentina (AR)",
                "FazWaz Egypt (EG)",
                "FazWaz Indonesia (ID)",
                "FazWaz Mexico (MX)",
                "FazWaz Peru (PE)",
                "FazWaz Philippines (PH)",
                "FazWaz Vietnam (VN)",
                "Lamudi Pakistan Property (PK)",
                "Mercado Libre Property Chile (CL)",
                "Mercado Libre Property Colombia (CO)",
                "Mercado Libre Property Costa Rica (CR)",
                "Mercado Libre Property Peru (PE)",
                "Mercado Libre Property Uruguay (UY)",
                "Mercado Libre Property Venezuela (VE)",
                "BuyRentKenya Property (KE)",
                "DotProperty Thailand (TH)",
                "Dubizzle Bahrain Property (BH)",
                "Dubizzle Jordan Property (JO)",
                "Dubizzle Lebanon Property (LB)",
                "Dubizzle Oman Property (OM)",
                "Dubizzle Qatar Property (QA)",
                "OLX Bulgaria Property (BG)",
                "OLX Poland Property (PL)",
                "Property.co.zw Property (ZW)"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Min Price",
            "minimum": 0,
            "type": "integer",
            "description": "Optional minimum price in the listing's own currency. Use 0 to ignore.",
            "default": 0
          },
          "maxPrice": {
            "title": "Max Price",
            "minimum": 0,
            "type": "integer",
            "description": "Optional maximum price in the listing's own currency. Use 0 to ignore.",
            "default": 0
          },
          "minBedrooms": {
            "title": "Min Bedrooms",
            "minimum": 0,
            "type": "number",
            "description": "Optional minimum bedrooms. Works for current listings and history snapshots. Use 0 to ignore.",
            "default": 0
          },
          "maxBedrooms": {
            "title": "Max Bedrooms",
            "minimum": 0,
            "type": "number",
            "description": "Optional maximum bedrooms. Works for current listings and history snapshots. Use 0 to ignore.",
            "default": 0
          },
          "aiEnrichment": {
            "title": "Add AI analysis ($0.01 per item)",
            "type": "boolean",
            "description": "Optional OpenRouter analysis for delivered results; an additional per-item event is charged only on success.",
            "default": false
          },
          "aiMaxItems": {
            "title": "AI Analyses",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum listings to enrich with AI. Start with five; the maximum is 20.",
            "default": 5
          },
          "continuationToken": {
            "title": "Continue a previous export",
            "type": "string",
            "description": "Paste next_continuation_token from OUTPUT to continue the same filtered export.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}