{
  "openapi": "3.0.1",
  "info": {
    "title": "SeLoger Scraper - France Real Estate Listings",
    "description": "Find French listings on seloger.com for sale and rent. Search by city, postcode, or neighborhood; filter by property type, price, size, rooms, amenities, energy, furnishing, and availability, then export JSON, CSV, or Excel-ready data with images, links, locations, pricing, and contact details.",
    "version": "0.0",
    "x-build-id": "5XQ1BSPzamTPlfpjc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/igolaizola~seloger-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-igolaizola-seloger-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/igolaizola~seloger-scraper/runs": {
      "post": {
        "operationId": "runs-sync-igolaizola-seloger-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/igolaizola~seloger-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-igolaizola-seloger-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": [
          "maxItems"
        ],
        "properties": {
          "maxItems": {
            "title": "Maximum listings",
            "type": "integer",
            "description": "Maximum listings to save; 0 means unlimited (or the maximum allowed by the run).",
            "default": 100
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "French city, postcode, department, or search phrase. Optional when latitude and longitude are provided."
          },
          "locationType": {
            "title": "Location type",
            "enum": [
              "country",
              "region",
              "department",
              "city",
              "district",
              "neighborhood",
              "postalCode",
              "street",
              "houseNumber"
            ],
            "type": "string",
            "description": "Optional filter applied to suggestions returned by SeLoger's location search. Choose country, region, department, city, district, neighborhood, postal code, street, or house number."
          },
          "latitude": {
            "title": "Latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Latitude of the center point for a radius search. Use together with longitude; coordinates take precedence over Location."
          },
          "longitude": {
            "title": "Longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Longitude of the center point for a radius search. Use together with latitude; coordinates take precedence over Location."
          },
          "distanceKm": {
            "title": "Distance (km)",
            "minimum": 1,
            "type": "integer",
            "description": "Radius around the latitude and longitude point, in kilometers. Used only for coordinate searches.",
            "default": 20
          },
          "operation": {
            "title": "Operation",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Whether to find properties for sale or rent.",
            "default": "buy"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartmentOrHouse",
              "apartment",
              "house",
              "building",
              "seniorLiving",
              "land",
              "parking",
              "office",
              "shop",
              "restaurantOrHotel",
              "storageOrProduction",
              "agriculture",
              "other"
            ],
            "type": "string",
            "description": "Main property category."
          },
          "propertySubtypes": {
            "title": "Property subtypes",
            "type": "array",
            "description": "Optional subtype labels: loft, multiStorey, penthouse, studio, terrace, bungalow, castle, chalet, farmhouse, finca, manorHouse, mansion, multiFamilyHouse, rustico, semiDetachedHouse, singleFamilyHouse, terraceHouse, townHouse, or villa.",
            "items": {
              "type": "string",
              "enum": [
                "loft",
                "multiStorey",
                "penthouse",
                "studio",
                "terrace",
                "bungalow",
                "castle",
                "chalet",
                "farmhouse",
                "finca",
                "manorHouse",
                "mansion",
                "multiFamilyHouse",
                "rustico",
                "semiDetachedHouse",
                "singleFamilyHouse",
                "terraceHouse",
                "townHouse",
                "villa"
              ],
              "enumTitles": [
                "Loft",
                "Multi-storey",
                "Penthouse",
                "Studio",
                "Terrace",
                "Bungalow",
                "Castle",
                "Chalet",
                "Farmhouse",
                "Finca",
                "Manor house",
                "Mansion",
                "Multi-family house",
                "Rustic house",
                "Semi-detached house",
                "Single-family house",
                "Terraced house",
                "Town house",
                "Villa"
              ]
            }
          },
          "minSize": {
            "title": "Minimum size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum living area in square metres."
          },
          "maxSize": {
            "title": "Maximum size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum living area in square metres."
          },
          "minRooms": {
            "title": "Minimum rooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of rooms."
          },
          "maxRooms": {
            "title": "Maximum rooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of rooms."
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "maxBedrooms": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum advertised price in euros."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum advertised price in euros."
          },
          "minFloor": {
            "title": "Minimum floor",
            "type": "integer",
            "description": "Minimum floor number."
          },
          "maxFloor": {
            "title": "Maximum floor",
            "type": "integer",
            "description": "Maximum floor number."
          },
          "minPlotSize": {
            "title": "Minimum plot size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum land or plot size in square metres."
          },
          "maxPlotSize": {
            "title": "Maximum plot size (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum land or plot size in square metres."
          },
          "minYearBuilt": {
            "title": "Minimum construction year",
            "minimum": 1000,
            "type": "integer",
            "description": "Earliest construction year."
          },
          "maxYearBuilt": {
            "title": "Maximum construction year",
            "minimum": 1000,
            "type": "integer",
            "description": "Latest construction year."
          },
          "features": {
            "title": "Features",
            "type": "array",
            "description": "Property features to include: balcony, elevator, bathtub, windowInBathroom, fittedKitchen, cellar, parking, petsAllowed, pool, accessible, renovationNeeded, garden, or vacant.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "elevator",
                "bathtub",
                "windowInBathroom",
                "fittedKitchen",
                "cellar",
                "parking",
                "petsAllowed",
                "pool",
                "accessible",
                "renovationNeeded",
                "garden",
                "vacant"
              ],
              "enumTitles": [
                "Balcony or terrace",
                "Elevator",
                "Bathtub",
                "Bathroom window",
                "Fitted kitchen",
                "Cellar",
                "Parking",
                "Pets allowed",
                "Swimming pool",
                "Accessible",
                "Needs renovation",
                "Garden",
                "Vacant"
              ]
            }
          },
          "energyRatings": {
            "title": "Energy ratings",
            "type": "array",
            "description": "Energy performance ratings to include: a, b, c, d, e, f, or g.",
            "items": {
              "type": "string",
              "enum": [
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g"
              ],
              "enumTitles": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            }
          },
          "furnished": {
            "title": "Furnishing",
            "enum": [
              "furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Furnishing requirement."
          },
          "projectTypes": {
            "title": "Project types",
            "type": "array",
            "description": "Optional property project categories: newBuild, investment, resale, shortTermRental, shared, foreclosure, lifeAnnuity, stock, or swap.",
            "items": {
              "type": "string",
              "enum": [
                "newBuild",
                "investment",
                "resale",
                "shortTermRental",
                "shared",
                "foreclosure",
                "lifeAnnuity",
                "stock",
                "swap"
              ],
              "enumTitles": [
                "New build",
                "Investment",
                "Resale",
                "Short-term rental",
                "Shared property",
                "Foreclosure",
                "Life annuity",
                "Stock",
                "Swap"
              ]
            }
          },
          "energyHeating": {
            "title": "Heating",
            "type": "array",
            "description": "Heating energy sources: collective, heatPump, or solarElectricity.",
            "items": {
              "type": "string",
              "enum": [
                "collective",
                "heatPump",
                "solarElectricity"
              ],
              "enumTitles": [
                "Collective heating",
                "Heat pump",
                "Solar electricity"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Words that should appear in the listing search."
          },
          "matchAnyKeyword": {
            "title": "Match any keyword",
            "type": "boolean",
            "description": "Return listings matching at least one keyword instead of all keywords.",
            "default": false
          },
          "availableFrom": {
            "title": "Available by",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Latest date by which a rental should be available, in YYYY-MM-DD format."
          },
          "warmRent": {
            "title": "Rent display",
            "enum": [
              "basic",
              "total"
            ],
            "type": "string",
            "description": "Whether rent matching should use base or total monthly rent."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}