2GIS Scraper - Places, Ratings & Review Count Monitor avatar

2GIS Scraper - Places, Ratings & Review Count Monitor

Pricing

from $2.70 / 1,000 place returneds

Go to Apify Store
2GIS Scraper - Places, Ratings & Review Count Monitor

2GIS Scraper - Places, Ratings & Review Count Monitor

Scrape 2GIS (2ГИС) places by city and search term or search URL: name, category, address, coordinates, rating, number of ratings and reviews, hours, business phone, website and 2GIS ID. Monitor mode returns only new places and places whose rating or review count moved, with old and new values.

Pricing

from $2.70 / 1,000 place returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

This 2GIS scraper (парсер 2ГИС) turns any 2GIS search into a clean table of places: name, category, address, coordinates, rating, number of ratings, number of reviews, opening hours, business phone, website and the 2GIS place ID and link. Turn on watch mode and it becomes a 2GIS rating and review count monitor: each later run returns only the places that are new in your search and the places whose rating or review count moved, with the old and the new value side by side.

Give it a city and search terms (dubai + cafe, moscow + стоматология, almaty + кафе), or paste 2GIS search URLs or place URLs. It works on 2gis.ae, 2gis.ru, 2gis.kz and the other 2GIS country sites, with no login, no API key and no 2GIS account.

Who uses it

  • Lead lists for sales and agencies - every cafe, clinic, salon or car service in a city with the business phone, website, Instagram and address, ready for a CRM.
  • Reputation and review monitoring - watch your own branches, or a whole category in your district, and get told when a rating drops or when a competitor collects new reviews.
  • Local market research - how many places a category has in Dubai or Moscow, how they are rated, where they are on the map, how many branches each chain has.
  • Franchise and chain tracking - feed 2GIS place URLs of every branch and get one row per branch with its current rating and review count.

What you get for each place

FieldExample
placeId, url70000001006365610, https://2gis.ae/dubai/firm/70000001006365610
name, nameExtension, category, categoriesHard Rock, cafe, Cafe / Restaurants
address, addressDetails, building, district, city, region, countryDubai Festival City Mall, 9, Crescent Drive, 2 Floor, Al Kheeran, Dubai, UAE
latitude, longitude25.22365, 55.351308
rating, ratingCount, reviewCount4.6, 155 (the "155 ratings" on the page), 136 (written reviews)
hours{"mon": ["12:00-01:00"], …, "fri": ["12:00-02:00"]}
phone, phones, website, websites, socialLinks+97142328900, http://cafe.hardrock.com, Instagram, Facebook…
branchCount, orgId3 branches of the same business on 2GIS
sponsoredtrue when 2GIS showed the place in an advertising slot
page, positionOnPage, searchQuery, searchCitywhere the place appeared in your search

Phones, website and social links come from each place's own 2GIS page (the search page does not show them). They are the business's public contacts as listed on 2GIS. Turn includeContacts off for a faster run with everything else.

Watch mode: rating and review count changes

Set onlyNew to true and schedule the run (daily or weekly):

  1. First run - remembers every place in your searches and their rating, rating count and review count. It returns no place rows and charges nothing for them; one free row says how many places are now watched.
  2. Every later run - returns only:
    • changeType: "new-in-results" - a place that appears in these results for the first time,
    • changeType: "changed" - a place whose rating, ratingCount or reviewCount changed. changedFields lists what moved and previous holds the old values, for example {"ratingCount": 155, "rating": 4.6} next to the new ratingCount: 158 and rating: 4.5.
  3. A search with nothing new and no change costs one small check fee (search-checked) and returns one free row that says so.

A change is confirmed on the place's own page before it is returned, so a flicker in the search results is not sold as a change. If a run cannot read a page of your search, the watch does not judge that search at all and the next run checks it again: nothing is lost and nothing is charged for it.

Use watchName to keep separate memories for separate schedules (for example one per client), and resetMonitoringState to start a watch again.

Input

FieldWhat to put in
searchQueries + citySearch terms as you would type them on 2GIS, and the 2GIS city name (dubai, moscow, almaty)
searchUrls2GIS search pages copied from the browser, with any filters you set there
placeUrls2GIS place pages or place IDs (up to 100) - your branches or named competitors
maxResultsPerSearch1 to 60 places per search (default 24)
includeContactsAdd business phone, website and social links from each place's page (default on)
includeSponsoredKeep places shown in 2GIS advertising slots (default on)
onlyNew, watchName, resetMonitoringStateWatch mode, separate watch memories, start a watch again

Input examples

Places in a city:

{ "searchQueries": ["cafe", "coffee shop"], "city": "dubai", "maxResultsPerSearch": 60 }

Russian search on 2gis.ru:

{ "searchQueries": ["стоматология"], "city": "novosibirsk", "maxResultsPerSearch": 36 }

Pasted search URLs and branches you want to watch:

{
"searchUrls": ["https://2gis.kz/almaty/search/кафе"],
"placeUrls": ["https://2gis.ae/dubai/firm/70000001006365610"],
"onlyNew": true,
"watchName": "my-branches"
}

The city is the name 2GIS uses in its links: dubai, sharjah, ajman, moscow, spb, novosibirsk, ekaterinburg, kazan, almaty, astana, tashkent, bishkek, yerevan, baku… Open 2gis.ru or 2gis.ae, pick your city and copy the word after the domain. 2GIS sends each city to its own country site by itself.

Pricing

Pay per event:

  • place-returned - one returned place row (with phone and website when includeContacts is on).
  • search-checked - watch mode only: one search (or one group of place URLs) that was compared with the last run and had nothing new and no change.

Free rows (status other than ok) explain everything that was not returned: an unknown city, no places for a search term, no changes, a place ID that does not exist, a page that could not be read, or a run that reached its maximum charge. They are never charged. The first run of a watch is not charged.

Output in watch mode

{
"status": "ok",
"changeType": "changed",
"changedFields": ["ratingCount", "reviewCount"],
"previous": { "ratingCount": 155, "reviewCount": 136 },
"placeId": "70000001006365610",
"name": "Hard Rock",
"rating": 4.6,
"ratingCount": 158,
"reviewCount": 138,
"phone": "+97142328900",
"url": "https://2gis.ae/dubai/firm/70000001006365610"
}

Good to know

  • 2GIS shows at most 5 pages of 12 places (60 places) for one search, even when it says it has more. For a big city and a broad term, split the search: by district (cafe Jumeirah, cafe Deira), by cuisine or type (coffee shop, bakery), or paste search URLs with the 2GIS filters you set in the browser. Each search term or URL is one search, up to 10 per run.
  • ratingCount is the number of ratings shown next to the stars on 2GIS ("155 ratings"); reviewCount is the number of written reviews in the 2GIS data. rating and ratingCount matched what the 2GIS results page shows on all 120 places we compared (5 pages of cafes in Dubai and in Moscow). The number on a place's Reviews tab is counted separately and can be a few higher than reviewCount (in our check of 6 places: equal on 3, higher by 2 to 5 on 3). A place that 2GIS shows without stars has rating and ratingCount empty.
  • Review texts and the names of the people who wrote reviews are not collected - only the numbers.
  • "New in results" means the place appeared in your search results for the first time, which is usually a new place but can also be a place that moved up into the first pages. Places in 2GIS advertising slots rotate on the first page, so an advertised place seen for the first time is remembered without being returned as new.
  • If a place's own page cannot be read, the place is still returned from the search page with contactsRead: false and empty phone and website.
  • When 2GIS answers with its page for unsupported browsers, the Actor asks again from another IP address and never clicks through that page. If it keeps answering that way, the run stops with a free row that says so.
  • 2GIS robots.txt is read at the start of each run and every page is checked against it.
  • This is an unofficial tool. It reads only the public 2GIS pages that anyone can open in a browser, and it is not affiliated with or endorsed by 2GIS (DoubleGIS).

Thanks for using this Actor

We build these tools for people who run them every day, and we improve them from what users tell us.

  • Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
  • Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.

If this Actor saved you time, a short review helps other people find it.