# 2GIS Reviews Scraper: Отзывы 2ГИС, Photos, Replies & Monitoring (`getascraper/2gis-reviews-scraper`) Actor

Export 2GIS (2ГИС) reviews by place ID or link: full text, stars, photos, reviewer details, owner replies and Flamp reviews. Filter by rating, date, keyword, source or unanswered, or schedule a monitor to get only new reviews. No login needed. JSON, CSV, Excel.

- **URL**: https://apify.com/getascraper/2gis-reviews-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Social media, Lead generation, SEO tools
- **Features:** Limited permissions
- **Stats:** 25 total users, 4 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.66 / 1,000 place reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 2GIS Reviews Scraper: Отзывы 2ГИС, Photos, Replies & Monitoring

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#EAF8EE;border:1px solid #C7EAD2;border-top:4px solid #1E9E4A;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every 2GIS review with its text, photos and business reply, exported to your spreadsheet in minutes.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Pull the reviews of any 2ГИС (2GIS) place: the words people wrote, the stars, who wrote them and how the business answered. Filter to the reviews you care about, or schedule a monitor that returns only what is new.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7EAD2;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#146B33">📝 Full text and photos</span><br>
<span style="font-size:12px;color:#57534E">The reviewer's own words, every photo link and the rating behind them.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7EAD2;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#146B33">💬 Business replies</span><br>
<span style="font-size:12px;color:#57534E">See who answered, when, and which complaints are still waiting for a reply.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7EAD2;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#146B33">🎯 Smart filters</span><br>
<span style="font-size:12px;color:#57534E">Stars, dates, keywords, review source, photos and unanswered only.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C7EAD2;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#146B33">🔔 New review monitor</span><br>
<span style="font-size:12px;color:#57534E">Schedule it and get new reviews, edits, new replies and rating changes only.</span>
</td>
</tr>
</table>

### 🔍 What does 2GIS Reviews Scraper do?

[2GIS](https://2gis.ru) (2ГИС) is a local business directory and maps service with millions of shops, restaurants, clinics and service businesses across Russia, Kazakhstan, Uzbekistan, the UAE and more. This Actor reads the reviews of any 2GIS place and returns them as clean rows: full review text, star rating, photos, reviewer name and profile details, likes, comments and the business's own reply where one exists.

Give it a place ID or a place link from any 2GIS country site and it collects as many reviews as you ask for. Run it once for an export, schedule it to watch your own or a competitor's places, or call it from your own app.

### 🎯 Why use 2GIS Reviews Scraper?

A 2GIS star rating tells you a place scored 4.5 out of 5. It does not tell you why, or what to fix.

- **I run reputation management** for retail chains and service businesses and need the complaint text, plus a list of negative reviews nobody has answered yet.
- **I do market research** on Russian-language brands and need review text, dates and photos for analysis, not a star average.
- **I own several locations** and want to know, every morning, which new reviews came in and whether my staff replied.

### 🚀 How to use 2GIS Reviews Scraper

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#EAF8EE;border:1px solid #C7EAD2;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#1E9E4A;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Point at your places</span><br>
<span style="font-size:12px;color:#57534E">Paste place IDs or links from any 2GIS country site, or search by name and city.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EAF8EE;border:1px solid #C7EAD2;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#1E9E4A;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose what you want</span><br>
<span style="font-size:12px;color:#57534E">Stars, dates, keywords, source, unanswered only, and how many reviews.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EAF8EE;border:1px solid #C7EAD2;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#1E9E4A;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Download or schedule</span><br>
<span style="font-size:12px;color:#57534E">Export to Excel, CSV or JSON, or run it on a schedule to track changes.</span>
</td>
</tr>
</table>

1. Open 2GIS Reviews Scraper on the Apify Store and click **Try for free**.
2. Paste one or more IDs into **Place IDs**, or paste full 2GIS place links into **2GIS place links**. The city and the country site do not matter. No place ID? Type a business name or category into **Search by name or category**, set the **City**, and the Actor finds the matching places for you.
3. Optionally set stars, dates, keywords, a review source or **Business reply** to narrow the list.
4. Click **Start** and download your results as JSON, CSV or Excel once the run finishes.

To watch places over time, type any name into **Monitor name** and schedule the run daily or hourly. The first run saves what exists today. Every later run with the same name returns only new reviews, edited reviews, newly answered reviews and rating changes.

### 📥 Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `firmIds` | array of strings | No | Numeric 2GIS place IDs, for example `4504127912651411`. Find one in any 2GIS place link. |
| `urls` | array of links | No | 2GIS place links, with or without `/tab/reviews`, on any 2GIS country site. The place ID is read from the link. A 2GIS search link is used as a search. |
| `searchTerms` | array of strings | No | Business names or categories to find when you have no place ID, for example `Шоколадница` or `coffee`. Each one is searched and its matching places are scraped. A 2GIS search link works here too. |
| `city` | string | No | City or region for the searches above, for example Moscow, Алматы or Dubai. Leave empty to search across all of 2GIS. |
| `maxPlacesPerSearch` | integer | No | How many matching places each search returns, best match first. Defaults to 1. |
| `sortBy` | enum | No | Newest by last edit (default), newest by post date, reviewers' friends first, or most trusted reviewers first. |
| `minRating` | integer | No | Only reviews rated at or above this score, out of 5. |
| `maxRating` | integer | No | Only reviews rated at or below this score. Set to 2 to pull complaints only. |
| `dateFrom` | date | No | Only reviews posted on or after this date. |
| `dateTo` | date | No | Only reviews posted on or before this date. |
| `replyFilter` | enum | No | All reviews (default), only reviews with a business reply, or only reviews still waiting for a reply. |
| `withTextOnly` | boolean | No | Skip rating-only entries with no written comment. Defaults to false. |
| `withPhotosOnly` | boolean | No | Keep only reviews that include photos. Defaults to false. |
| `sources` | array of strings | No | Review sources to keep, for example `flamp` or `2gis`. Leave empty for all sources. |
| `keywords` | array of strings | No | Keep reviews whose text contains at least one of these words or phrases. |
| `excludeKeywords` | array of strings | No | Drop reviews whose text contains any of these words or phrases. |
| `monitorName` | string | No | Turns on change tracking. Runs with the same name return only what changed since the previous run. |
| `onlyChanges` | boolean | No | While monitoring, return only changes. Defaults to true. |
| `maxItemsPerFirm` | integer | No | Maximum reviews per place. Defaults to 25. |
| `maxItems` | integer | No | Optional cap on reviews across all places. |
| `includeRawData` | boolean | No | Attach the original unprocessed review under a `raw` field. Defaults to false. |
| `proxyConfiguration` | object | No | Network settings. The default works for normal runs. |

### 📤 Output

Every review is one dataset item. Here is a real review from a test run:

```json
{
    "id": "307423691",
    "firmId": "4504127912651411",
    "firmUrl": "https://2gis.ru/firm/4504127912651411",
    "reviewUrl": "https://2gis.ru/firm/4504127912651411/tab/reviews",
    "firmRating": 5,
    "firmReviewsCount": 461,
    "provider": "2gis",
    "rating": 5,
    "text": "Супер",
    "dateCreated": "2026-10-18T18:43:25.873953+07:00",
    "likesCount": 0,
    "commentsCount": 1,
    "photosCount": 0,
    "authorId": "85668855",
    "authorName": "Надежда Щеглова",
    "authorReviewsCount": 3,
    "hasReply": true,
    "replyText": "Надежда, рады слышать!",
    "replyDate": "2026-10-19T16:16:33.46022+07:00",
    "replyAuthor": "2ГИС, городской информационный сервис",
    "scrapedAt": "2026-10-22T14:49:19.871Z"
}
```

Fields the place does not have, such as photos or a reply, are left out instead of being filled with placeholders. You can download the dataset as JSON, HTML, CSV or Excel from the Apify Console or through the API.

### 📊 Data table

| Field | Type | Description |
| --- | --- | --- |
| `id` | string | 2GIS's own ID for this review. |
| `firmId` | string | The place ID this review belongs to. |
| `firmUrl` | string | A direct link to the place on 2GIS. |
| `reviewUrl` | string | A link to the review (or to the place's reviews tab for native 2GIS reviews). |
| `firmRating` | number | The place's average rating at collection time. |
| `firmReviewsCount` | number | The place's total review count at collection time. |
| `provider` | string | Which service the review comes from (`2gis`, `flamp` and others). |
| `providerName` | string | The display name of that service, when 2GIS gives one. |
| `source` | string | The finer-grained origin of the review, when 2GIS gives one. |
| `rating` | number | The stars the reviewer left, out of 5. |
| `text` | string | The full review text. |
| `dateCreated` | string | When the review was posted. |
| `dateEdited` | string | When the review was last edited, if it was. |
| `likesCount` | number | How many people liked the review. |
| `commentsCount` | number | How many comments the review has. |
| `photosCount` | number | How many photos the review includes. |
| `photoUrls` | array | Links to the review's photos. |
| `authorId` | string | The reviewer's 2GIS user ID. |
| `authorName` | string | The reviewer's display name. |
| `authorPublicId` | string | The reviewer's public profile ID. |
| `authorReviewsCount` | number | How many reviews this reviewer has posted. |
| `authorPhotoUrl` | string | The reviewer's profile photo, if any. |
| `hasReply` | boolean | Whether the business replied. |
| `replyText` | string | The business's reply, if any. |
| `replyDate` | string | When the business replied. |
| `replyAuthor` | string | The name the business replied under. |
| `changeType` | string | Monitor runs only: `NEW_REVIEW`, `REVIEW_EDITED`, `REPLY_ADDED`, `REPLY_EDITED`, or `RATING_CHANGED` for a place summary row. |
| `changedFields` | array | Monitor runs only: which parts of an existing review changed. |
| `previousRating` | number | Place summary rows only: the place rating at the previous run. |
| `ratingChange` | number | Place summary rows only: how the place rating moved. |
| `previousReviewsCount` | number | Place summary rows only: the review count at the previous run. |
| `newReviewsSincePrevious` | number | Place summary rows only: how many reviews the place gained. |
| `scrapedAt` | string | When this Actor collected the row. |

### 💰 Pricing

Pricing is pay per result and billed per row saved to your dataset. Empty runs cost nothing and there are no monthly fees. In a monitor run you pay only for the rows it returns, so a quiet day costs almost nothing. Accounts on the free Apify plan get up to 25 reviews per run, three runs per day, with a pause between runs. Paid plans have no such limit. See the pricing panel on this page for the current rates.

### ⭐ Enjoying 2GIS Reviews Scraper: Отзывы 2ГИС, Photos, Replies & Monitoring?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#EAF8EE;border:1px solid #C7EAD2;border-left:5px solid #1E9E4A;border-radius:10px 10px 0 0;color:#1C1917">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Glad this got you the real words behind the rating.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other reputation managers and market researchers find an Actor that returns review text, photos and replies. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#18853E;border:1px solid #18853E;border-left:5px solid #18853E;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#1C1917">
<a href="https://apify.com/getascraper/2gis-reviews-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### 💡 Tips and advanced options

- To see only complaints nobody answered, set **Maximum rating** to 2 and **Business reply** to "Only reviews without a reply".
- Rating and source filters make the run read only the matching pages, so a one-star export of a big place is quick.
- **Reviews posted from** and **until** work best with the "Newest first (date posted)" order, because the run can stop as soon as it reaches older reviews.
- In a monitor, keep **Max reviews per place** at its default for the first run. Later runs read as far back as needed to catch every change, so a busy day does not cause missed reviews.
- Turn on `includeRawData` only if you need fields this Actor does not already provide. It roughly doubles the size of each item.

### ❓ FAQ

##### Как выгрузить отзывы 2ГИС в Excel?

Run the Actor, open the **Export** option on the dataset and choose Excel, CSV or JSON. Each review is one row, with the text, stars, photos and reply in their own columns.

##### Can it show me only the reviews the business has not answered?

Yes. Set **Business reply** to "Only reviews without a reply". Combine it with a maximum rating to build a list of unanswered complaints.

##### How do I get only new reviews every day?

Type a name into **Monitor name** and schedule the Actor daily. The first run saves what exists today. Later runs with the same name return new reviews, edited reviews, new business replies and a row when the place rating or review count changes.

##### Are hidden or removed reviews included?

No. Only reviews that 2GIS itself shows publicly are returned. Reviews hidden through 2GIS moderation are not included. Search result pages and chain pages are not supported: paste the link of a single place, and any other link is skipped with a message in the run log.

Found a bug or have a feature request? Open an issue on the Actor's Issues tab. Need a custom version for a specific workflow? Reach out through Apify and we can scope it.

### 🔗 Other actors

- [Avito Auto Scraper: Парсер Авито Авто](https://apify.com/getascraper/avito-auto-scraper) ↗ - Vehicle listings from Russia's largest classifieds site, with pricing and dealer details.
- [Yandex Maps Review Monitor: Парсер отзывов Яндекс Карт](https://apify.com/getascraper/yandex-maps-review-monitor) ↗ - Reviews from Russia's other major maps platform, for cross-checking coverage between the two.
- [Ostrovok Reviews Scraper: Отзывы Островок](https://apify.com/getascraper/ostrovok-reviews-scraper) ↗ - Full guest review text and hotel replies from Russia's largest hotel booking site.
- [Wildberries Reviews Scraper: Ratings, Text & Photos](https://apify.com/getascraper/wildberries-reviews-scraper) ↗ - Product review text and photos from Russia's largest online marketplace.
- [TeamBlind Reviews Scraper: Tech Employer Ratings](https://apify.com/getascraper/teamblind-reviews-scraper) ↗ - Employee review text for tech employers, for the same kind of text-over-score comparison.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/2gis-reviews-scraper/changelog.md

# Actor input Schema

## `firmIds` (type: `array`):

Numeric 2GIS place IDs, for example 4504127912651411. You find one in any 2GIS place link. You can also paste full place links below instead.

## `urls` (type: `array`):

Paste place links such as https://2gis.ru/moscow/firm/4504127912651411, with or without /tab/reviews at the end. The place ID is read from the link.

## `searchTerms` (type: `array`):

No place ID? Type a business name or category, for example "Шоколадница" or "coffee", and the Actor finds the matching places and reads their reviews. Set the City below to search one city. You can also paste a 2GIS search link such as https://2gis.ru/moscow/search/кофейня.

## `city` (type: `string`):

City or region for the searches above, for example Moscow, Алматы or Dubai. Leave empty to search across all of 2GIS. Ignored when you give a place ID, a place link or a search link (those already name their city).

## `maxPlacesPerSearch` (type: `integer`):

How many matching places each search returns, from the best match down. Defaults to 1 (the top match). Raise it to read the reviews of several matching places at once.

## `sortBy` (type: `string`):

Order in which reviews are returned. 2GIS offers these four orders only.

## `minRating` (type: `integer`):

Only return reviews rated at or above this score. 2GIS rates out of 5.

## `maxRating` (type: `integer`):

Only return reviews rated at or below this score. Set this to 2 to pull complaints only.

## `dateFrom` (type: `string`):

Only return reviews posted on or after this date. Leave empty for no start date.

## `dateTo` (type: `string`):

Only return reviews posted on or before this date. Leave empty for no end date.

## `replyFilter` (type: `string`):

Keep every review, only the ones the business answered, or only the ones still waiting for an answer.

## `withTextOnly` (type: `boolean`):

Skip rating-only entries where the reviewer left no comment.

## `withPhotosOnly` (type: `boolean`):

Keep only reviews that include at least one photo.

## `sources` (type: `array`):

2GIS shows reviews collected from several services next to its own. List the ones you want, for example flamp or 2gis. Valid sources: 2gis, flamp, otello, booking, netmonet, tbank, sbertips, avito, 4sq. Leave empty for all.

## `keywords` (type: `array`):

Keep reviews whose text contains at least one of these words or phrases. Upper and lower case do not matter.

## `excludeKeywords` (type: `array`):

Drop reviews whose text contains any of these words or phrases.

## `monitorName` (type: `string`):

Fill this in to turn on change tracking. The run remembers the reviews it saw under this name and the next run with the same name returns only new reviews, edited reviews, new business replies and rating changes. Leave empty for a normal export.

## `onlyChanges` (type: `boolean`):

When monitoring, return only new, edited and newly answered reviews plus rating changes. Switch off to also return unchanged reviews.

## `maxItemsPerFirm` (type: `integer`):

Maximum number of reviews to return for each place. Monitor runs after the first one read until nothing new is left.

## `maxItems` (type: `integer`):

Optional cap across all places. Leave empty for no total cap.

## `includeRawData` (type: `boolean`):

Attach 2GIS's original unprocessed review object under a 'raw' field.

## `proxyConfiguration` (type: `object`):

The default works for normal runs: the Actor connects directly and falls back to datacenter proxies by itself. Choose your own proxies or a country only if you need to.

## Actor input object example

```json
{
  "firmIds": [
    "4504127912651411"
  ],
  "urls": [],
  "searchTerms": [],
  "maxPlacesPerSearch": 1,
  "sortBy": "date_edited",
  "replyFilter": "all",
  "withTextOnly": false,
  "withPhotosOnly": false,
  "onlyChanges": true,
  "maxItemsPerFirm": 25,
  "includeRawData": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "firmIds": [
        "4504127912651411"
    ],
    "urls": [],
    "searchTerms": [],
    "maxPlacesPerSearch": 1,
    "sortBy": "date_edited",
    "replyFilter": "all",
    "withTextOnly": false,
    "withPhotosOnly": false,
    "onlyChanges": true,
    "maxItemsPerFirm": 25,
    "includeRawData": false,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/2gis-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "firmIds": ["4504127912651411"],
    "urls": [],
    "searchTerms": [],
    "maxPlacesPerSearch": 1,
    "sortBy": "date_edited",
    "replyFilter": "all",
    "withTextOnly": False,
    "withPhotosOnly": False,
    "onlyChanges": True,
    "maxItemsPerFirm": 25,
    "includeRawData": False,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/2gis-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "firmIds": [
    "4504127912651411"
  ],
  "urls": [],
  "searchTerms": [],
  "maxPlacesPerSearch": 1,
  "sortBy": "date_edited",
  "replyFilter": "all",
  "withTextOnly": false,
  "withPhotosOnly": false,
  "onlyChanges": true,
  "maxItemsPerFirm": 25,
  "includeRawData": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/2gis-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/2gis-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GNwmiEaeWFvuGHRbv/builds/NqC86EKCiPAxZywmS/openapi.json
