2gis Places Scraper avatar

2gis Places Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
2gis Places Scraper

2gis Places Scraper

Scrape business listings from 2GIS by city and search query. Extract place names, addresses, categories, ratings, phone numbers, and GPS coordinates. Just enter a city slug and search term to get structured data ready for export as CSV, JSON, or Excel — no coding required.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Biddut Hossain

Biddut Hossain

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Scrape business listings from 2GIS by city and search query. This Actor uses a headless browser to search 2GIS and intercepts the internal catalog API responses to extract structured place data.

What data does it extract?

For each place found, the Actor collects:

  • name — business name
  • address — full address
  • type — category/type of place
  • rating — general rating (if available)
  • phones — phone number(s)
  • coords — GPS coordinates (latitude/longitude)

Input

FieldTypeDescriptionDefault
citystring2GIS city slug, e.g. moscow, almaty, tashkentmoscow
querystringSearch term, e.g. coffee shopcoffee
maxItemsintegerMaximum number of results to scrape50

Example input

{
"city": "almaty",
"query": "coffee shop",
"maxItems": 30
}

Output

Results are pushed to the Actor's default dataset. Example item:

{
"id": "70000001234567890",
"name": "Coffee Boom",
"address": "Abay Ave, 15",
"type": "cafe",
"rating": 4.6,
"phones": ["+7 727 123 4567"],
"coords": { "lat": 43.238, "lon": 76.945 }
}

You can export the dataset as JSON, CSV, Excel, or XML from the Apify Console.

How it works

  1. Launches a headless Chromium browser via Playwright.
  2. Navigates to the 2GIS search results page for the given city and query.
  3. Listens for network responses from 2GIS's internal catalog.api.2gis.com endpoint.
  4. Scrolls the page to trigger lazy-loaded pagination and capture additional results.
  5. Parses and pushes each unique place to the dataset until maxItems is reached.

Notes & limitations

  • 2GIS's internal API response structure may change without notice. If no results are returned, inspect the network tab on 2gis.ru manually to confirm the current response shape.
  • City slugs must match 2GIS's own subdomain naming (check the URL when searching manually on 2gis.ru).
  • Heavy or repeated scraping may trigger anti-bot measures; consider adding delays or proxies for large-scale runs.

Support

Found a bug or have a feature request? Open an issue or reach out via the Actor's Issues tab in Apify Console.