{
  "openapi": "3.0.1",
  "info": {
    "title": "2GIS Reviews Scraper | Ratings, Photos and Owner Replies",
    "description": "2GIS reviews scraper (2ГИС, Парсер отзывов 2ГИС): 100 reviews in 3 seconds, 42 fields each. Get stars, text, dates, author, photos, videos, owner replies, verified visits and the place address, phone, rating and coordinates. Paste place links from any 2GIS city site. No login and no API key.",
    "version": "1.0",
    "x-build-id": "DAuU9Rnc5GEU16O08"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~2gis-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-2gis-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/silentflow~2gis-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-2gis-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/silentflow~2gis-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-2gis-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": "🔗 2GIS links",
            "type": "array",
            "description": "Paste links from any 2GIS site (2gis.ru, 2gis.kz, 2gis.ae, 2gis.uz...). A place link (<code>https://2gis.ru/moscow/firm/4504127908731515</code>, with or without <code>/tab/reviews</code>) returns its reviews; a search link (<code>https://2gis.ru/moscow/search/кофейня</code>) returns the reviews of the places it lists; a chain link (<code>https://2gis.ru/moscow/branches/70000001086813549</code>) returns the reviews of its branches in that city. Short links <code>go.2gis.com/…</code> work too.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "🔎 Search terms",
            "type": "array",
            "description": "No links yet? Type what you look for, in Russian, English or the local language: <code>кофейня</code>, <code>стоматология</code>, <code>hotel</code>, a brand like <code>Вкусно и точка</code>. Each term returns the reviews of the first places 2GIS lists for it in the city below, up to <b>Max places per search</b>.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "📍 City",
            "type": "string",
            "description": "Where the search terms run. Pick a city or type any 2GIS city in English, Russian or the local language (<code>Almaty</code>, <code>Екатеринбург</code>, <code>Dubai</code>). Empty means Moscow. Links and place IDs ignore it: they carry their own city."
          },
          "placeIds": {
            "title": "🆔 Place IDs",
            "type": "array",
            "description": "2GIS place IDs, for example <code>70000001057394703</code>: the <code>placeId</code> column of a previous run, or the number after <code>/firm/</code> in a place link. Handy to follow the same places every week.",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerPlace": {
            "title": "💬 Max reviews per place",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each place after this many reviews, in the order below. <code>0</code> reads every review of the place: Moscow Zoo has more than 6,000.",
            "default": 100
          },
          "maxPlaces": {
            "title": "🏢 Max places per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "For search terms, search links and chain links: how many places with reviews to read, in the order 2GIS lists them. Places without a review are skipped and not counted.",
            "default": 10
          },
          "maxItems": {
            "title": "🔢 Max reviews in total",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many reviews, all places together. One review is one row.",
            "default": 1000
          },
          "sortBy": {
            "title": "↕️ Order",
            "enum": [
              "newest",
              "edited",
              "trusted"
            ],
            "type": "string",
            "description": "Newest first follows what visitors say this week; last edited first catches reviews rewritten after an owner's reply; most trusted first puts confirmed visits and detailed reviews on top, as the 2GIS app does.",
            "default": "newest"
          },
          "ratings": {
            "title": "⭐ Stars",
            "type": "array",
            "description": "Keep only these star ratings. Pick 1 and 2 stars to read what customers complain about. Empty keeps every rating.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "dateFrom": {
            "title": "📅 Reviews since",
            "type": "string",
            "description": "Only keep reviews posted on or after this date: <code>2026-01-01</code>, or an age such as <code>30 days</code> for a monthly schedule. With newest first, each place stops at the first older review. Empty keeps every date."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}