{
  "openapi": "3.0.1",
  "info": {
    "title": "SeLoger Scraper - Listings, Phones, Agency Emails & DPE",
    "description": "Get phone numbers and agency emails from SeLoger listings. Export full property details, DPE/GES, prices, fees, photos and coordinates. Search by place, listing URL or ID, and track new listings and price changes. Contacts are included where published.",
    "version": "0.0",
    "x-build-id": "jUEuNlvpPofzXG29a"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~seloger-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-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/clearpath~seloger-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-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/clearpath~seloger-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-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",
        "properties": {
          "locations": {
            "title": "Places",
            "type": "array",
            "description": "Cities, postcodes, departments or neighbourhoods as you would type them on SeLoger, for example <code>Lyon</code>, <code>75011</code>, <code>Gironde</code> or <code>Marseille 7ème</code>. Each place is one search, refined by the filters below. You can also paste SeLoger place codes such as <code>AD08FR28808</code>. Up to 500 places, links and IDs per run.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "SeLoger links",
            "type": "array",
            "description": "Links copied from www.seloger.com: a search results page (with your filters already applied on the site), a listing page, or an agency profile page (the listings shown on it are collected). A search link keeps its own filters; the filters below apply to Places only.",
            "items": {
              "type": "string"
            }
          },
          "listingIds": {
            "title": "Listing IDs",
            "type": "array",
            "description": "SeLoger listing IDs, either the 12-character ID at the end of a listing link (<code>26R2P27XD9JC</code>) or the older numeric ID (<code>283061343</code>).",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerSearch": {
            "title": "Listings per place or link",
            "minimum": 0,
            "type": "integer",
            "description": "Most listings to collect for each place or search link. Leave empty or 0 to collect every listing SeLoger shows for it, also beyond 10,000."
          },
          "maxResults": {
            "title": "Listings in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop the whole run after this many listings, across all places, links and IDs. Leave empty or 0 for no limit."
          },
          "transactionType": {
            "title": "Buy or rent",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Leave empty for both sale and rental listings."
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Leave empty for every property type.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "house",
                "parking",
                "land",
                "office",
                "retail",
                "building",
                "hotelRestaurant",
                "warehouse",
                "agricultural",
                "seniorResidence",
                "other"
              ],
              "enumTitles": [
                "Apartment",
                "House",
                "Parking or garage",
                "Land",
                "Office",
                "Shop or retail",
                "Whole building",
                "Hotel or restaurant",
                "Warehouse or industrial",
                "Agricultural or forest",
                "Senior residence",
                "Other"
              ]
            }
          },
          "listingKinds": {
            "title": "Listing kinds",
            "type": "array",
            "description": "Leave empty for every kind.",
            "items": {
              "type": "string",
              "enum": [
                "resale",
                "newBuild",
                "offPlan",
                "lifeAnnuity",
                "standardRental",
                "flatshare"
              ],
              "enumTitles": [
                "Resale (existing homes)",
                "New build",
                "Off-plan",
                "Life annuity (viager)",
                "Standard rental",
                "Flatshare"
              ]
            }
          },
          "priceMin": {
            "title": "Minimum price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Sale price, or monthly rent for rentals."
          },
          "priceMax": {
            "title": "Maximum price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty or 0 for no upper limit."
          },
          "areaMin": {
            "title": "Minimum living area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty for no lower limit."
          },
          "areaMax": {
            "title": "Maximum living area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty or 0 for no upper limit."
          },
          "plotAreaMin": {
            "title": "Minimum land area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Land around a house or a plot. Leave empty for no lower limit."
          },
          "plotAreaMax": {
            "title": "Maximum land area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty or 0 for no upper limit."
          },
          "roomsMin": {
            "title": "Minimum rooms (pièces)",
            "minimum": 0,
            "type": "integer",
            "description": "Rooms as counted in France (pièces): a two-room flat has one bedroom."
          },
          "roomsMax": {
            "title": "Maximum rooms (pièces)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty or 0 for no upper limit."
          },
          "bedroomsMin": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty for no lower limit."
          },
          "bedroomsMax": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty or 0 for no upper limit."
          },
          "yearBuiltMin": {
            "title": "Built in or after",
            "minimum": 0,
            "type": "integer",
            "description": "Year of construction. Listings without a year are left out when this is set."
          },
          "yearBuiltMax": {
            "title": "Built in or before",
            "minimum": 0,
            "type": "integer",
            "description": "Year of construction. Listings without a year are left out when this is set."
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "private",
              "professional"
            ],
            "type": "string",
            "description": "Leave empty for every seller."
          },
          "furnished": {
            "title": "Furnished",
            "enum": [
              "furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Mainly for rentals. Leave empty for both."
          },
          "features": {
            "title": "Must have",
            "type": "array",
            "description": "Only listings with all of these.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "garden",
                "parking",
                "elevator",
                "pool",
                "cellar",
                "equippedKitchen",
                "accessible",
                "exclusive",
                "noAgencyFees",
                "vacant",
                "notGroundFloor",
                "notTopFloor",
                "topFloor",
                "needsRenovation"
              ],
              "enumTitles": [
                "Balcony or terrace",
                "Garden",
                "Parking or garage",
                "Lift",
                "Swimming pool",
                "Cellar",
                "Fully equipped kitchen",
                "Wheelchair accessible",
                "Exclusive mandate",
                "No agency fees",
                "Vacant on sale",
                "Not on the ground floor",
                "Not on the top floor",
                "Top floor only",
                "Needs renovation"
              ]
            }
          },
          "energyClasses": {
            "title": "Energy classes (DPE)",
            "type": "array",
            "description": "Only listings with one of these energy ratings. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            }
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "relevance",
              "newest",
              "priceLowToHigh",
              "priceHighToLow",
              "pricePerSquareMeterLowToHigh",
              "pricePerSquareMeterHighToLow",
              "fewestRooms",
              "mostRooms",
              "smallest",
              "largest"
            ],
            "type": "string",
            "description": "Order of results within each place or link, also stored per row as <code>searchPosition</code>. Leave empty to keep a link's own order (SeLoger's default order for places). A place with more than 10,000 listings comes back complete, ordered by price."
          },
          "includeDetails": {
            "title": "Full listing details",
            "type": "boolean",
            "description": "Each listing with its exact coordinates, full description, phone numbers, energy figures (kWh and CO₂), price breakdown (notary fees, charges, deposit, tenant fees), co-ownership, every feature, floor plans, virtual tours and SeLoger's price estimate for the area. Turn off for faster runs with search-card data only.",
            "default": true
          },
          "includeAgencyDetails": {
            "title": "Agency profile",
            "type": "boolean",
            "description": "Adds the agency's email, phone, website, social links, SIRET and legal details, opening hours, services, rating, team and listing counts. Each agency is read once per run.",
            "default": true
          },
          "onlyNewListings": {
            "title": "Only new or changed listings",
            "type": "boolean",
            "description": "For scheduled runs: return only listings that are new or changed (price, description, photos and more) since earlier runs with the same input. Each row says what changed and the previous price. Unchanged listings are skipped and not charged.",
            "default": false
          },
          "monitorName": {
            "title": "Monitoring name",
            "type": "string",
            "description": "Optional. Give two different monitoring setups with the same input their own history, or share one history between runs."
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Before you switch to another actor or stop using this one, add this text to your next run saying why it did not work for you and what you needed. The run proceeds normally; the note is recorded for the maintainers."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}