{
  "openapi": "3.0.1",
  "info": {
    "title": "JamesEdition Real Estate Scraper",
    "description": "[💰 $6.5 / 1K] Extract luxury property listings from JamesEdition. Search 830,000+ homes across 60+ countries by location, price, type, bedrooms, living and land area, year built, and features like pool or sea view. Get EUR/USD prices, photos, map coordinates and brokerage details.",
    "version": "1.0",
    "x-build-id": "AeMW94N5gc2PnXAhR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~james-edition-real-estate-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-james-edition-real-estate-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/solidcode~james-edition-real-estate-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-james-edition-real-estate-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/solidcode~james-edition-real-estate-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-james-edition-real-estate-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": {
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Country, region, or city to search, for example \"Marbella, Spain\", \"French Riviera\", \"Dubai\", or \"Tuscany\". Leave empty to search every country at once. Ignored when Start URLs are provided. Worth knowing: JamesEdition serves at most 1,500 properties per search, so for a large country you will get a 1,500-property slice rather than everything - search city by city, or by price band, to cover more."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste one or more JamesEdition links, either search-result pages or single property pages. Any language version of the site works. When provided, these replace the search fields above and below. Each search link is collected separately and each one gets its own 1,500-property allowance from JamesEdition, so splitting a big market across several links is the way to collect more than 1,500 properties.",
            "items": {
              "type": "string"
            }
          },
          "propertyTypes": {
            "title": "Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include these kinds of property. Leave empty to include every type.",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "villa",
                "apartment",
                "penthouse",
                "condo",
                "co_op",
                "townhouse",
                "bungalow",
                "chalet",
                "country_house",
                "finca",
                "estate",
                "farm_ranch",
                "castle",
                "chateau",
                "private_island",
                "land"
              ],
              "enumTitles": [
                "House",
                "Villa",
                "Apartment",
                "Penthouse",
                "Condo",
                "Co-op",
                "Townhouse",
                "Bungalow",
                "Chalet",
                "Country house",
                "Finca",
                "Estate",
                "Farm / Ranch",
                "Castle",
                "Chateau",
                "Private island",
                "Land / Plot"
              ]
            }
          },
          "priceMin": {
            "title": "Minimum Price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties at or above this price, in euros. JamesEdition compares prices in euros no matter which currency a seller lists in. Leave empty for no minimum."
          },
          "priceMax": {
            "title": "Maximum Price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties at or below this price, in euros. Leave empty for no maximum."
          },
          "bedroomsMin": {
            "title": "Minimum Bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Only include properties with at least this many bedrooms. Leave empty for any."
          },
          "bedroomsMax": {
            "title": "Maximum Bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Only include properties with at most this many bedrooms. Leave empty for any."
          },
          "bathroomsMin": {
            "title": "Minimum Bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Only include properties with at least this many bathrooms. Leave empty for any."
          },
          "bathroomsMax": {
            "title": "Maximum Bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Only include properties with at most this many bathrooms. Leave empty for any."
          },
          "livingAreaMin": {
            "title": "Minimum Living Area (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties with at least this much indoor living space, in square metres. Leave empty for any."
          },
          "livingAreaMax": {
            "title": "Maximum Living Area (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties with at most this much indoor living space, in square metres. Leave empty for any."
          },
          "landAreaMin": {
            "title": "Minimum Land Area (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties on a plot of at least this size, in square metres. Useful for estates, vineyards and ranches. Leave empty for any."
          },
          "landAreaMax": {
            "title": "Maximum Land Area (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties on a plot of at most this size, in square metres. Leave empty for any."
          },
          "yearBuiltMin": {
            "title": "Built From Year",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "Only include properties built in this year or later, for example 2020 for recent builds. Leave empty for any age."
          },
          "yearBuiltMax": {
            "title": "Built Up To Year",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "Only include properties built in this year or earlier, for example 1900 for historic homes. Leave empty for any age."
          },
          "features": {
            "title": "Features & Setting",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include properties that offer all of these features or settings. Leave empty to include everything.",
            "items": {
              "type": "string",
              "enum": [
                "pool",
                "indoor-pool",
                "jacuzzi",
                "sauna",
                "steam-room",
                "fitness-center",
                "tennis-court",
                "garden",
                "terrace",
                "balcony",
                "garage",
                "elevator",
                "fireplace",
                "air-conditioning",
                "open-kitchen",
                "outdoor-kitchen",
                "kitchen-bar",
                "wine-cellar",
                "cinema",
                "library",
                "game-room",
                "office",
                "duplex",
                "helipad",
                "private-airport",
                "equestrian",
                "vineyard",
                "private-beach",
                "waterfront",
                "beachfront",
                "oceanfront",
                "lakefront",
                "riverfront",
                "seafront",
                "coastal",
                "ski-in-ski-out",
                "hilltop",
                "high-altitude",
                "gated-community",
                "privacy",
                "scenic-view",
                "sea-view",
                "ocean-view",
                "water-view",
                "lake-view",
                "river-view",
                "mountain-view",
                "golf-view",
                "city-view",
                "mansion",
                "modern",
                "new-built",
                "renovated",
                "investment-property"
              ],
              "enumTitles": [
                "Pool",
                "Indoor pool",
                "Jacuzzi",
                "Sauna",
                "Steam room",
                "Fitness centre / Gym",
                "Tennis court",
                "Garden",
                "Terrace",
                "Balcony",
                "Garage",
                "Elevator",
                "Fireplace",
                "Air conditioning",
                "Open kitchen",
                "Outdoor kitchen",
                "Bar",
                "Wine cellar",
                "Cinema",
                "Library",
                "Game room",
                "Home office",
                "Duplex",
                "Helipad",
                "Airstrip / Private airport",
                "Equestrian",
                "Vineyard / Winery",
                "Private beach",
                "Waterfront",
                "Beachfront",
                "Oceanfront",
                "Lakefront",
                "Riverfront",
                "Seafront",
                "Coastal",
                "Ski-in / Ski-out",
                "Hilltop",
                "High altitude",
                "Gated community",
                "Privacy",
                "Panoramic / Scenic view",
                "Sea view",
                "Ocean view",
                "Water view",
                "Lake view",
                "River view",
                "Mountain view",
                "Golf view",
                "City view",
                "Mansion",
                "Modern",
                "New build",
                "Renovated",
                "Investment property"
              ]
            }
          },
          "brands": {
            "title": "Brokerage Brands",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include properties listed by these luxury brokerage networks. Pick several and each one is searched separately, then the results are merged - so each brand also gets its own 1,500-property allowance. Leave empty to include every brokerage.",
            "items": {
              "type": "string",
              "enum": [
                "68",
                "76",
                "87",
                "1057",
                "84",
                "86",
                "81",
                "91",
                "69",
                "70",
                "85",
                "93",
                "88",
                "82",
                "83"
              ],
              "enumTitles": [
                "Sotheby's International Realty",
                "Christie's International",
                "Engel & Volkers",
                "Savills",
                "Douglas Elliman",
                "Coldwell Banker Global Luxury",
                "Corcoran",
                "Keller Williams",
                "Century 21",
                "Barnes International Realty",
                "John Taylor",
                "Fine & Country",
                "Luxury Portfolio International",
                "ERA Real Estate",
                "Better Homes and Gardens"
              ]
            }
          },
          "hasVideo": {
            "title": "Only Properties With A Video",
            "type": "boolean",
            "description": "Only include properties that come with a video tour."
          },
          "hasVirtualTour": {
            "title": "Only Properties With A Virtual Tour",
            "type": "boolean",
            "description": "Only include properties that come with a 3D or virtual walkthrough."
          },
          "priceOnRequest": {
            "title": "Price Visibility",
            "enum": [
              "any",
              "exclude",
              "only"
            ],
            "type": "string",
            "description": "Many top-end properties hide their asking price. Choose whether to include them, skip them, or collect only those."
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "premium",
              "popular",
              "recent",
              "price_asc",
              "price_desc",
              "living_area_asc",
              "living_area_desc",
              "price_per_sqm_asc",
              "price_per_sqm_desc"
            ],
            "type": "string",
            "description": "How JamesEdition orders the results. Because a search returns at most 1,500 properties, sorting decides which slice of a large market you get."
          },
          "includeDetails": {
            "title": "Include Full Property Details",
            "type": "boolean",
            "description": "Open every property page to add the full seller description, the amenity list, the year built, exact living and land area, and extra high-resolution photos. This makes one extra request per property, so runs take longer. Leave off for faster runs that still include price in three currencies, bedrooms, bathrooms, living area, type, city, country, map coordinates, up to 10 full-size photos, agent and brokerage."
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it"
            ],
            "type": "string",
            "description": "Language version of JamesEdition used while collecting. This affects site-generated wording such as property type labels; descriptions written by the seller stay in their original language."
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 0,
            "type": "integer",
            "description": "Total number of properties to collect across every search and URL. Set to 0 to collect as many as are available. If this field is left out of the input entirely - which happens when a run is started through the API or a schedule with an empty input rather than from this form - the run collects up to 1,000 properties. Note that JamesEdition itself stops any single search at 1,500 properties, so a value above 1,500 only pays off when you list several Start URLs."
          },
          "maxResultsPerUrl": {
            "title": "Maximum Results Per Search",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum properties to collect from each individual search or URL. Set to 0 for no per-search limit, in which case only the overall Maximum Results and JamesEdition's own 1,500-per-search ceiling apply."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}