{
  "openapi": "3.0.1",
  "info": {
    "title": "Авито Недвижимость: Парсер / Avito Real Estate Scraper",
    "description": "Парсер недвижимости Авито: квартиры, комнаты, дома, участки, коммерческая недвижимость и гаражи. Аренда, продажа, посуточно и отели. Цена за м², площадь, этаж, адрес, координаты, продавец.",
    "version": "0.0",
    "x-build-id": "OUx3mnXH5hWORWkT7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~avito-realty-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-avito-realty-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/zen-studio~avito-realty-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-avito-realty-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/zen-studio~avito-realty-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-avito-realty-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": {
          "searchUrl": {
            "title": "URL поиска (Search URL)",
            "type": "string",
            "description": "Вставьте ссылку на поиск или категорию с сайта. Её фильтры применяются автоматически, а поля ниже дополняют её там, где в ней ничего не задано: цена, продавец, сортировка и фильтры (комнаты, площадь, этаж и остальные). В пути должен быть раздел недвижимости вместе с типом сделки: одного города мало, а чтобы добавить фильтр, мало и одного раздела (/tyumen/kommercheskaya_nedvizhimost/prodam). Поля «Тип недвижимости» и «Тип сделки» ссылка не учитывает. (Paste a search or category URL. Its own filters are used, and the fields below fill in where it is silent: price, seller, sort and the filter fields. Its path must name a property section together with the deal, because the same filter means something different in each. propertyType and dealType are not read while a URL is set.)"
          },
          "propertyType": {
            "title": "Тип недвижимости (Property type)",
            "enum": [
              "apartments",
              "rooms",
              "houses",
              "land",
              "commercial",
              "garages",
              "foreign",
              "hotels"
            ],
            "type": "string",
            "description": "Что искать. Отели идут только посуточно и приносят номера с ценами. (What to look for. Hotels are daily only and come with their rooms and rates.)",
            "default": "apartments"
          },
          "dealType": {
            "title": "Тип сделки (Deal type)",
            "enum": [
              "sale",
              "rent",
              "daily",
              "new",
              "resale"
            ],
            "type": "string",
            "description": "Продажа или аренда. Посуточно есть у квартир, комнат, домов и отелей; у отелей только посуточно. Новостройки и вторичка разделены только у квартир: в остальных разделах вторичка это та же продажа. (Sale or rent. Daily applies to apartments, rooms, houses and hotels; hotels are daily only. New-build and resale are separate for apartments only: everywhere else resale is the same listings as sale.)",
            "default": "sale"
          },
          "location": {
            "title": "Местоположение (Location)",
            "type": "string",
            "description": "Город или регион. Район не подходит как область поиска: укажите город или область. Город за рубежом подходит, страна целиком нет: для неё propertyType \"foreign\" и фильтр country. Название подходит на русском и на английском (Moscow, Nizhny Novgorod Oblast). (City or region. A district is not a search area, name the city or the region. A city abroad works; a whole country does not, use propertyType \"foreign\" with the country filter. The name works in Russian or in English (Moscow, Nizhny Novgorod Oblast).)",
            "default": "Россия"
          },
          "centerPoint": {
            "title": "Центр области поиска (Search area centre)",
            "type": "string",
            "description": "Широта и долгота через запятую, например 60.040234, 30.209975. Вместе с radiusKm ограничивает поиск областью вокруг этой точки: удобно, когда запуск идёт по расписанию и ссылку вставлять некуда. Координаты есть в адресе страницы карты на сайте. Область заменяет «Местоположение», а не расширяет его: искать будет только внутри прямоугольника вокруг точки, поэтому объявления города за его пределами не попадут. Чтобы искать по всему городу, оставьте это поле пустым или поставьте radiusKm = 0. Если ссылка в searchUrl уже задаёт область, побеждает она. (Latitude and longitude, comma separated. With radiusKm it limits the search to an area around that point, for scheduled runs where there is no URL to paste. The area replaces Location rather than widening it: the search runs inside the rectangle around the point only, so listings of the city outside it are not returned. To search the whole city, leave this empty or set radiusKm to 0. A map area in searchUrl wins over this.)"
          },
          "radiusKm": {
            "title": "Радиус, км (Radius, km)",
            "minimum": 0,
            "type": "integer",
            "description": "Сколько километров вокруг centerPoint искать. Радиус отсчитывается от centerPoint, а не от «Местоположения»: без точки он область не задаёт. Поставьте 0 или оставьте поле пустым, чтобы искать по всему «Местоположению». Область описывает прямоугольник вокруг круга, поэтому по углам захватывает чуть больше радиуса; точный круг отфильтруйте по latitude и longitude каждого объявления. (How many kilometres around centerPoint to search. The radius is measured from centerPoint, not from Location, so without a point it sets no area. Set 0, or leave it empty, to search the whole Location. The area is the rectangle around that circle, so it reaches a little beyond the radius at the corners; cut the exact circle with each listing's latitude and longitude.)"
          },
          "rooms": {
            "title": "Комнат (Rooms)",
            "type": "array",
            "description": "Например <code>[\"studio\", \"1\", \"2\"]</code>. Для квартир и домов; у комнат вместо этого фильтр «Комнат в квартире». (E.g. [\"studio\",\"1\",\"2\"]. Apartments and houses.)",
            "items": {
              "type": "string"
            }
          },
          "priceMin": {
            "title": "Цена от (Price from)",
            "type": "integer",
            "description": "Минимальная цена. Для аренды: за месяц. (Minimum price; per month for rentals.)"
          },
          "priceMax": {
            "title": "Цена до (Price to)",
            "type": "integer",
            "description": "Максимальная цена. Для аренды: за месяц. (Maximum price; per month for rentals.)"
          },
          "areaMin": {
            "title": "Площадь от (Area from)",
            "type": "integer",
            "description": "Минимальная площадь. (Minimum area.)"
          },
          "areaMax": {
            "title": "Площадь до (Area to)",
            "type": "integer",
            "description": "Максимальная площадь. (Maximum area.)"
          },
          "landAreaMin": {
            "title": "Участок от (Land from)",
            "type": "integer",
            "description": "Минимальная площадь участка. Только для домов; у участков это «Площадь от». (Minimum land area. Houses only; for land use the area fields.)"
          },
          "landAreaMax": {
            "title": "Участок до (Land to)",
            "type": "integer",
            "description": "Максимальная площадь участка. Только для домов; у участков это «Площадь до». (Maximum land area. Houses only; for land use the area fields.)"
          },
          "floorMin": {
            "title": "Этаж от (Floor from)",
            "type": "integer",
            "description": "Минимальный этаж. Квартиры и комнаты. У коммерческой недвижимости этаж задаётся выбором, а не числом: <code>filters: {\"floor\": \"Только первый\"}</code>, ещё <code>Не подвал</code> и <code>Не цоколь</code>. (Lowest floor. Apartments and rooms. Commercial states its floor as a choice, set in filters.)"
          },
          "floorMax": {
            "title": "Этаж до (Floor to)",
            "type": "integer",
            "description": "Максимальный этаж. Квартиры и комнаты. У коммерческой недвижимости этаж задаётся выбором, а не числом: <code>filters: {\"floor\": \"Только первый\"}</code>, ещё <code>Не подвал</code> и <code>Не цоколь</code>. (Highest floor. Apartments and rooms. Commercial states its floor as a choice, set in filters.)"
          },
          "notFirstFloor": {
            "title": "Не первый этаж (Not first floor)",
            "type": "boolean",
            "description": "Исключить первый этаж. Только для квартир и комнат, кроме посуточной аренды. (Exclude the first floor. Apartments and rooms only, and not on a daily search.)"
          },
          "notLastFloor": {
            "title": "Не последний этаж (Not last floor)",
            "type": "boolean",
            "description": "Исключить последний этаж. Только для квартир и комнат, кроме посуточной аренды. (Exclude the last floor. Apartments and rooms only, and not on a daily search.)"
          },
          "houseType": {
            "title": "Тип дома (House type)",
            "type": "string",
            "description": "Материал дома. Для домов это «Материал стен»: кирпич, брус, бревно. Только для квартир, комнат и домов, кроме посуточной аренды. (Building material; houses use their own wording. Apartments, rooms and houses only, and not on a daily search.)"
          },
          "renovation": {
            "title": "Ремонт (Renovation)",
            "type": "string",
            "description": "Варианты зависят от типа сделки: у продажи «С ремонтом» и «Без ремонта», у аренды и вторички ещё «Косметический», «Евро», «Дизайнерский». Только для квартир и домов, кроме посуточной аренды: у посуточного жилья этого фильтра нет, вместо него есть рейтинг жилья и список удобств в «Остальных фильтрах». (Options depend on the deal type. Apartments and houses only, and not on a daily search: a daily listing has no renovation filter, it has a guest rating and an amenities list in More filters.)"
          },
          "objectType": {
            "title": "Вид объекта (Object type)",
            "type": "string",
            "description": "Для коммерции: office, warehouse, retail, free_purpose, production, catering, hotel, coworking, storage, car_service, whole_building. Для домов: house, dacha, cottage, townhouse. Для гаражей: garage, parking_space. Для участков: категория земель (ИЖС, СНТ, ДНП, промназначения). Можно писать и название с сайта: Общепит, Кладовая. Кроме посуточной аренды. (Commercial, houses, garages and land each have their own list. Not on a daily search.)"
          },
          "buildingType": {
            "title": "Тип здания (Building type)",
            "type": "string",
            "description": "Только для коммерческой недвижимости: бизнес-центр, торговый центр, административное здание. (Commercial only.)"
          },
          "sellerType": {
            "title": "Продавец (Seller)",
            "enum": [
              "any",
              "owner",
              "agency"
            ],
            "type": "string",
            "description": "Собственники или агентства. (Private owners or agencies.)",
            "default": "any"
          },
          "metroWalkMinutes": {
            "title": "Пешком до метро, мин. (Metro walk, min)",
            "enum": [
              "5",
              "10",
              "15",
              "20",
              "30"
            ],
            "type": "string",
            "description": "Не дальше указанного числа минут пешком от метро. (Within this many minutes' walk of a metro station.)"
          },
          "descriptionKeywords": {
            "title": "Слова в описании (Words in description)",
            "type": "string",
            "description": "Например «балкон» или «без комиссии». Кроме посуточной аренды. (E.g. balcony or no commission. Not on a daily search.)"
          },
          "filters": {
            "title": "Остальные фильтры (More filters)",
            "type": "object",
            "description": "Любой фильтр раздела, которого нет отдельным полем: ключ это имя фильтра, значение это его значение. Отели: <code>{\"stars\": \"4\", \"meals\": \"Завтрак\"}</code>. Числовой фильтр можно задать как <code>{\"yearBuiltMin\": 2001, \"yearBuiltMax\": 2015}</code> или одним диапазоном <code>{\"yearBuilt\": {\"from\": 2001, \"to\": 2015}}</code>. Незнакомый фильтр остановит запуск и покажет, что доступно в этом разделе. (Any other filter of the section, keyed by name. A numeric filter takes Min / Max fields or one range. Unknown names stop the run and list what the section offers.)"
          },
          "checkIn": {
            "title": "Заезд (Check-in)",
            "type": "string",
            "description": "Только посуточно, в формате ГГГГ-ММ-ДД, не в прошлом. (Daily rentals only, YYYY-MM-DD, not in the past.)"
          },
          "checkOut": {
            "title": "Выезд (Check-out)",
            "type": "string",
            "description": "Только посуточно, в формате ГГГГ-ММ-ДД, минимум на день позже заезда. (Daily rentals only, YYYY-MM-DD, at least one day after check-in.)"
          },
          "guests": {
            "title": "Гостей (Guests)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Только посуточно и отели. Влияет на цену и на то, какое жильё доступно. (Daily rentals and hotels only. Affects the price and which places are available.)"
          },
          "childAges": {
            "title": "Возраст детей (Child ages)",
            "type": "array",
            "description": "Возраст каждого ребёнка в годах, 0-17. Отели подбирают номера и считают цену по возрасту детей. (Age of each child in years, 0-17. Hotels pick rooms and price them by these ages.)",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Сортировка (Sort)",
            "enum": [
              "newest",
              "cheapest",
              "expensive",
              "relevance"
            ],
            "type": "string",
            "description": "Порядок сортировки. (Sort order.)",
            "default": "newest"
          },
          "maxResults": {
            "title": "Макс. результатов (Max results)",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Максимум объявлений. (Maximum listings.)",
            "default": 100
          },
          "includeDetails": {
            "title": "Полные данные (Full details)",
            "type": "boolean",
            "description": "Адрес, координаты, описание, характеристики, продавец. (Address, coordinates, description, parameters, seller.)",
            "default": false
          },
          "includePhone": {
            "title": "Телефоны (Phone numbers)",
            "type": "boolean",
            "description": "Телефон продавца, где он открыт. Включает полные данные. У аренды номер часто скрыт за защищённым номером сайта. (Seller phone where published; includes full details.)",
            "default": false
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}