{
  "openapi": "3.0.1",
  "info": {
    "title": "Cian.ru Real Estate Scraper",
    "description": "[💰 $1.2 / 1K] Extract Russian real estate listings from Cian.ru (Циан) — apartments, rooms, houses, land, commercial, and new buildings for sale or rent. Get price, rooms, area, floor, address, geo, building specs, description, photos, and agent contact. Search by city, or paste any Cian URL.",
    "version": "1.0",
    "x-build-id": "YFTqqWHnZWjNef2GR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~cian-ru-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-cian-ru-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~cian-ru-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-cian-ru-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~cian-ru-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-cian-ru-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Cian URLs",
            "type": "array",
            "description": "Paste one or more Cian.ru URLs — either search-result pages (e.g. a page you built on cian.ru after choosing filters) or individual listing pages (e.g. https://www.cian.ru/sale/flat/...). The scraper reads every filter straight from each search URL, so the Search Filters below are ignored for these. Use this when you already built a search on the site.",
            "items": {
              "type": "string"
            }
          },
          "dealType": {
            "title": "Deal Type",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Whether to find properties for sale or for rent. Only applies when you build a search below (not when pasting URLs)."
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "flat",
              "room",
              "house",
              "land",
              "commercial",
              "newbuilding"
            ],
            "type": "string",
            "description": "Which property segment to search. Apartments (flats) is the most common. Rooms filter applies to residential only."
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Where to search, at city or region level. Enter a Russian city or region — for example 'Москва' (Moscow), 'Санкт-Петербург' (St. Petersburg), 'Новосибирск', or 'Московская область'. Each location is searched separately. To narrow to a specific district, metro station, or street, build that search on cian.ru and paste its URL into the Cian URLs field above. Leave empty when you are pasting URLs.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum Price (RUB)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings at or above this price, in Russian rubles. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum Price (RUB)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings at or below this price, in Russian rubles. Leave empty for no maximum."
          },
          "rooms": {
            "title": "Rooms",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include listings with these room counts (applies to residential property only). Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "studio",
                "1",
                "2",
                "3",
                "4",
                "5plus"
              ],
              "enumTitles": [
                "Studio",
                "1 room",
                "2 rooms",
                "3 rooms",
                "4 rooms",
                "5+ rooms"
              ]
            }
          },
          "minArea": {
            "title": "Minimum Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings with at least this much total area, in square meters. Leave empty for no minimum."
          },
          "maxArea": {
            "title": "Maximum Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings with at most this much total area, in square meters. Leave empty for no maximum."
          },
          "sort": {
            "title": "Sort Order",
            "enum": [
              "newest",
              "price_asc",
              "price_desc",
              "price_per_meter"
            ],
            "type": "string",
            "description": "Order in which to collect listings. 'Newest first', 'Price: low to high', and 'Price per m²' are ordered by the site; 'Price: high to low' is applied to the collected results. Only applies when you build a search below (not when pasting URLs)."
          },
          "scrapeDetails": {
            "title": "Include Full Details",
            "type": "boolean",
            "description": "Include the full data for every listing: complete description, the whole photo gallery, map coordinates, building specifications (year, material, floors), nearest metro, and agent / agency contact. Turn off for a lighter export with just the core fields — ID, URL, price, rooms, area, address, deal type, and property type.",
            "default": true
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Total number of listings to collect across every location and URL combined (a global cap, not per location). When you enter several locations, this total is shared fairly between them so each one is searched. Set to 0 for as many as possible (up to a built-in safety cap of 10,000). Tip: start with 10-50 to test, then increase.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}