Skip to content
Keklik

WorkingGoogle Maps · tested Nov 11, 2026

Google Maps Leads Scraper

Get every business on Google Maps for any search in any US city, with phone, website, rating and opening hours, plus emails from their own websites.

  • 76 data points for every business
  • Keyword + city is all you type
  • From $3 per 1,000 businesses
  • No Google account or API key needed
  • 20 users
  • 157 runs
  • 138K rows of data

In short

Google Maps Leads Scraper finds every business that matches a search, such as “plumber” in “Brooklyn, NY”, and returns one row per business with its name, category, phone, website, address, rating and opening hours. It searches the area piece by piece, so you get more than the 200 places one Google Maps search shows. Emails and social profiles from each business’s own website are an optional add-on.

You enter
What to search for, and one or more cities, postcodes or regions
You get
Name, category, phone, website, address, rating, reviews, opening hours and coordinates
Add-ons
Emails and social profiles, Company details, Extra place details, Latest reviews, Photos, Places inside
Price
$3 per 1,000 businesses on Apify’s Free plan, down to $1.10 on Business. Apify’s platform costs are included.
Formats
CSV, Excel, JSON, Google Sheets, or the API
Runs on
Apify, in your own account. No login to the site needed.

1Sample rows

Real rows from a recent run. The full file has 115 columns.

plumber · Brooklyn, NYreal output

5 of the businesses found · emails switched on

NameNeighborhoodPhoneEmailsRatingReviews
Vigilante Plumbing, Heating & Air ConditioningGowanus(718) 530-0404customerservice@vigilanteplumbing.com4.82,171
Above and Beyond Plumbing & Heating Corp.Bushwick(718) 484-4911abovebeyondplumbing@gmail.com4.8204
Main Man Water Main & Sewer RepairLittle Caribbean(718) 614-6655mainmanplumbing@yahoo.com4.9275
L&B Mechanical | Brooklyn NY | Water Heater Installation | PlumbingBath Beach(718) 974-2720lbmechanicalny@gmail.com4.9167
Park Slope Plumbing and Heating ServicesGowanus(347) 305-6444info@parkslopeplumbingandheating.com4.756
Real results from a test search. The full file has 115 columns.Download the sample ↓

2Use cases

What people use it for.

Sales prospecting

Local businesses of one type across your cities, with phone numbers, websites and emails for outreach.

Finding clients for an agency

Businesses without a website, with a low rating or with an unclaimed profile, which are the ones most likely to need help.

Market sizing

Every business of a type in a city with its rating and review count, to size a market or spot the gaps.

Local SEO

Categories, claimed status and review counts for the businesses that rank in your area.

3How it works

How it works. The same steps as the form on Apify.

1

Type what and where

Search forplumber
InBrooklyn, NY

Add more keywords or cities and each one is searched.

2

Every neighborhood is searched

Google Maps only shows 200 results per search. The scraper goes through the area piece by piece, so you get every business, not just the first 200.

3

Keep only the leads you want

Rating 4.0+Has a phoneNo websiteSkip closed

Businesses you filter out are free.

4

Download your list

As a spreadsheet, in Google Sheets, or into HubSpot, Salesforce or Pipedrive.

CSVExcelSheetsAPI

4What you get

What you get for each business. 115 fields in 14 groups.

Add-ons are extra data you switch on in the scraper’s form.

  • Business

    Name, Local name, Category, Categories, Description, Owner name, Owner ID, Owner profile, Claimed, Temporarily closed, and 1 more

  • Contact

    Phone, Phone (international), Website, Order links, Reservation link, Booking links

  • Address and location

    Address, Local address, Street, City, Postal code, County, State or region, State code, Country, Country, and 7 more

  • Ratings

    Rating, Reviews, Reviews URL

  • Hours and photos

    Opening hours, Hours notices, Open now, Open status, About, Logo URL, Main image, Photos

  • Google IDs and links

    Place ID, CID, Knowledge Graph ID, Google Maps URL

  • Hotels and gas stations

    Category, Hotel, Fuel prices

  • Emails and social profilesAdd-on

    Emails, Email details, Website phones, WhatsApp, Facebook, Instagram, LinkedIn, X (Twitter), TikTok, YouTube, and 5 more

  • Company detailsAdd-on

    Legal name, Legal form, Registration numbers, Vat ids, Share capital, People, Page url, Website

  • Extra place detailsAdd-on

    Reviews distribution, Review keywords, Price level, Price per person, Other hours, Plus code, Street View, Order providers, Owner posts

  • Latest reviewsAdd-on

    Reviews

  • PhotosAdd-on

    Photos, Image categories, Images, Image details

  • Search details

    Search term, Search location, In the location, Matches the search, Rank, Input, Scraped at

  • Places insideAdd-on

    Category, Located in, Directory section, Places inside, Address, Phone, Website, Rating, Reviews, Google Maps URL

See all 120 columns
ColumnFieldWhat it is

Business

  • nameNameBusiness name.
  • local_nameLocal nameThe business name in the place's own language and script, when Google shows a different name in the run's language (name). Mostly outside English-speaking countries: "一蘭 渋谷店" for ICHIRAN Shibuya in Tokyo, "IONITY-Ladestation" in Germany. Empty when the names are the same.
  • categoryCategoryMain Google Maps category.
  • categoriesCategoriesAll Google Maps categories of the place.
  • descriptionDescriptionThe owner's description, or Google's summary of the place.
  • owner_nameOwner nameName of the account that manages the profile.
  • owner_idOwner IDGoogle ID of the account that manages the listing.
  • owner_urlOwner profileGoogle Maps profile of the account that manages the listing, with its posts and photos.
  • is_claimedClaimedTrue when the owner has claimed the Google Business Profile.
  • is_temporarily_closedTemporarily closedTrue when Google marks the place temporarily closed.
  • is_permanently_closedPermanently closedTrue when Google marks the place permanently closed.

Contact

  • phonePhonePhone number as Google shows it.
  • phone_unformattedPhone (international)Phone number in international format, such as +33491524482.
  • websiteWebsiteThe business's website.
  • order_linksOrder linksOrder-online links, each with its label.
  • reservation_linkReservation linkLink to book a table or appointment.
  • booking_linksBooking linksEvery booking button on the listing, one link per provider: tables (Reserve a table), appointments (Book online) and waitlists.

Address and location

  • addressAddressFull address.
  • local_addressLocal addressThe address in the place's own language and script, when it differs from address. Mostly in countries with another script (Japan, the Arab world). Empty when they are the same.
  • streetStreetStreet address.
  • cityCityCity.
  • postal_codePostal codePostal or ZIP code.
  • countyCountyThe county the place is in, such as "Travis County" (where Google lists one).
  • stateState or regionState, region or province, when Google gives one.
  • state_codeState codeTwo-letter state code, for places in the United States ("TX").
  • country_codeCountryTwo-letter country code.
  • country_nameCountryCountry name in English ("United States").
  • neighborhoodNeighborhoodNeighborhood, when Google gives one.
  • is_service_areaService-area businessTrue for a business that serves customers at their address and shows no street address on Google Maps, such as many plumbers and cleaners.
  • located_inLocated inThe mall, airport, hotel or building the place is inside, as Google names it: Barton Creek Square.
  • located_in_urlLocated in URLThe Google Maps link of the place it is inside.
  • latLatitudeLatitude.
  • lngLongitudeLongitude.
  • timezoneTime zoneTime zone of the place, such as Europe/Paris.

Ratings

  • ratingRatingAverage star rating, 1 to 5.
  • reviews_countReviewsNumber of reviews.
  • reviews_urlReviews URLLink to the place's reviews.

Hours and photos

  • opening_hoursOpening hoursOpening hours per day, Monday first: [{"day": "Monday", "hours": "9 AM-6 PM"}].
  • hours_noticesHours noticesGoogle's notes on the coming week's hours, such as a holiday that might change them: one entry per day with a note. Empty when Google shows none.
  • open_nowOpen nowWhether the place was open when it was scraped (see scraping_time). Empty when Google shows no hours.
  • open_statusOpen statusGoogle's line for it at scraping time, with when it opens or closes next: "Closed · Opens 8 AM", "Open · Closes 11 PM", "Open 24 hours".
  • aboutAboutThe About tab: {"Accessibility": {"Wheelchair accessible entrance": true}, "Payments": {...}}.
  • logo_urlLogo URLThe business's profile picture on Google (its logo when the owner set one), full size.
  • main_image_urlMain imageThe place's main photo.
  • images_countPhotosNumber of photos on the place.

Google IDs and links

  • place_idPlace IDGoogle Place ID (ChIJ...). Use it with Google Maps Reviews Scraper or the Google Places API.
  • cidCIDGoogle Maps customer ID (cid).
  • kgmidKnowledge Graph IDGoogle Knowledge Graph ID, such as /g/11cjg9nkyv.
  • urlGoogle Maps URLLink to the place on Google Maps.

Hotels and gas stations

  • hotelHotel
  • fuel_pricesFuel pricesGas stations only: the fuel price Google shows on the map, [{"grade": "Regular", "price": "$3.80"}].

Emails and social profilesadd-on

  • emailsEmailsEmails and social profiles: email addresses found on the website, the site's own domain first.
  • email_detailsEmail detailsEmails and social profiles: one object per email, in the same order as emails. status is likely_deliverable (found on the business's own website, and its domain has a working mail server), unchecked (the mail server lookup didn't answer) or risky (a domain typo was fixed); with your own email verifier it becomes valid, invalid, catch_all or unknown, with verified_by, verified_at, verifier_result (the service's own answer) and is_catch_all. Also is_own_domain, is_role, is_free_mail, mail_provider (Google Workspace / Gmail, Microsoft 365, Zoho...), found_on (the page it was found on), found_as (mailto link, text, or cloudflare-hidden) and corrected_from when a typo was fixed. No-reply, disposable and dead-domain addresses are left out.
  • website_phonesWebsite phonesEmails and social profiles: phone numbers linked on the website.
  • whatsappWhatsAppEmails and social profiles: the business's WhatsApp chat link found on its website, as https://wa.me/<number>.
  • facebookFacebookFacebook page.
  • instagramInstagramInstagram profile.
  • linkedinLinkedInLinkedIn page.
  • twitterX (Twitter)X (Twitter) profile.
  • tiktokTikTokTikTok profile.
  • youtubeYouTubeYouTube channel.
  • pinterestPinterestPinterest profile.
  • discordDiscordAn invite to the business's Discord server, linked from its website.
  • yelpYelpThe business's Yelp page, linked from its website.
  • tripadvisorTripadvisorThe business's Tripadvisor page, linked from its website.
  • foursquareFoursquareThe business's Foursquare page, linked from its website.

Company detailsadd-on

  • legal_notice.legal_nameLegal nameThe business's legal name, with its legal form.
  • legal_notice.legal_formLegal formThe legal form: GmbH, UG (haftungsbeschränkt), AG, SARL, SAS, Ltd, LLP, S.L., S.r.l., B.V., SRL, Einzelunternehmen...
  • legal_notice.registration_numbersRegistration numbersCompany registration numbers: HRB, HRA, PR, GnR or VR (Germany), FN (Austria), UID (Switzerland), SIREN and SIRET (France), Company number (UK), Partita IVA and REA (Italy), CIF and, for a sole trader, NIF (Spain), KvK (Netherlands), Enterprise number (Belgium).
  • legal_notice.vat_idsVat idsVAT IDs with their country prefix and without spaces (DE136695976, ATU13585627, CHE116281710, FR40303265045, GB980780684), each checked against its country's format and check digits.
  • legal_notice.share_capitalShare capital
  • legal_notice.peoplePeoplePeople named with a role: owners, managing directors, directors, board members, legal representatives, the person responsible for the content. Academic titles (Dr., Prof.) are kept, Mr, Herr and Mme are dropped. Empty when "Names in company details" is off.
  • legal_notice.page_urlPage urlThe page the company details come from.

Extra place detailsadd-on

  • reviews_distributionReviews distribution
  • review_tagsReview keywordsPlace details: keywords Google picks out of the reviews, with how many reviews mention each.
  • price_levelPrice levelPlace details: Google's price level ($ to $$$$) when the listing shows one. Google shows it to logged-out visitors for few places (some hotels and gas stations, not restaurants).
  • price_per_personPrice per person
  • other_hoursOther hoursPlace details: delivery, takeout, kitchen and other hours, per service.
  • plus_codePlus codePlace details: the place's plus code.
  • street_view_urlStreet ViewPlace details: link that opens Google Street View in front of the place.
  • order_providersOrder providersPlace details: the delivery and takeout services listed behind "Order online", [{"name": "DoorDash", "url": "..."}].
  • owner_postsOwner postsPlace details: the latest updates, events and offers the owner posted on Google (up to 10), newest first, with type, title, text, dates, button link, coupon code and image.

Latest reviewsadd-on

  • latest_reviewsReviewsReviews per place: the place's reviews, with rating, text, date, owner response and reviewer.

Photosadd-on

  • image_categoriesImage categories
  • imagesImagesBusiness images: full-size links to the place's photos (360 photos included, videos not), up to "Photos per place", in the order Google's photo gallery shows them. The same photos with their details are in image_details.
  • image_detailsImage detailsBusiness images: every photo and video collected, in gallery order, with its full-size link, type, source, Google's category labels and, with Photo authors on, who posted it and when.

Search details

  • search_termSearch termThe search term the place was found with.
  • search_locationSearch locationThe location the place was found in.
  • in_locationIn the locationWhether Google lists the place as being in the location you typed. Always true with "Only places inside the location" on; with it off, false marks the places it would have left out. Empty when the location can't be checked (a search URL, a street address, a place URL).
  • matches_searchMatches the searchWhether the place is of the searched type (its categories or name match the search). Always true with "Only places of the searched type" on; with it off, false marks the places Google added around the real matches. Empty for place URLs.
  • rankRankOrder in which the place was found for its search.
  • source_urlInputThe input this place came from.
  • scraping_timeScraped atWhen the row was scraped, ISO 8601 in UTC.

Places insideadd-on

  • directory_sectionDirectory sectionAdd-on: Businesses inside each place. For a business found in a mall's or an airport's directory, the section it is listed under (Clothing, Food & Drink...).
  • places_inside_countPlaces insideAdd-on: Businesses inside each place. How many businesses this place's directory lists (0 for a place without one).

Other

  • image_categories.InsideInsidePhotos labelled Inside.
  • image_categories.OutsideOutsidePhotos labelled Outside.
  • image_categories.ProductsProductsPhotos labelled Products.
  • image_categories.TeamTeamPhotos labelled Team.
  • image_categories.Food & drinkFood & drinkPhotos labelled Food & drink.
  • image_categories.VibeVibePhotos labelled Vibe.
  • hotel.starsStarsHotel class, 1 to 5.
  • hotel.check_in_timeCheck in timeCheck-in time: 3:00 PM.
  • hotel.check_out_timeCheck out timeCheck-out time: 11:00 AM.
  • hotel.pricePriceThe lowest nightly price for the dates below, with its currency.
  • hotel.price_check_in_datePrice check in dateThe check-in date the price is for (YYYY-MM-DD).
  • hotel.price_check_out_datePrice check out dateThe check-out date the price is for.
  • hotel.amenitiesAmenities[{"name": "Free Wi-Fi", "available": true}, {"name": "Pool", "available": false}].
  • hotel.booking_offersBooking offers[{"provider": "Booking.com", "price": "$70", "url": "..."}], one per booking site.
  • reviews_distribution.one_starOne starReviews with 1 star.
  • reviews_distribution.two_starsTwo starsReviews with 2 stars.
  • reviews_distribution.three_starsThree starsReviews with 3 stars.
  • reviews_distribution.four_starsFour starsReviews with 4 stars.
  • reviews_distribution.five_starsFive starsReviews with 5 stars.
  • price_per_person.rangeRangeThe most common answer, e.g. "$10–20" or "€20–30", in the local currency.
  • price_per_person.answersAnswersHow many reviews answered.
  • price_per_person.distributionDistributionEach answer with how many reviews gave it, most common first.
  • legal_notice.share_capital.amountAmountThe amount.
  • legal_notice.share_capital.currencyCurrencyIts currency: EUR, CHF, GBP...
  • legal_notice.share_capital.textTextAs written on the page.

5Pricing

Pricing. From $3 per 1,000 businesses, platform costs included.

Run it yourself on Apifypay per result

Your Apify plan

1005001K5K10K50K
Businesses$3.00
Emails and social profiles$1.50
Up to$4.50
Run it on Apify
Done for you

Don’t pay for data you don’t need

Tell us the data you need and we deliver just that, cleaned and ready to use.

  • You pay per data point, not for a tool or a subscription
  • No duplicates, no filler, no columns you'll delete
  • Delivered to your sheet or CRM, once or every week
  • Free sample rows before you pay anything
Tell us what you need →
Compare every plan and scraper on the Pricing page →

Good to know

The search area is a rectangle around the location, so towns at its edges can appear too: narrow the list with the city or postcode column. Emails come from the businesses' own websites, so expect them for part of the places. They are checked for junk but not verified with a mail server.

6Questions

Questions.

Is it legal to scrape Google Maps?

The scraper collects only public business information that Google Maps shows to visitors who are not logged in. Some of it can still be personal data, such as a sole trader's name, phone number or email, the owners and managing directors named in company details, reviewers' names, or the names of the people who posted photos (with Photo authors on). Personal data is protected by laws such as the GDPR in the EU, so make sure you have a lawful reason to collect and use it, especially for cold outreach. If in doubt, ask a lawyer.

Do I need a Google account or a Google Maps API key?

No. You don't need a Google account, a login, cookies or a Places API key, and there is nothing to set up.

How many places can I get?

As many as Google Maps has for your search in the area. A single Google Maps search stops at 200 places, but the scraper searches a large area piece by piece, so a city-wide search goes well beyond that. For a whole country, list its cities or regions as locations.

How do I keep my first run small and cheap?

Set 🛑 Max places in total (for example 50): the run stops there, whatever else you set. 💯 Max places per search limits each search term in each location. Filters are free and places they leave out are not charged, so filtering early (with a website, at least 4 stars, a category) also lowers the cost. Paid options are marked ($) in the form: emails and social profiles, reviews, place details and photos. Emails are charged only for places whose website gave something.

Can I search several keywords or cities at once?

Yes. Each search term is searched in each location, and a place that several searches find appears once.

Can I get every business in an area, not just one type?

Yes. Tick Every place in the locations and type the locations; search terms can stay empty. You get every business in the area, each once: shops, offices, clinics, restaurants, schools, parks and the rest. A whole city holds tens of thousands of places: start with a district or postal code, or set Max places per search.

Show 19 more questions
Can I search around an address, or in an area I draw?

Yes. Type an address or coordinates in Near and a distance in Radius to get every matching place within that circle, such as all dentists within 3 km of your office. For any other shape, a sales territory, a delivery zone or a district Google has no name for, draw it at geojson.io, copy the GeoJSON and paste it into Custom area: ``json { "searchTerms": ["plumber"], "customArea": {"type": "Polygon", "coordinates": [[[-97.76, 30.25], [-97.72, 30.25], [-97.72, 30.29], [-97.76, 30.29], [-97.76, 30.25]]]} } ` Each polygon of a MultiPolygon or FeatureCollection is searched as its own area. You get only the places inside the shape and pay only for those, unless you turn off Only places inside the location: they are then kept with in_location` set to false. Areas work with search terms, categories and Every place in the locations.

Can I pick exact Google Maps categories?

Yes. Pick them in Categories, from Google's own list of about 4,000. A search for dentist with Orthodontist and Pediatric dentist picked keeps only those specialists. Pick categories with no search term and each one is searched by its name, or turn on Every place in the locations as well to go through every place in the area and keep the ones with those categories. A place lists up to about ten categories, and it is kept when any of them is picked, so pick the close ones too (Lawyer, Divorce lawyer, Family law attorney) when businesses file themselves differently. Google Maps also uses names of its own beyond its official list, such as Attorney (its US name for Lawyer), Vacation rental or Subway station: they are in the field, shown next to the category they belong to (Lawyer (Solicitor, Attorney)), and picking Lawyer matches all of them. Categories match in the run's Language, in 38 languages, including English, Spanish, French, German, Portuguese, Italian, Dutch, Japanese and Chinese. Google Maps' own extra names were collected in English, Spanish, Portuguese, French, German, Italian and Dutch; in the other languages, the official names match.

How do I set categories through the API?

Pass the category names as the Categories field shows them, in English: "categories": ["Orthodontist", "Pediatric dentist"]. The other names in brackets in the field work too ("Attorney" or "Solicitor" for Lawyer), and the names stay the same whatever the run's Language, so you can copy them from the category and categories columns of an English run. A run with a name that is not a Google Maps category stops at the start and says which one.

Can I get the shops inside a mall, or the restaurants at an airport?

Yes. Turn on Businesses inside each place and search for the malls, outlet centres or airports (or paste their URLs). Every business in each place's Google Maps directory gets its own row, with located_in set to the mall and directory_section to the part of the directory it is listed in, and the mall's row shows places_inside_count. Barton Creek Square in Austin lists 214 businesses; Austin-Bergstrom airport 256. Filters and Categories apply to those businesses too, so a shopping mall search with Categories set to Shoe store gives the shoe shops inside the malls. Max places per search counts the malls a search finds, Max businesses per place caps each directory, and Max places in total caps the whole run: set it to stop after a number of shops. Each business is charged as a place. It works for malls, department stores, airports, stations, hospitals and medical centers, markets and food courts, universities, convention centers, stadiums and arenas, casinos, theme parks, hotels, tourist attractions and other large sites. You can leave it on whatever you search for: a dentist or restaurant search runs just as fast.

Can I find businesses with bad ratings or few reviews?

Yes. Set Max rating (for example up to 3.0) or Max reviews (for example 20) to find businesses with unhappy customers or new and small businesses. "Claimed by owner" finds listings the owner hasn't claimed yet.

Will I get places outside the city I typed?

No, not with "Only places inside the location" on (the default). Google shows nearby places around the edges of an area, so a search for Brooklyn also brings up Queens. The scraper keeps only the places in the location you typed. A postal code keeps only places with that postal code. Some districts, such as Shoreditch in London, never appear in Google's addresses, and you still get every place in them. Turn it off to keep everything around the area too: the in_location column then shows which places are outside it.

What is a service-area business?

A business that goes to its customers, such as a plumber, a cleaner or a mobile mechanic, can hide its street address on Google Maps and show the area it serves instead. These places have is_service_area set to true and no street or postal code. A search by postal code doesn't include them, since they have no postal code.

Can I scrape hotels?

Yes. Search hotel in a city: each hotel has a hotel object with its stars, check-in and check-out times, amenities, the nightly price for the dates Google picks and every booking site's offer (Booking.com, Expedia, the hotel's own site...), each with its price and link. Turn on Place details for the full amenities list.

Will I get an email for every place?

Only where the business publishes one on its own website. Many small businesses don't. You pay for emails and social profiles only for the places where the website gave something.

Which email verifier should I pick?

Any of the eight works for finding dead mailboxes. They differ on catch-all domains, which accept mail for every address, so a normal check can't tell a real mailbox from a made-up one. Reoon, ZeroBounce, NeverBounce, MillionVerifier, DeBounce and Truelist return catch_all for those. Bouncer and BounceBan also try to tell whether the address exists on a catch-all domain, at a higher price per check. Catch-all domains are common among businesses on Google Workspace. If your verifier fails mid-run (a timeout, the credits run out), the run carries on and the emails it couldn't check keep their free status.

What company details do I get?

When 📧 Emails and social profiles is on, each business comes with its company details, in legal_notice: | Field | What it is | |---|---| | legal_name, legal_form | The company's legal name and its form (GmbH, UG (haftungsbeschränkt), AG, e.U., SARL, SAS, Ltd, S.L., S.r.l., B.V., SRL, Einzelunternehmen...) | | registration_numbers | Each with its type, value and register: HRB or HRA with the Amtsgericht (Germany), FN with the court (Austria), UID (Switzerland), SIREN and SIRET with the RCS city (France), the company number (UK), partita IVA and REA (Italy), CIF (Spain), KvK (Netherlands), the enterprise number (Belgium) | | vat_ids | VAT IDs such as DE136695976 or ATU13585627, written without spaces | | share_capital | The amount and currency, with the text as written | | people | The owners, managing directors, directors and the person responsible for the content, each with their role as the business writes it and a role_type such as owner or managing_director | | page_url | The page the details come from | Only the business's own details: not its web designer's, host's or insurer's. It costs nothing extra. If you don't need people's names, for example for GDPR, turn off Names in company details.

Where are company details strongest?

It depends on what businesses in each country publish. In our tests on dentists, lawyers, plumbers and accountants: | Where | What to expect | |---|---| | Germany, Austria | The best results. Nearly every business gives its legal name, its register or VAT number and the owner or managing director by name. | | Switzerland | Most businesses give their legal name and UID. Fewer name a person. | | France, Belgium | About half to two thirds of businesses, usually with the SIREN or enterprise number. Some name the manager or the publication director. | | Italy, Spain | Often the partita IVA (Italy) or CIF (Spain). Legal names and people are rarer. | | UK, Netherlands | Fewer places, usually with the company or KvK number. People are rarely named. | | Outside Europe | Few places: most businesses outside Europe don't publish company details. | People are listed when the business names them with their role. Group websites with several locations can list a number for each location.

Can I get all the reviews of the places?

Reviews per place adds a few reviews to each row, filtered by date and keywords if you like. They are Google's own reviews: the partner reviews Google shows for some hotels (Tripadvisor, Booking.com) are not included. For every review, one row per review, feed the url or place_id column into Google Maps Reviews Scraper.

Can I get the photos of each place?

Yes. Set Photos per place (up to 200) to get each place's photos at full size, in the order Google's photo gallery shows them. From the date shown on the Pricing tab you pay per photo, 360 photo or video delivered (until then, once per place that gets photos); places without photos are free. - images lists the photo links. 360 photos count as photos. Videos come on top of your number (25 photos gave 25 to 32 items in our tests), are charged like photos, and are listed in image_details. - image_details has every photo and video collected, each with its full-size link, media_type (photo, video or 360), source_kind (posted on Google Maps by a visitor or the business, a hotel partner's photo, or Street View) and, for a video, its length and MP4 link. - Labels: Google labels a place's top photos (about 10) Inside, Outside, Food & drink, Team, Vibe or Products, so most photos have none (categories is null, or empty when Google ranked the photo but gave no label); image_categories counts the labels per place. They are included in the photo price. - Photo authors (off by default, no extra cost): who posted each photo (name, Google Maps profile and picture), whether it was the business itself, when it was uploaded and taken, its original size and the app it came through. Runs are slower with it, and authors' names are personal data: turn it on only if you need them. Photos come from the place's main gallery; by_owner marks the ones the business posted.

Can I get popular times, the menu or "People also search"?

No. Google Maps shows visitors who aren't signed in a limited view, and this scraper never signs in to a Google account. As of November 2026 the limited view has no popular times (busy hours or live busyness), menu link or menu, "People also search for", questions and answers, fuel prices for every grade, EV charger details, or the date the hours were last updated. Other scrapers that don't sign in see the same view, so these fields are usually empty there too. What Google still shows, this scraper gets: for prices, the fuel price on the map, hotel prices, and an estimate of the price per person from reviews (Place details).

What happens when a run fails?

The run's status message says why, and the log names each input that failed. If a mistake in the input stops the run before anything is scraped, the run ends without results and its status message says what to change. Either way the Actor sends us a short error report, so we can fix the cause even if you never open an issue: the Actor's build, the reason, the counts from the end-of-run summary, whether your Apify plan is free or paid and, for an unexpected error, where in our code it happened. Web addresses and @usernames are blanked out first. The report never includes your input, your account, the pages you scraped or your results. Every run, failed or not, also sends one usage line as it ends, so we can see which options people use, what runs cost us and how well the data is filled: how many of each charged event it used (for example 120 full details) and the price your plan paid for them; the run's platform cost by item and its resources (time, memory, proxy traffic); whether it stopped at your maximum cost or maximum items; how it was started (Console, API, schedule, saved task, and for API runs the kind of tool, such as Make, Zapier or the Apify client, never the tool's full identity); our scraper's own retry and timing counts; and for each output field, how many results had it filled (counts only, never the values). That never includes your input, your account, your IP address, the pages you scraped or your results either. If you need help with a run, open an issue on the Issues tab and attach the run, or email support@kekliktech.com with the run's link; the run's log ends with both.

How much does it cost?

$3.00 per 1,000 businesses on Apify's free plan, down to $1.10 on the Business plan. Use the calculator above for your numbers.

Do I need an Apify account?

Yes. The scraper runs in your Apify account and Apify bills you per result. A free Apify account is enough to try it.

Can you run it for us instead?

Yes. We can run it on a schedule, clean up the results and send them to your sheet, CRM or database. Ask for a quote and we reply within one business day.

7Updates

Kept working.

We run a small test search every day and fix the scraper when Google Maps changes.

Working26 of 26 days passed · launched Oct 16, 2026
  1. Nov 9, 2026

    Every business in districts Google leaves out of its addresses

    Google never writes some districts into its addresses: a shop in London's Shoreditch is just "London" on Google Maps. Only places inside the location now gets you the places in those districts too, so a search for every business in Shoreditch gives you all of them, 8,427 in our test. Cities, postal codes, counties, states and the districts Google does name (Brooklyn, Camden Town, Kreuzberg, Le Marais) work as always.

  2. Nov 9, 2026

    Reviews mentioning searches every review

    Reviews mentioning now finds matching reviews among all of a place's reviews, and much faster. Your words match as whole words, a phrase as a phrase, in the language each review was written in. Turn on Thorough search to also match inside longer words ("park" finds "parking") and in Google's translations of reviews written in other languages.

  3. Nov 9, 2026

    Reviews sorted by rating, and faster reviews

    Google's own sort by highest or lowest rating gives only a sample of a place's reviews. With Reviews order on highest or lowest rating, you get each place's latest 600 reviews (all of them when it has fewer) sorted by stars, newest first within a star. Reviews also come in faster, and date filters search each place's newest 600 reviews.

All 32 updates
  1. Nov 9, 2026

    Holiday notes, local names and price per person

    Three new fields, at no extra cost: - hours_notices: the notes Google shows above a place's hours for the coming week, such as "Veterans Day might affect these hours" or a holiday's own hours set by the business, with the day, date and that day's hours. Empty in weeks without a holiday. - local_name and local_address: Google translates names and addresses into the run's language. These give you the originals, in the place's own language and script ("一蘭 渋谷店" for ICHIRAN Shibuya in an English run). Mostly outside English-speaking countries; name and address stay as they are. - price_per_person, with Place details on: how much reviewers say they spent per person (restaurants, bars, cafes), the most common answer, how many reviews answered and how many gave each answer. It's an estimate from reviews, not Google's own figure.

  2. Nov 9, 2026

    Businesses inside each place, at full speed

    Leave Businesses inside each place on whatever you search for: malls, airports, stations, hospitals, markets and hotels get their directories, and a search for dentists runs just as fast as with the option off.

  3. Nov 9, 2026

    Richer photos: full size, types, labels and authors

    Photos per place gives you every photo at its original size, including the photos of Google's hotel partners. Videos come on top of the number of photos you ask for, in a new image_details field, where every photo and video says what it is (photo, video or 360), where it comes from (visitors and the business, a hotel partner or Street View) and, for a video, its length and a link to the video file. The images column keeps its list of links. Photos also carry Google's labels: Inside, Outside, Food & drink, Team, Vibe and Products. Google labels only the top photos of each place, so most photos have none. New switch Photo authors, off by default and at no extra cost: who posted each photo (name, Google Maps profile and picture), whether it was the business itself, when it was uploaded and taken, its original size and the app it came through. It makes runs slower, and authors' names are personal data, so turn it on only if you need them. From the date shown on the Pricing tab, photos are charged per photo, 360 photo or video delivered, and that price includes everything above. Videos come on top of the number you set, so they are charged too. Places without photos stay free. Until that date, photos are charged once per place.

  4. Nov 8, 2026

    Owner reply dates and edited reviews

    Google shows "2 days ago" and dates an edited review by its last edit. Reviews added with Reviews per place now give you the real date the owner replied, and whether the reviewer edited the review and when.

  5. Nov 8, 2026

    Foursquare and Discord links

    With Emails and social profiles on, you also get the business's Foursquare page and an invite to its Discord server, next to its Yelp and Tripadvisor pages.

  6. Nov 8, 2026

    Company details and owners' names

    With Emails and social profiles on, you also get each business's company details: its legal name and form, registration numbers such as HRB, SIREN or the UK company number, VAT IDs, share capital and its owners or managing directors by name, in a new legal_notice field and view. Strongest in Europe, above all in Germany, Austria and Switzerland. No extra cost. Turn off the new Names in company details option to leave out people's names.

  7. Nov 6, 2026

    Ready for AI agents

    Set a maximum cost, as AI agents usually do through Apify's MCP server, and the run stops cleanly when it reaches it, keeps every place saved so far and says why. Every output field comes with an example value, and the input descriptions are plain text that agents read as easily as people.

  8. Nov 6, 2026

    An easier input form

    The form opens with only what a first run needs: search terms, locations, how many places, emails and language. Everything else sits in sections named after what is inside: free filters, email options, each paid add-on marked ($), other ways to choose places, and advanced settings. Language is a list of names, review dates use a date picker, and Categories shows each category once with its other names (Lawyer: Attorney, Solicitor), so typing any of them finds it. Every help text is short and plain. Saved tasks and API calls keep working as always.

  9. Nov 6, 2026

    Businesses inside malls and airports

    Turn on "Businesses inside each place" to get, for each mall, outlet centre or airport found, every business its Google Maps directory lists: one row each, with the section it is listed under (Clothing, Food & Drink...). Filters apply to them, so you can ask for the shoe shops inside the malls of a city.

  10. Nov 6, 2026

    Search around an address, or in your own area

    Search a circle, such as every dentist within 3 km of an address, with the new Near and Radius fields. Or draw any area, a sales territory or a delivery zone, and paste it as GeoJSON in Custom area. You get the places inside it, and you pay only for those.

  11. Nov 6, 2026

    Exact name match

    The name filter has a third choice: keep only places named exactly as your search term, such as "Starbucks" without "Starbucks Coffee" or "Starbucks Reserve".

  12. Nov 6, 2026

    Yelp and Tripadvisor pages

    With Emails and social profiles on, you also get the business's Yelp and Tripadvisor pages, next to its social profiles.

  13. Nov 6, 2026

    Review filters

    Reviews added to places can be limited to recent ones (newer than a date, or the last 6 months) and to those that mention your words, such as parking or delivery. A new switch leaves out reviewer names and profiles for work under personal data rules.

  14. Nov 6, 2026

    Pick Google Maps categories

    A new Categories field lists Google's own place categories, about 4,000 of them, and about 400 labels Google Maps uses beyond them, such as Vacation rental, Fuel pump or Subway station. Local names count too: picking Lawyer also finds places labelled Attorney in the US or Solicitor in the UK. Pick the ones you want and you get only places with at least one of them: Orthodontist and Pediatric dentist out of a dentist search, or every vegan restaurant in an area with Every place in the locations. With no search term, each picked category is searched by its name. Categories work in 38 languages, and you pay only for the places that match.

  15. Oct 27, 2026

    Every place in an area

    Tick "Every place in the locations" to get every business in a district, postal code or city, whatever its kind: shops, offices, clinics, restaurants, schools, parks and more, with no search term needed.

  16. Oct 27, 2026

    Hotels and gas stations

    Hotels come with their stars, check-in and check-out times, amenities, the nightly price for Google's dates and every booking site's offer with its price and link. Gas stations come with the fuel price Google shows on the map.

  17. Oct 27, 2026

    More about each place

    Every place says whether it was open when scraped, with Google's line for it ("Closed · Opens 8 AM"), its logo, and the mall, airport or building it is inside. Booking links list every way to book a table, an appointment or a waitlist spot, one link per booking site, and Place details add the price level where Google shows it.

  18. Oct 27, 2026

    Place IDs and locations in parts

    Paste Google Place IDs to scrape those places, or give a location as country, state, county, city and postal code when a name exists in many places.

  19. Oct 27, 2026

    Clearer output

    The Output tab describes every field inside lists and objects (opening hours, reviews, email details, owner posts...), and a new Hotels and gas stations view shows the new data.

  20. Oct 20, 2026

    Check emails with your own verifier

    Pick your email verification service (Reoon, ZeroBounce, NeverBounce, MillionVerifier, DeBounce, Truelist, Bouncer or BounceBan) and paste its API key, and every email is checked for a real mailbox before it reaches your list. You get only valid emails, and catch-all domains are marked as such. The checks use your own credits with that service; the Actor charges nothing extra. Without a verifier, each email says what its free checks found: likely deliverable (published on the business's own website, on a domain that receives mail), the page it was found on, and whether it was a clickable link or plain text. Every email you get is on a domain that receives mail.

  21. Oct 20, 2026

    More about each business

    Every place has its county, US state code, country name, the Google profile of whoever manages the listing, and a flag for businesses that serve customers at their address and hide their street. Place details add a Street View link, the delivery and takeout services behind "Order online" (DoorDash, Uber Eats...), and the owner's latest posts, events and offers with their coupon codes. With emails on, you also get the business's WhatsApp chat link when its website has one. With "Only places inside the location" or "Only places of the searched type" turned off, every place says whether it is in your location and of the type you searched, so you can sort them yourself. Brand searches are matched strictly, so a dental clinic without "dentist" in its name is still a dental clinic.

  22. Oct 20, 2026

    Email labels

    Each email comes with details: its mail provider (Google Workspace, Microsoft 365, Zoho...) and flags for role addresses (info@, sales@), free mailboxes and the business's own domain. You get real addresses only, with no no-reply or throwaway ones, and an obvious typo in a mailbox domain is corrected and flagged. A Google Maps search URL pasted with a rating filter (such as 4.5+) keeps that filter. Places scraped from Google Maps URLs come with the same fields as places found by a search, including order and reservation links.

  23. Oct 20, 2026

    Business photos

    Set Max images per place to get links to up to 200 photos of each business, full size.

  24. Oct 20, 2026

    Only places inside your location

    A search keeps only the places that are in the location you typed: a search for Brooklyn gives you Brooklyn, not Queens next door, and a postal code gives you only places with that code. It's on by default and can be turned off.

  25. Oct 20, 2026

    More filters

    Find places by maximum rating, maximum number of reviews, whether the owner has claimed the listing, and the search term in their name. With emails on, you can keep only places that have an email.

  26. Oct 20, 2026

    Cleaner categories

    You get only the kind of business you searched for: a consultancy called "My Dentist Consulting" doesn't end up in a dentist list.

  27. Oct 18, 2026

    Clean finish on empty searches

    A search with nothing to find finishes cleanly and says so.

  28. Oct 16, 2026

    Pricing set

    $3 per 1,000 businesses, with optional emails, place details and reviews.

  29. Oct 16, 2026

    Launched

    Search any business type in any area, with emails and social profiles from business websites.