{
  "openapi": "3.0.1",
  "info": {
    "title": "2GIS Scraper (Phones, Emails, Reviews) | Парсер 2ГИС API",
    "description": "2GIS scraper and API - extract phones, emails, reviews, and photos from 207 cities across 20 countries. 1,000 places in 90 seconds. 731 categories, 20+ filters, branch discovery. Парсер 2ГИС: телефоны, email, отзывы и фото организаций. Экспорт в JSON, CSV, Excel.",
    "version": "0.0",
    "x-build-id": "Otmix03pMssNJCNHU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~2gis-places-scraper-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-2gis-places-scraper-api",
        "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~2gis-places-scraper-api/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-2gis-places-scraper-api",
        "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~2gis-places-scraper-api/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-2gis-places-scraper-api",
        "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": "Ссылки 2ГИС (2GIS URLs)",
            "type": "array",
            "description": "Вставьте ссылки на места или результаты поиска 2ГИС. Поддерживает ссылки на места (/firm/ID), страницы поиска (/search/запрос), короткие ссылки (go.2gis.com) и числовые ID. Фильтры из URL применяются автоматически. Если указаны, все поля кроме отзывов, фото и прокси игнорируются. (Paste 2GIS place or search URLs. Supports /firm/ID, /search/query, go.2gis.com short links, plain IDs. Filters from URL are applied automatically. When provided, all fields except reviews, photos, and proxy are ignored.)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "query": {
            "title": "Поисковые запросы (Search queries)",
            "type": "array",
            "description": "Список запросов для поиска. Каждый запрос — отдельный поиск. Используйте разные формулировки для широкого охвата. Игнорируется если указаны ссылки выше. (Each query runs as a separate search. Ignored when URLs are provided above.)",
            "default": [
              "restaurant"
            ],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Местоположение (Location)",
            "type": "string",
            "description": "Введите название города из 2ГИС. Можно на русском или английском. Выберите из подсказок или введите свой город. (Enter a 2GIS city name in Russian or English. Pick a suggestion or type your own.)",
            "default": "Moscow"
          },
          "country": {
            "title": "Страна (Country)",
            "enum": [
              "",
              "RU",
              "KZ",
              "AE",
              "UZ",
              "KG",
              "AM",
              "GE",
              "AZ",
              "BY",
              "TJ",
              "SA",
              "BH",
              "KW",
              "QA",
              "OM",
              "IQ",
              "CL",
              "CZ",
              "IT",
              "CY"
            ],
            "type": "string",
            "description": "Уточняет поиск, если название города совпадает в разных странах. Обычно не требуется. (Narrows location when city names exist in multiple countries. Usually not needed.)",
            "default": ""
          },
          "language": {
            "title": "Язык (Language)",
            "enum": [
              "auto",
              "ru",
              "en",
              "ar",
              "kk",
              "uz",
              "ky",
              "hy",
              "ka",
              "az",
              "tg",
              "cs",
              "es",
              "it"
            ],
            "type": "string",
            "description": "Язык выдачи. По умолчанию определяется автоматически по региону. (Output language, auto-detected from region.)",
            "default": "auto"
          },
          "maxResults": {
            "title": "Макс. результатов на запрос (Max results)",
            "minimum": 0,
            "type": "integer",
            "description": "Максимальное количество мест на один поисковый запрос. 0 = без ограничений. (Max places per query. 0 = unlimited.)",
            "default": 100
          },
          "categoryFilter": {
            "title": "Фильтр по категории (Category filter)",
            "type": "array",
            "description": "Выберите из популярных категорий или введите любое название (рус/англ) — нечёткий поиск по 731 категориям 2ГИС. Пусто = все. (Pick from suggestions or type any name — fuzzy-matched against 731 categories.)",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "accounting",
                "air conditioners",
                "aquariums",
                "audio video equipment",
                "baby products",
                "bakeries",
                "banquet halls",
                "banks",
                "barbershops",
                "bars",
                "baths and saunas",
                "billiard halls",
                "books",
                "cafes",
                "car dealers",
                "car service",
                "car washes",
                "catering",
                "childrens clothing",
                "cinemas",
                "coffee points",
                "coffee shops",
                "computers",
                "concert halls",
                "cosmetologist",
                "cosmetics and perfumes",
                "coworking",
                "dance classes",
                "delivery",
                "dental clinics",
                "dry cleaning",
                "event planning",
                "eyebrow and lash styling",
                "fast food",
                "fitness clubs",
                "fitness studios",
                "flowers",
                "food malls",
                "grocery stores",
                "gyms",
                "hair removal",
                "hairdressers",
                "home appliances",
                "hospitals",
                "hostels",
                "hotels",
                "hypermarkets",
                "insurance",
                "interior design",
                "jewelry",
                "kindergartens",
                "language schools",
                "legal services",
                "makeup artists",
                "medical centers",
                "mens clothing",
                "mobile phones",
                "museums",
                "nail studios",
                "night clubs",
                "notaries",
                "parks",
                "pet supplies",
                "pharmacies",
                "philharmonic",
                "pizzerias",
                "plumbing",
                "post office",
                "real estate agencies",
                "recruitment agencies",
                "renovations",
                "restaurants",
                "schools",
                "shoe stores",
                "souvenirs",
                "spa",
                "sports schools",
                "sportswear",
                "supermarkets",
                "sushi bars",
                "swimming pools",
                "tailoring",
                "tanning studios",
                "tattoo studios",
                "theaters",
                "tires and wheels",
                "tourism supplies",
                "toys",
                "translation services",
                "universities",
                "veterinary clinics",
                "water parks",
                "womens clothing",
                "yoga centers",
                "zoo"
              ]
            },
            "default": []
          },
          "filterRating": {
            "title": "Минимальный рейтинг (Min rating)",
            "enum": [
              "",
              "perfect",
              "excellent",
              "pretty_good",
              "nice",
              "not_bad"
            ],
            "type": "string",
            "description": "Фильтр по минимальному порогу рейтинга. (Filter by rating threshold.)",
            "default": ""
          },
          "sortBy": {
            "title": "Сортировка (Sort by)",
            "enum": [
              "",
              "rating",
              "opened_time",
              "name"
            ],
            "type": "string",
            "description": "Порядок сортировки результатов. (Sort order for results.)",
            "default": ""
          },
          "filterWebsite": {
            "title": "Фильтр по сайту (Website filter)",
            "enum": [
              "all",
              "withWebsite",
              "withoutWebsite"
            ],
            "type": "string",
            "description": "Фильтрация по наличию сайта. Полезно для лидогенерации. (Filter by website presence. Useful for lead gen.)",
            "default": "all"
          },
          "skipClosedPlaces": {
            "title": "Пропускать закрытые (Skip closed)",
            "type": "boolean",
            "description": "Пропускать навсегда закрытые места. (Skip permanently closed places.)",
            "default": false
          },
          "searchMatching": {
            "title": "Совпадение с запросом (Search matching)",
            "enum": [
              "all",
              "only_includes",
              "only_exact"
            ],
            "type": "string",
            "description": "Насколько точно название места должно совпадать с поисковым запросом. (How closely place name must match the query.)",
            "default": "all"
          },
          "filterHasPhotos": {
            "title": "Есть фото (Has photos)",
            "type": "boolean",
            "description": "Только места с фотографиями. (Only places with photos.)",
            "default": false
          },
          "filter24h": {
            "title": "Круглосуточно (Open 24/7)",
            "type": "boolean",
            "description": "Только круглосуточные места. (Only 24-hour places.)",
            "default": false
          },
          "filterNewPlaces": {
            "title": "Недавно открытые (Recently opened)",
            "type": "boolean",
            "description": "Только недавно открытые места. (Only recently opened.)",
            "default": false
          },
          "filterDelivery": {
            "title": "Есть доставка (Delivery)",
            "type": "boolean",
            "description": "Есть услуга доставки. (Has delivery service.)",
            "default": false
          },
          "filterTakeaway": {
            "title": "Навынос (Takeaway)",
            "type": "boolean",
            "description": "Есть выдача навынос. (Has takeaway/pickup.)",
            "default": false
          },
          "filterCardPayment": {
            "title": "Оплата картой (Card payment)",
            "type": "boolean",
            "description": "Принимает оплату картой. (Accepts card payment.)",
            "default": false
          },
          "filterWifi": {
            "title": "Есть WiFi (WiFi)",
            "type": "boolean",
            "description": "Есть WiFi. (WiFi available.)",
            "default": false
          },
          "filterHasGoods": {
            "title": "Есть товары/цены (Has goods)",
            "type": "boolean",
            "description": "Есть прайс-лист или товары на 2ГИС. (Has prices/goods listed on 2GIS.)",
            "default": false
          },
          "filterAvgPriceMin": {
            "title": "Мин. средний чек (Min avg check)",
            "minimum": 0,
            "type": "integer",
            "description": "Минимальная сумма среднего чека в местной валюте. (Min average check in local currency.)"
          },
          "filterAvgPriceMax": {
            "title": "Макс. средний чек (Max avg check)",
            "minimum": 0,
            "type": "integer",
            "description": "Максимальная сумма среднего чека в местной валюте. (Max average check in local currency.)"
          },
          "maxReviews": {
            "title": "Макс. отзывов на место (Max reviews)",
            "minimum": 0,
            "type": "integer",
            "description": "Макс. отзывов на одно место. 0 = выключено, 99999 = все. (0 = disabled, 99999 = all.)",
            "default": 0
          },
          "reviewsRating": {
            "title": "Тональность отзывов (Reviews sentiment)",
            "enum": [
              "all",
              "positive",
              "negative"
            ],
            "type": "string",
            "description": "Фильтр по тональности: положительные (4-5★) или отрицательные (1-2★). (Filter by sentiment: positive or negative reviews.)",
            "default": "all"
          },
          "reviewsWithAnswer": {
            "title": "Только с ответом (With business reply)",
            "type": "boolean",
            "description": "Только отзывы, на которые бизнес ответил. (Only reviews that have an official business reply.)",
            "default": false
          },
          "reviewsStartDate": {
            "title": "Дата начала отзывов (Start date)",
            "type": "string",
            "description": "Только отзывы после этой даты. Формат: ГГГГ-ММ-ДД, напр. 2024-06-01. (Only reviews after this date. YYYY-MM-DD.)",
            "default": ""
          },
          "reviewsTopic": {
            "title": "Тема отзывов (Review topic)",
            "type": "string",
            "description": "Серверный фильтр по теме отзывов. Выберите из подсказок или введите своё значение. Темы зависят от места — доступные темы будут в поле reviewTopics. (Server-side topic filter. Pick a suggestion or type your own. Available topics per place listed in reviewTopics output field.)",
            "default": ""
          },
          "reviewsFilterKeyword": {
            "title": "Ключевое слово в отзывах (Keyword filter)",
            "type": "string",
            "description": "Извлекать только отзывы, содержащие это слово (клиентский фильтр). (Client-side text search within reviews.)",
            "default": ""
          },
          "reviewsSource": {
            "title": "Источник отзывов (Reviews source)",
            "enum": [
              "all",
              "2gis",
              "flamp",
              "booking"
            ],
            "type": "string",
            "description": "Фильтр по площадке-источнику отзывов. (Filter by source platform.)",
            "default": "all"
          },
          "maxPhotos": {
            "title": "Макс. фото на место (Max photos)",
            "minimum": 0,
            "type": "integer",
            "description": "Макс. фото на одно место. 0 = выключено, 99999 = все. (0 = disabled, 99999 = all.)",
            "default": 0
          },
          "photoCategories": {
            "title": "Категории фото (Photo categories)",
            "type": "array",
            "description": "Извлекать фото только этих категорий. Пусто = все. (Only these photo categories. Empty = all.)",
            "items": {
              "type": "string",
              "enum": [
                "food_and_drinks",
                "price_list_image",
                "interior",
                "outside",
                "veranda",
                "atmosphere",
                "owner",
                "user",
                "video",
                "rooms",
                "pool",
                "spa",
                "fitness",
                "kidszone",
                "staff",
                "view",
                "parking",
                "entertainment"
              ],
              "enumTitles": [
                "Еда и напитки (Food)",
                "Меню/прайс (Menu)",
                "Интерьер (Interior)",
                "Снаружи (Outside)",
                "Веранда (Veranda)",
                "Атмосфера",
                "От владельца (Owner)",
                "От посетителей (Visitors)",
                "Видео (Video)",
                "Номера (Rooms)",
                "Бассейн (Pool)",
                "Спа (Spa)",
                "Фитнес (Fitness)",
                "Детская зона (Kids)",
                "Персонал (Staff)",
                "Вид (View)",
                "Парковка (Parking)",
                "Развлечения (Entertainment)"
              ]
            },
            "default": []
          },
          "scrapeOrgBranches": {
            "title": "Собирать филиалы (Scrape branches)",
            "type": "boolean",
            "description": "Для каждого найденного места дополнительно собрать все филиалы той же организации. Полезно для сетевых бизнесов. (Also scrape all branches of found organizations.)",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Прокси (Proxy)",
            "type": "object",
            "description": "Настройка прокси. (Proxy configuration.)"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}