{
  "openapi": "3.0.1",
  "info": {
    "title": "Yandex Maps Reviews Scraper Отзывы Яндекс Карт [Only $1.5]",
    "description": "[Only $1.50 per 1000 reviews] Scrape Yandex Maps (Яндекс Карты) reviews with no login: text, stars, date, owner reply, photos, videos, author and translations, plus each business's topic sentiment (food, service, staff: positive vs negative). Links, IDs or a city search. Up to ~1,200 a place.",
    "version": "0.0",
    "x-build-id": "5SPJ9adfOBMq4htkm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~yandex-maps-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-yandex-maps-reviews-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/memo23~yandex-maps-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-yandex-maps-reviews-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/memo23~yandex-maps-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-yandex-maps-reviews-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": "Business or search links",
            "type": "array",
            "description": "Links copied from Yandex Maps, one per line. A business page (yandex.com/maps/org/floo/1736003187/), its reviews tab or a short share link (yandex.ru/maps/-/…) gives that business's reviews. A search page (yandex.ru/maps/213/moscow/search/кафе/) gives reviews from the businesses it lists, up to “Businesses per search”. Links on .ru, .com, .com.tr, .kz, .by and .uz all work.",
            "items": {
              "type": "string"
            }
          },
          "businessIds": {
            "title": "Yandex org IDs",
            "type": "array",
            "description": "The number at the end of a /maps/org/ link, e.g. 1736003187 for yandex.com/maps/org/floo/1736003187/. Anything that is not a digit is dropped. The Yandex Maps Scraper outputs this number as placeId.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Find businesses by search",
            "type": "array",
            "description": "What you would type into Yandex Maps, one per line, e.g. “стоматология” or “coffee”. Each query runs in the search area below, and the reviews of the businesses it returns are collected.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Search area",
            "type": "string",
            "description": "City, region or country the search queries run in, e.g. “Kazan”, “Казань” or “Istanbul”. Moscow when left empty. Search links ignore it, since they carry their own map area."
          },
          "language": {
            "title": "Language of business details",
            "enum": [
              "en",
              "ru",
              "tr",
              "uk",
              "kk"
            ],
            "type": "string",
            "description": "The language Yandex uses for business names, addresses and categories. Review topics come in Russian on a Russian run and in English on any other. Reviews stay in the language they were written in; Yandex's translations of them, where it has some, are in each row's translations field.",
            "default": "en"
          },
          "minRating": {
            "title": "Lowest star rating to keep",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Empty keeps every rating. 4 keeps 4- and 5-star reviews. Yandex has no star filter, so the scraper reads every review and drops the rest; dropped reviews cost nothing."
          },
          "maxRating": {
            "title": "Highest star rating to keep",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Empty keeps every rating. 2 collects complaints: 1- and 2-star reviews only. Set both this and the lowest rating to keep a range, e.g. 3 and 3 for the middling ones."
          },
          "reviewSort": {
            "title": "Reading order",
            "enum": [
              "newest",
              "relevance",
              "highest",
              "lowest"
            ],
            "type": "string",
            "description": "Decides which reviews you get when a business has more than “Reviews per business”. Yandex lists at most 600 reviews in one order; past that, the scraper also reads the other three orders and skips repeats. Each row's sortOrder says which order it came from.",
            "default": "newest"
          },
          "maxReviewsPerPlace": {
            "title": "Reviews per business",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "The most reviews to keep from one business. 0 takes everything Yandex lists: all of them up to 600, and above that whatever the four orders reach together (1,187 of 1,798 on one Moscow cafe).",
            "default": 100
          },
          "maxPlaces": {
            "title": "Businesses per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many businesses each search query or search link takes reviews from, in the order Yandex lists them. Up to 1,000.",
            "default": 10
          },
          "maxItems": {
            "title": "Reviews in total",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many reviews across all businesses, or earlier at your spending limit. On the free Apify plan a run stops at 100.",
            "default": 1000
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave empty and the scraper uses its own residential proxy. To use yours, turn on Apify Proxy with the groups you want or add your own proxy URLs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}