Skip to main content

Maps::Yandex - Yandex Maps Scraper

img

Yandex Maps Scraper Overview

The Yandex Maps scraper collects contact data for organizations.

A-Parser functionality allows you to save scraping settings for future use (presets), set a scraping schedule, and much more. You can use automatic query multiplication, substitution of subqueries from files, brute-forcing of alphanumeric combinations and lists to obtain the maximum possible number of results.

Saving results is possible in any form and structure you need, thanks to the built-in powerful Template Toolkit template engine, which allows you to apply additional logic to the results and output data in various formats, including JSON, SQL, and CSV.

Collected Data

  • Organization name
  • Address and coordinates
  • Rating, number of reviews, and pricing policy
  • Categories and tags
  • Website, social networks, and phone numbers
  • Link to photo and logo
  • Description
  • Link to the organization's page on Yandex Maps
  • Information about opening hours

Capabilities

  • It is mandatory to specify the coordinates and zoom of the area in which the search is performed
  • Ability to set the number of pages for data collection
  • Ability to specify the language of the results
  • Ability to use AntiGate to bypass captchas

Use Cases

  • Collecting a list of organizations present in a given area
  • Obtaining organization contacts
  • Any other cases involving searching for organizations on maps

Queries

Keywords must be specified as queries, exactly as if they were entered directly into the Yandex Maps search form, for example:

pizza

Output Results Examples

A-Parser supports flexible result formatting thanks to the built-in Template Toolkit template engine, which allows it to output results in an arbitrary form, as well as in a structured one, such as CSV or JSON

Default Output

Result format:

$serp.format('$name ($rating): $address\n')

The result displays a list of organizations, their ratings, and addresses:

Pies № 1 (4.9): Russia, Moscow, Bolshiye Kamenshchiki Street, 9, str. B
Einstein lounge (4.8): Russia, Moscow, Taganskaya Street, 29, str. 1
Gusto (4.1): Russia, Moscow, Bolshaya Dmitrovka Street, 7/5s1
Friends (4.4): Russia, Moscow, Krasnobogatyrskaya Street, 90, str. 2
Shisha City (4.4): Russia, Moscow, Vorontsovskaya Street, 6, str. 7
Jacks (4.4): Russia, Moscow, 1-ya Frezernaya Street, 2/1s10
Guilty Pleasure Restaurant (4.3): Russia, Moscow, Oruzheyny Lane, 15A
White Fox (4.3): Russia, Moscow, Bolshoy Drovyanoy Lane, 6

Output of All Contact Data

Result format:

$serp.format('$name ($rating): $address, $reviews, $price, $categories, $tags, $site, $phones, $photo, $coordinates, $social, $logo, $description, $link\n')

Result example:

Pies № 1 (4.9): Russia, Moscow, Bolshiye Kamenshchiki Street, 9, str. B, 256, , Food delivery, Pizzerias, Bakeries, free delivery, card payment, grocery delivery, food delivery, https://piroginomerodin.ru/, +7 (499) 642-32-71, +7 (495) 127-78-47, https://avatars.mds.yandex.net/get-altay/4489303/2a000001787d1771aebf8b4b849d986caea1/XXXL, 37.65577,55.738421, https://vk.com/piroginomerodin, https://www.instagram.com/piroginomerodin/, https://avatars.mds.yandex.net/get-tycoon/474201/2a0000016dd037b101f0cd4ad3968416440e/priority-headline-logo, , https://yandex.ru/maps/org/105121172016/
Einstein lounge (4.8): Russia, Moscow, Taganskaya Street, 29, str. 1, 153, 900–1500 ₽, Hookah bars, Bars, pubs, Intellectual games, board games, summer veranda, card payment, business lunch, projector, Wi-Fi, sports broadcasts, , +7 (968) 068-99-09, https://avatars.mds.yandex.net/get-altay/2419289/2a000001748889d4246610a4f452790b8eee/XXXL, 37.668036,55.739651, https://www.instagram.com/einstein_lounge/, https://avatars.mds.yandex.net/get-tycoon/1635364/2a00000170a408e3bda96d25bf44857eed75/priority-headline-logo, , https://yandex.ru/maps/org/127811263445/
Gusto (4.1): Russia, Moscow, Bolshaya Dmitrovka Street, 7/5s1, 133, 1500–1700 ₽, Restaurants, Pizzerias, business lunch, Wi-Fi, coffee to go, takeaway, summer veranda, card payment, sports broadcasts, http://www.gusto-moscow.ru/, +7 (495) 650-69-22, https://avatars.mds.yandex.net/get-altay/2887807/2a0000017357f4fe86d86cd5d3e300855b86/XXXL, 37.614142,55.760285, https://www.facebook.com/pages/gusto-итальянская-кухня/300193353486996, https://www.instagram.com/gusto.rest/, , , https://yandex.ru/maps/org/1080982853/
Shisha City (4.4): Russia, Moscow, Vorontsovskaya Street, 6, str. 7, 68, 900–1200 ₽, Hookah bars, Bars, pubs, Anti-cafe, board games, disabled parking, card payment, craft beer, Online pre-order, Wi-Fi, sports broadcasts, http://www.shishataganka.ru/, +7 (958) 100-62-71, https://avatars.mds.yandex.net/get-altay/212783/2a0000015d991abf6d89fa812daac5491c4f/XXXL, 37.654414,55.739423, https://vk.com/shishacitytaganka, https://www.facebook.com/shishacitytaganka, https://www.instagram.com/shishacitytaganka, https://avatars.mds.yandex.net/get-tycoon/479792/2a000001746e2044d0177e25adeba8e943ac/priority-headline-logo, , https://yandex.ru/maps/org/1695943598/

Output to a CSV Table

Result format:

[% FOREACH serp; 
tools.CSVline(name, rating, address, reviews, price);
END %]

Result example:

"Pies № 1",4.9,"Russia, Moscow, Bolshiye Kamenshchiki Street, 9, str. B",256,
"Einstein lounge",4.8,"Russia, Moscow, Taganskaya Street, 29, str. 1",153,"900–1500 ₽"
Gusto,4.1,"Russia, Moscow, Bolshaya Dmitrovka Street, 7/5s1",134,"1500–1700 ₽"
"Shisha City",4.4,"Russia, Moscow, Vorontsovskaya Street, 6, str. 7",68,"900–1200 ₽"
"Hookah Kult Game",4.5,"Russia, Moscow, Shabolovka Street, 2",66,"1200–1500 ₽"

Results Dump to JSON

Common result format:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.serp = [];

FOREACH item IN p1.serp;
obj.serp.push({
name = item.name
rating = item.rating
address = item.address
phones = item.phones
});
END;

obj.json %]

Initial text:

[

Final text:

]

Result example:

[{
"query": "pizza",
"serp": [
{
"name": "Pies № 1",
"address": "Russia, Moscow, Bolshiye Kamenshchiki Street, 9, str. B",
"phones": "+7 (499) 642-32-71, +7 (495) 127-78-47",
"rating": "4.9"
},
{
"name": "Einstein lounge",
"address": "Russia, Moscow, Taganskaya Street, 29, str. 1",
"phones": "+7 (968) 068-99-09",
"rating": "4.8"
},
{
"name": "Gusto",
"address": "Russia, Moscow, Bolshaya Dmitrovka Street, 7/5s1",
"phones": "+7 (495) 650-69-22",
"rating": "4.1"
},
]
}]
tip

To make the "Prepend text" and "Append text" options available in the Task Editor, you need to activate "More options".

Possible Settings

ParameterDefault valueDescription
Coordinates37.6572693,55.780844Search area coordinates, mandatory parameter — longitude, latitude, as in the URL (ll=), and not as when copying coordinates with a button on the map
Zoom11Zoom, mandatory parameter
Pages count5Number of pages
LanguageEnglishResult language selection
AntiGate presetdefaultPre-configured scraper preset Util::AntiGateUtil::AntiGate