Google Maps Extractor avatar

Google Maps Extractor

Try for free

Pay $6.00 for 1,000 results

Go to Store
Google Maps Extractor

Google Maps Extractor

compass/google-maps-extractor
Try for free

Pay $6.00 for 1,000 results

Extract data from hundreds of places fast. Scrape Google Maps by keyword, category, location, URLs & other filters. Get addresses, contact info, opening hours, popular times, prices, menus & more. Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

Do you want to learn more about this Actor?

Get a demo

🔍 Search terms

searchStringsArrayarrayOptional

Type what you’d normally search for in the Google Maps search bar, like English breakfast or pet shelter. Aim for unique terms for faster processing. Using similar terms (e.g., bar vs. restaurant vs. cafe) may slightly increase your capture rate but is less efficient.

⚠️ Heads up: Adding a location directly to the search, e.g., restaurant Pittsburgh, can limit you to a maximum of 120 results per search term due to Google Maps' scrolling limit.

You can also use direct place IDs here in the format place_id:ChIJ8_JBApXMDUcRDzXcYUPTGUY.See the detailed description.

📍 Location (use only one location per run)

locationQuerystringOptional

Define location using free text. Simpler formats work best; e.g., use City + Country rather than City + Country + State. Verify with the OpenStreetMap webapp for visual validation of the exact area you want to cover.

⚠️ Automatically defined City polygons may be smaller than expected (e.g., they don't include agglomeration areas). If you need to define the whole city area, head over to the 📡 Geolocation parameters* section instead to select Country, State, US County, City, or Postal code.
For an even more precise location definition (especially when using City name as a starting point), head over to 🛰 Custom search area section to create polygon shapes of the areas you want to scrape. Note that 📍 Location settings always take priority over 📡 Geolocation* (so use either section but not both at the same time).

For guidance and tricks on location definition, check our tutorial.

💯 Number of places to extract (per each search term or URL)

maxCrawledPlacesPerSearchintegerOptional

Number of results you expect to get per each Search term, Category or URL. The higher the number, the longer it will take.

If you want to scrape all places available, leave this field empty or use this section 🧭 Scrape all places on the map*.

🌍 Language

languageEnumOptional

Scraping results will show in this language.

Value options:

"en": string"af": string"az": string"id": string"ms": string"bs": string"ca": string"cs": string"da": string"de": string"et": string"es": string"es-419": string"eu": string"fil": string"fr": string"gl": string"hr": string"zu": string"is": string"it": string"sw": string"lv": string"lt": string"hu": string"nl": string"no": string"uz": string"pl": string"pt-BR": string"pt-PT": string"ro": string"sq": string"sk": string"sl": string"fi": string"sv": string"vi": string"tr": string"el": string"bg": string"ky": string"kk": string"mk": string"mn": string"ru": string"sr": string"uk": string"ka": string"hy": string"iw": string"ur": string"ar": string"fa": string"am": string"ne": string"hi": string"mr": string"bn": string"pa": string"gu": string"ta": string"te": string"kn": string"ml": string"si": string"th": string"lo": string"my": string"km": string"ko": string"ja": string"zh-CN": string"zh-TW": string

Default value of this property is "en"

🎢 Place categories

categoryFilterWordsarrayOptional

You can filter places by categories, which Google Maps has over 4,000. Categories can be general, e.g. beach, which would include all places containing that word e.g. black sand beach, or specific, e.g. beach club.

⚠️ You can use 🎢 Place categories alone or with 🔍 Search terms. 🔍 Search terms focus on searching, while 🎢 Categories filter results. Using 🎢 Categories alone applies them for both search and filter. For best results, use a few search terms with broad categories to avoid excluding valid places. Note that filtering by categories currently works only in 🇬🇧 English.Categories are dangerous! See the detailed description.

Set a minimum star rating

placeMinimumStarsEnumOptional

Scrape only places with a rating equal to or above the selected stars. Places without reviews will also be skipped. Keep in mind, filtering by reviews reduces the number of places found per credit spent, as many will be excluded.

Value options:

"two": string"twoAndHalf": string"three": string"threeAndHalf": string"four": string"fourAndHalf": string

Default value of this property is ""

Scrape places with/without a website

websiteEnumOptional

Use this to exclude places without a website, or vice versa. This option is turned off by default.

Value options:

"allPlaces": string"withWebsite": string"withoutWebsite": string

Default value of this property is "allPlaces"

Get exact name matches (no similar results)

searchMatchingEnumOptional

Restrict what places are scraped based on matching their name with provided 🔍 Search term. E.g., all places that have chicken in their name vs. places called Kentucky Fried Chicken.

Value options:

"all": string"only_includes": string"only_exact": string

Default value of this property is "all"

⏩ Skip closed places

skipClosedPlacesbooleanOptional

Skip places that are marked as temporary or permanently closed. Ideal for focusing on currently open places.

Default value of this property is false

🗺 Country

countryCodeEnumOptional

Set the country where the data extraction should be carried out, e.g., United States.

⚠️ Always combine 🗺 Country with 🌇 City or other Location types, otherwise you will scrape the whole country!

Protip: for full-country scraping of sparsely populated countries such as the United States or Australia, try scraping city by city or focusing on populated states/areas.

Value options:

"us": string"af": string"al": string"dz": string"as": string"ad": string"ao": string"ai": string"aq": string"ag": string"ar": string"am": string"aw": string"au": string"at": string"az": string"bs": string"bh": string"bd": string"bb": string"by": string"be": string"bz": string"bj": string"bm": string"bt": string"bo": string"ba": string"bw": string"bv": string"br": string"io": string"bn": string"bg": string"bf": string"bi": string"kh": string"cm": string"ca": string"cv": string"ky": string"cf": string"td": string"cl": string"cn": string"cx": string"cc": string"co": string"km": string"cg": string"cd": string"ck": string"cr": string"ci": string"hr": string"cu": string"cy": string"cz": string"dk": string"dj": string"dm": string"do": string"ec": string"eg": string"sv": string"gq": string"er": string"ee": string"et": string"fk": string"fo": string"fj": string"fi": string"fr": string"gf": string"pf": string"tf": string"ga": string"gm": string"ge": string"de": string"gh": string"gi": string"gr": string"gl": string"gd": string"gp": string"gu": string"gt": string"gn": string"gw": string"gy": string"ht": string"hm": string"va": string"hn": string"hk": string"hu": string"is": string"in": string"id": string"ir": string"iq": string"ie": string"il": string"it": string"jm": string"jp": string"jo": string"kz": string"ke": string"ki": string"kp": string"kr": string"kw": string"kg": string"la": string"lv": string"lb": string"ls": string"lr": string"ly": string"li": string"lt": string"lu": string"mo": string"mk": string"mg": string"mw": string"my": string"mv": string"ml": string"mt": string"mh": string"mq": string"mr": string"mu": string"yt": string"mx": string"fm": string"md": string"mc": string"mn": string"me": string"ms": string"ma": string"mz": string"mm": string"na": string"nr": string"np": string"nl": string"an": string"nc": string"nz": string"ni": string"ne": string"ng": string"nu": string"nf": string"mp": string"no": string"om": string"pk": string"pw": string"ps": string"pa": string"pg": string"py": string"pe": string"ph": string"pn": string"pl": string"pt": string"pr": string"qa": string"re": string"ro": string"ru": string"rw": string"sh": string"kn": string"lc": string"pm": string"vc": string"ws": string"sm": string"st": string"sa": string"sn": string"rs": string"sc": string"sl": string"sg": string"sk": string"si": string"sb": string"so": string"za": string"gs": string"ss": string"es": string"lk": string"sd": string"sr": string"sj": string"sz": string"se": string"ch": string"sy": string"tw": string"tj": string"tz": string"th": string"tl": string"tg": string"tk": string"to": string"tt": string"tn": string"tr": string"tm": string"tc": string"tv": string"ug": string"ua": string"ae": string"gb": string"um": string"uy": string"uz": string"vu": string"ve": string"vn": string"vg": string"vi": string"wf": string"eh": string"ye": string"zm": string"zw": string

🌇 City

citystringOptional

Enter the city where the data extraction should be carried out, e.g., Pittsburgh.

⚠️ Do not include State or Country names here.

⚠️ Automatic City polygons may be smaller than expected (e.g., they don't include agglomeration areas). If you need that, set up the location using Country, State, US County, City, or Postal code.
For an even more precise location definition (, head over to 🛰 Custom search area section to create polygon shapes of the areas you want to scrape.

State

statestringOptional

Set a state where the data extraction should be carried out, e.g., Massachusetts (mainly for the US addresses).

⚠️ Always combine State with other Location types, otherwise you will scrape the whole state!

US county

countystringOptional

Set the US county where the data extraction should be carried out, e.g., Madison.

⚠️ Always combine US county with other Location types, otherwise you will scrape the whole county!

Postal code

postalCodestringOptional

Set the postal code of the area where the data extraction should be carried out, e.g., 10001.

⚠️ Combine Postal code only with 🗺 Country, never with 🌇 City. You can only input one postal code at a time.

🛰 Custom search area (coordinate order must be: [↕ longitude, ↔ latitude])

customGeolocationobjectOptional

Use this field to define the exact search area if other search area parameters don't work for you. See readme or our guide for details.

Google Maps URLs

startUrlsarrayOptional

Max 300 results per search URL. Valid format for URLs contains /maps/search. This feature also supports uncommon URL formats such as: google.com?cid=***, goo.gl/maps, and custom place list URL.

Developer
Maintained by Apify

Actor Metrics

  • 3.8k monthly users

  • 562 stars

  • 97% runs succeeded

  • 2.8 days response time

  • Created in Feb 2024

  • Modified 2 days ago