{
  "openapi": "3.0.1",
  "info": {
    "title": "House.kg Real Estate Scraper: Kyrgyzstan Listings & New Builds",
    "description": "Scrape House.kg real estate in Kyrgyzstan: sale and rent listings with prices in USD and KGS, areas, rooms, coordinates and photos, plus agencies, developers and new-build complexes. Export CSV, Excel, JSON, XML.",
    "version": "0.1",
    "x-build-id": "CrXtCEIcqMA9eTQG0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~house-kg-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-house-kg-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/recordsdata~house-kg-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-house-kg-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/recordsdata~house-kg-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-house-kg-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": "Start URLs",
            "type": "array",
            "description": "Optional house.kg pages to read: an ad (house.kg/details/...), an agency page (house.kg/business/...), an agency list (house.kg/business/companies, house.kg/realtors, house.kg/developers), a developer page (house.kg/zastroishiki/...), a new-build complex page (house.kg/jilie-kompleksy/...) or any search page such as house.kg/kupit-kvartiru?rooms=2&district=4 or house.kg/snyat-dom. A search URL brings its own filters, so the filters below are ignored for it. Leave empty to search with the filters below.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
          },
          "recordTypes": {
            "title": "Record types",
            "type": "array",
            "description": "What to return. Listings: one row per ad (price in both currencies, area, rooms, floor, place, coordinates, photos, seller type, price history). Agencies: one row per real estate agency, specialist or developer account with ads (address, schedule, rating, ad counts). Developers: one row per builder (projects, founding year, links). Complexes: one row per new-build housing complex (developer, deadline, price per m2, building facts, unit types). Every row counts toward Max Items; rows come in the order listed here.",
            "items": {
              "type": "string",
              "enum": [
                "listings",
                "agencies",
                "developers",
                "complexes"
              ],
              "enumTitles": [
                "Listings (ads)",
                "Agencies and realtors",
                "Developers (builders)",
                "New-build complexes"
              ]
            },
            "default": [
              "listings"
            ]
          },
          "language": {
            "title": "Language",
            "enum": [
              "ru",
              "en"
            ],
            "type": "string",
            "description": "Language of the labels and titles in the rows (condition, heating, district names, building type and so on) and of the URLs. Names that people typed, such as descriptions, agency names and street names, stay as written on the site.",
            "default": "ru"
          },
          "resolveNames": {
            "title": "Resolve district and complex names",
            "type": "boolean",
            "description": "House.kg gives districts, micro-districts and new-build complexes inside an ad only as ids. When on, the actor looks their names up (a few light extra requests per run, cached) so rows carry district, neighborhood, complexName and developerName. Turn off for the fastest pass; those names are then missing but the ids stay.",
            "default": true
          },
          "operation": {
            "title": "Operation",
            "enum": [
              "sale",
              "rent",
              "both"
            ],
            "type": "string",
            "description": "Sale, rent, or both. Every row says which one it is in the operation field. Daily rent ads are part of rent.",
            "default": "sale"
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Only these property types. Leave empty for all seven.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "house",
                "commercial",
                "room",
                "land",
                "dacha",
                "parking"
              ],
              "enumTitles": [
                "Apartment",
                "House",
                "Commercial property",
                "Room",
                "Land plot",
                "Dacha / cottage",
                "Parking / garage"
              ]
            },
            "default": []
          },
          "locations": {
            "title": "Towns and regions",
            "type": "array",
            "description": "Only ads in these places. Write a town or region as on house.kg, in Russian or English: Бишкек / Bishkek, Ош / Osh, Каракол, Чолпон-Ата, Чуйская область, Иссык-Кульская область. You can also write town:2 or region:1 with the numeric id. House.kg filters one place at a time, so each place is scanned in turn and a place that is a town is preferred over a region of the same name.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "districts": {
            "title": "Districts of Bishkek",
            "type": "array",
            "description": "Only ads in these districts of Bishkek: Октябрьский, Первомайский, Свердловский, Ленинский (Oktyabr, Pervomay, Sverdlov, Lenin; either language works). House.kg has districts for Bishkek only. Leave empty for the whole city.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "rooms": {
            "title": "Number of rooms",
            "type": "array",
            "description": "Only ads with these room counts (6 means six or more). Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
              ],
              "enumTitles": [
                "1 room",
                "2 rooms",
                "3 rooms",
                "4 rooms",
                "5 rooms",
                "6 rooms or more"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price in the currency chosen below. 0 or empty means no minimum.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price in the currency chosen below. 0 or empty means no maximum.",
            "default": 0
          },
          "priceCurrency": {
            "title": "Price filter currency",
            "enum": [
              "usd",
              "kgs"
            ],
            "type": "string",
            "description": "Currency of the minimum and maximum price: US dollars or Kyrgyz som. Every row carries the price in both currencies whatever you pick here.",
            "default": "usd"
          },
          "minArea": {
            "title": "Minimum area (m2)",
            "minimum": 0,
            "type": "number",
            "description": "Smallest built or living area in square meters. 0 or empty means no minimum.",
            "default": 0
          },
          "maxArea": {
            "title": "Maximum area (m2)",
            "minimum": 0,
            "type": "number",
            "description": "Largest built or living area in square meters. 0 or empty means no maximum.",
            "default": 0
          },
          "minLandArea": {
            "title": "Minimum land area (sot)",
            "minimum": 0,
            "type": "number",
            "description": "Smallest plot in sot (1 sot = 100 m2) for land, houses and dachas. 0 or empty means no minimum.",
            "default": 0
          },
          "maxLandArea": {
            "title": "Maximum land area (sot)",
            "minimum": 0,
            "type": "number",
            "description": "Largest plot in sot (1 sot = 100 m2). 0 or empty means no maximum.",
            "default": 0
          },
          "minFloor": {
            "title": "Minimum floor",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest floor of the unit. 0 or empty means no minimum.",
            "default": 0
          },
          "maxFloor": {
            "title": "Maximum floor",
            "minimum": 0,
            "type": "integer",
            "description": "Highest floor of the unit. 0 or empty means no maximum.",
            "default": 0
          },
          "floorPosition": {
            "title": "Floor position",
            "enum": [
              "any",
              "notLast",
              "onlyLast"
            ],
            "type": "string",
            "description": "Exclude the top floor of the building, or keep only the top floor.",
            "default": "any"
          },
          "buildingTypes": {
            "title": "Building material",
            "type": "array",
            "description": "Only buildings of these types. Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "brick",
                "panel",
                "monolithic"
              ],
              "enumTitles": [
                "Brick",
                "Panel",
                "Monolithic"
              ]
            },
            "default": []
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Only units in these conditions. Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "selfFinishing",
                "euro",
                "good",
                "average",
                "unfinished"
              ],
              "enumTitles": [
                "Pre-finish (for self finishing)",
                "Euro renovation",
                "Good",
                "Average",
                "Unfinished / under construction"
              ]
            },
            "default": []
          },
          "onlyNewBuildings": {
            "title": "New buildings only",
            "type": "boolean",
            "description": "Only ads in new-build complexes.",
            "default": false
          },
          "onlyOwners": {
            "title": "Private owners only",
            "type": "boolean",
            "description": "Only ads posted by private owners, no agencies.",
            "default": false
          },
          "onlyWithPhoto": {
            "title": "With photos only",
            "type": "boolean",
            "description": "Only ads that have at least one photo.",
            "default": false
          },
          "onlyWithVideo": {
            "title": "With video only",
            "type": "boolean",
            "description": "Only ads that carry a video.",
            "default": false
          },
          "onlyMortgage": {
            "title": "Mortgage possible",
            "type": "boolean",
            "description": "Only ads where the seller accepts a mortgage purchase.",
            "default": false
          },
          "onlyInstallment": {
            "title": "Installment possible",
            "type": "boolean",
            "description": "Only ads where the seller offers installment payment.",
            "default": false
          },
          "onlyExchange": {
            "title": "Exchange possible",
            "type": "boolean",
            "description": "Only ads where the seller is open to an exchange.",
            "default": false
          },
          "belowMarketPercent": {
            "title": "Below market price",
            "enum": [
              "0",
              "10",
              "20",
              "30",
              "40",
              "50"
            ],
            "type": "string",
            "description": "Only ads priced at least this much below the average price per m2 of similar units, as house.kg computes it. 0 means no filter.",
            "default": "0"
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "day",
              "days2",
              "days3",
              "week",
              "weeks2",
              "weeks3",
              "month"
            ],
            "type": "string",
            "description": "Only ads created in this period.",
            "default": "any"
          },
          "searchText": {
            "title": "Keyword",
            "type": "string",
            "description": "Free text searched in the ads (a street, a complex name, a word such as ремонт). For the agencies and developers record types it keeps only the names that contain it.",
            "default": ""
          },
          "agencies": {
            "title": "Agencies",
            "type": "array",
            "description": "Only ads of these agencies, specialists or developers. Write the account name as on house.kg/business/companies (part of the name is enough) or its slug. Each agency is scanned in turn.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "recentlyUpdated",
              "newest",
              "priceLow",
              "priceHigh",
              "mostViewed",
              "mostFavorited",
              "pricePerM2Low",
              "pricePerM2High"
            ],
            "type": "string",
            "description": "Order of the ads. Recently refreshed is the site default and puts every bumped ad first; Newest first orders by the date the ad was created.",
            "default": "recentlyUpdated"
          },
          "updatedSince": {
            "title": "Updated since",
            "type": "string",
            "description": "Only ads created, edited or refreshed after this moment, as a date (2026-10-01) or date and time (2026-10-01T08:00:00+06:00). A time without a zone is read as Bishkek time (UTC+6). With the default sort the scan stops early once the older ads begin.",
            "default": ""
          },
          "maxRunSeconds": {
            "title": "Max run time (seconds)",
            "minimum": 30,
            "maximum": 86400,
            "type": "integer",
            "description": "Stop collecting after this many seconds and return what was gathered, so a very wide search never runs unbounded. House.kg serves about one results page per second.",
            "default": 3600
          },
          "onlyNew": {
            "title": "Only new rows (monitor mode)",
            "type": "boolean",
            "description": "Only new rows: skip every ad, agency, developer or complex this same search already returned in an earlier run, so a scheduled run returns just the new ones and you are not charged for skipped rows. Max Items then means N new rows. Off by default.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (optional)",
            "type": "string",
            "description": "Name of this monitor. Leave empty to derive it from your filters. Use a name to run two monitors with the same filters.",
            "default": ""
          },
          "resetSeen": {
            "title": "Forget previously seen rows",
            "type": "boolean",
            "description": "Clear the saved list for this monitor before the run, so everything counts as new again.",
            "default": false
          },
          "includeContactDetails": {
            "title": "Include business contact data",
            "type": "boolean",
            "description": "Keep the public contact data of businesses: phone numbers and e-mail of agencies and developers, the agency phone on its ads, and numbers written inside business descriptions. Private sellers' phones, names and e-mails are always removed, whatever this says. Off by default.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed: house.kg is read directly from the Apify cloud. Switch it on only as a fallback if the site starts refusing requests; the actor then sends them through the Apify proxy you choose.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}