{
  "openapi": "3.0.1",
  "info": {
    "title": "Yandex Maps Quick Scraper",
    "description": "[💰 $1.00 / 1K] Extract Yandex Maps businesses with phones, emails, websites, ratings, reviews, photos, opening hours, and 60+ more fields. Search by query + city, by 100+ categories, or by direct Yandex business ID. Optional contact-scraping from each place's website. Pay only for what you collect.",
    "version": "0.7",
    "x-build-id": "sGlrjyUffSz6GcjUf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kitcunemia~yandex-maps-places-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kitcunemia-yandex-maps-places-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/kitcunemia~yandex-maps-places-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kitcunemia-yandex-maps-places-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/kitcunemia~yandex-maps-places-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kitcunemia-yandex-maps-places-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": {
          "query": {
            "title": "🔎 Search queries",
            "type": "array",
            "description": "One or more queries, just like you'd type into the Yandex Maps search bar.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Location",
            "uniqueItems": true,
            "type": "array",
            "description": "Pick one or more Russian cities, or type a custom city of your own. Each query is run for every selected city. Leave empty to search without a city scope.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "Moscow",
                "Saint Petersburg",
                "Novosibirsk",
                "Yekaterinburg",
                "Kazan",
                "Nizhny Novgorod",
                "Chelyabinsk",
                "Samara",
                "Omsk",
                "Rostov-on-Don",
                "Ufa",
                "Krasnoyarsk",
                "Voronezh",
                "Perm",
                "Volgograd",
                "Krasnodar",
                "Saratov",
                "Tyumen",
                "Tolyatti",
                "Izhevsk",
                "Barnaul",
                "Ulyanovsk",
                "Irkutsk",
                "Khabarovsk",
                "Yaroslavl",
                "Vladivostok",
                "Makhachkala",
                "Tomsk",
                "Orenburg",
                "Kemerovo",
                "Novokuznetsk",
                "Ryazan",
                "Astrakhan",
                "Naberezhnye Chelny",
                "Penza",
                "Lipetsk",
                "Kirov",
                "Cheboksary",
                "Tula",
                "Kaliningrad",
                "Balashikha",
                "Kursk",
                "Stavropol",
                "Sevastopol",
                "Sochi",
                "Ulan-Ude",
                "Tver",
                "Magnitogorsk",
                "Ivanovo",
                "Bryansk",
                "Surgut",
                "Vladimir",
                "Chita",
                "Arkhangelsk",
                "Kaluga",
                "Smolensk",
                "Volzhsky",
                "Kurgan",
                "Oryol",
                "Cherepovets",
                "Vologda",
                "Yakutsk",
                "Saransk",
                "Podolsk",
                "Tambov",
                "Grozny",
                "Sterlitamak",
                "Petrozavodsk",
                "Kostroma",
                "Nizhnevartovsk",
                "Yoshkar-Ola",
                "Novorossiysk",
                "Komsomolsk-on-Amur",
                "Taganrog",
                "Syktyvkar",
                "Nalchik",
                "Shakhty",
                "Dzerzhinsk",
                "Orsk",
                "Bratsk",
                "Blagoveshchensk",
                "Engels",
                "Angarsk",
                "Veliky Novgorod",
                "Stary Oskol",
                "Pskov",
                "Biysk",
                "Prokopyevsk",
                "Balakovo",
                "Rybinsk",
                "Armavir",
                "Severodvinsk",
                "Abakan"
              ]
            }
          },
          "maxItems": {
            "title": "💯 Number of places to extract (per each search term)",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of places to collect per query / city pair.",
            "default": 20
          },
          "language": {
            "title": "🟢 Language",
            "enum": [
              "EN",
              "RU",
              "BY",
              "KK",
              "TR",
              "AZ"
            ],
            "type": "string",
            "description": "Selects the Yandex Maps regional domain used for searching (RU → yandex.ru, BY → yandex.by, EN → yandex.com, KK → yandex.kz, TR → yandex.com.tr, AZ → yandex.az). The proxy exit-IP country is configured automatically to match — no manual proxy settings required. Use **Belarusian** when scraping places in Minsk / Gomel / Brest etc. to avoid captchas.",
            "default": "RU"
          },
          "ratingFilter": {
            "title": "Rating",
            "enum": [
              "any",
              "4.9",
              "4.7",
              "4.5",
              "4.0",
              "3.5",
              "3.0"
            ],
            "type": "string",
            "description": "Minimum average rating threshold.",
            "default": "any"
          },
          "priceCategories": {
            "title": "Price categories",
            "type": "array",
            "description": "Optional price-bucket filter. Multi-select.",
            "items": {
              "type": "string",
              "enum": [
                "price_cheap",
                "price_average",
                "price_expensive",
                "price_very_expensive"
              ],
              "enumTitles": [
                "Low",
                "Average",
                "Above average",
                "High"
              ]
            }
          },
          "goodPlaceOnly": {
            "title": "Good place",
            "type": "boolean",
            "description": "Keep only places that look like a 'good place' — rating ≥ 4.5 with ≥ 50 reviews.",
            "default": false
          },
          "categoryIds": {
            "title": "Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional list of business categories. Multi-select with bilingual labels.",
            "items": {
              "type": "string",
              "enum": [
                "Auto studio / Автоателье",
                "Carwash / Автомойка",
                "Auto repair shop / Автосервис, автотехцентр",
                "Car towing and servicing / Автотехпомощь, эвакуация автомобилей",
                "Car tuning studio / Студия автотюнинга",
                "Body repairs / Кузовной ремонт",
                "Vehicle alterations / Переоборудование транспортных средств",
                "Transmission repairs / Ремонт АКПП",
                "Tire fitting / Шиномонтаж",
                "Auto parts / Автозапчасти",
                "Gas station / АЗС",
                "Car dealership / Автосалон",
                "Car wash self-service / Мойка самообслуживания",
                "Car rental / Прокат автомобилей",
                "Restaurant / Ресторан",
                "Cafe / Кафе",
                "Pizzeria / Пиццерия",
                "Bar / Бар, паб",
                "Coffee shop / Кофейня",
                "Fast food / Быстрое питание",
                "Bakery / Пекарня",
                "Sushi bar / Суши-бар",
                "Confectionery / Кондитерская",
                "Canteen / Столовая",
                "Food delivery / Доставка еды",
                "Beauty salon / Салон красоты",
                "Hairdresser / Парикмахерская",
                "Nail salon / Маникюрный салон",
                "Spa salon / Спа-салон",
                "Massage parlor / Массажный салон",
                "Tattoo studio / Тату-салон",
                "Cosmetology / Косметология",
                "Pharmacy / Аптека",
                "Hospital / Больница",
                "Clinic / Клиника",
                "Dental clinic / Стоматология",
                "Veterinary clinic / Ветклиника",
                "Medical center / Медицинский центр",
                "Diagnostic center / Диагностический центр",
                "Shopping mall / Торговый центр",
                "Supermarket / Супермаркет",
                "Grocery store / Продуктовый магазин",
                "Electronics store / Магазин электроники",
                "Clothing store / Магазин одежды",
                "Bookstore / Книжный магазин",
                "Furniture store / Мебельный магазин",
                "Hardware store / Хозтовары",
                "Sporting goods / Спортивные товары",
                "Pet shop / Зоомагазин",
                "Toy store / Магазин игрушек",
                "Jewelry store / Ювелирный магазин",
                "Florist / Цветочный магазин",
                "Hotel / Гостиница",
                "Hostel / Хостел",
                "Apartments / Апартаменты",
                "Resort / Курорт",
                "Cinema / Кинотеатр",
                "Theater / Театр",
                "Museum / Музей",
                "Park / Парк",
                "Nightclub / Ночной клуб",
                "Bowling / Боулинг",
                "Karaoke club / Караоке-клуб",
                "Quest room / Квест-комната",
                "Amusement park / Парк развлечений",
                "Art gallery / Художественная галерея",
                "School / Школа",
                "Kindergarten / Детский сад",
                "University / Университет",
                "Language school / Языковая школа",
                "Driving school / Автошкола",
                "Tutoring / Репетитор",
                "Library / Библиотека",
                "Gym / Спортзал, тренажёрный зал",
                "Fitness center / Фитнес-центр",
                "Swimming pool / Бассейн",
                "Yoga studio / Йога-студия",
                "Stadium / Стадион",
                "Martial arts / Боевые искусства",
                "Dance studio / Танцевальная студия",
                "Bank / Банк",
                "ATM / Банкомат",
                "Currency exchange / Обмен валют",
                "Insurance / Страхование",
                "Notary / Нотариус",
                "Lawyer / Юридические услуги",
                "Accountant / Бухгалтерские услуги",
                "Real estate agency / Агентство недвижимости",
                "Travel agency / Турагентство",
                "Post office / Почта",
                "Police / Полиция",
                "Government office / Госучреждение",
                "Embassy / Посольство",
                "Church / Церковь",
                "Mosque / Мечеть",
                "Synagogue / Синагога",
                "Cemetery / Кладбище",
                "Construction company / Строительная компания",
                "Repair service / Ремонтная мастерская",
                "Cleaning service / Клининговая компания",
                "Locksmith / Слесарная мастерская",
                "Photo studio / Фотостудия",
                "Print shop / Полиграфия",
                "Coworking / Коворкинг"
              ]
            }
          },
          "enableGlobalDataset": {
            "title": "Append to global dataset (global deduplication only)",
            "type": "boolean",
            "description": "When enabled, unique places are also appended to a persistent global dataset.",
            "default": false
          },
          "maxPhotos": {
            "title": "Number of additional images to extract ($)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Max additional photo URLs per place (capped at ~10 by Yandex SSR). 0 disables additional photos.",
            "default": 0
          },
          "includePhotoAuthors": {
            "title": "🤓 👀 Include image authors",
            "type": "boolean",
            "description": "Include author metadata for additional images when available.",
            "default": false
          },
          "maxReviews": {
            "title": "Number of reviews to extract ($)",
            "minimum": 0,
            "maximum": 99999,
            "type": "integer",
            "description": "Max number of reviews to collect per place. 0 disables reviews.",
            "default": 0
          },
          "reviewsSort": {
            "title": "Reviews sorting",
            "enum": [
              "by_relevance_org",
              "by_time",
              "by_rating_desc",
              "by_rating_asc"
            ],
            "type": "string",
            "description": "Sort order used while collecting reviews.",
            "default": "by_relevance_org"
          },
          "includeReviewerData": {
            "title": "🙋 Include reviewers' data",
            "type": "boolean",
            "description": "Include reviewer profile fields when available.",
            "default": true
          },
          "scrapeContactsFromWebsite": {
            "title": "📧 Email & phones from website",
            "type": "boolean",
            "description": "When enabled, the actor visits each place's website and extracts email addresses and phone numbers (mailto: / tel: / contact pages) into the `emails` and `websitePhones` fields.",
            "default": false
          },
          "includeMenu": {
            "title": "🍽 Collect menu",
            "type": "boolean",
            "description": "Collect menu sections and menu items when available.",
            "default": false
          },
          "organizationIds": {
            "title": "🏢 Organization IDs",
            "type": "array",
            "description": "Optional list of Yandex business OIDs. When set, the actor opens each organization directly. Reviews are still collected per place when **Number of reviews to extract** is greater than zero.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}