Google Maps Search API

Google Maps scraper API: local businesses for any search

Search 'dentist in Austin' or 'coffee in Tallinn' and get 20 businesses back as rows: name, rating, review count, category, address, phone, website, opening hours and GPS coordinates. One search costs €0.0015.

per 1,000 calls
€1.50
per call
€0.0015
0.15 cents
rows per call
up to 20
per 1,000 rows
≈ €0.075

The Google Maps list, as a spreadsheet

The Google Maps scraper API returns 20 businesses per search, in the order Google Maps lists them, with name, star rating, review count, category, address, phone, website, opening hours for each day and GPS coordinates. One search costs €0.0015, so 1,000 searches cost €1.50 and give you up to 20,000 business rows. Save your searches once, and every business list is stored in your Scrapewise account for the table, Excel, your AI assistant or the API.

Anyone who has built a local lead list by hand knows the routine. Search, click a pin, copy the phone number, copy the website, go back, click the next pin. Twenty businesses take half an hour, and a list for 50 cities is a week of copy and paste. The official Maps developer API can do it too, but you need a Google Cloud project, a billing account and code before you see a single row.

Here you type the same search you'd type into Google Maps and get the list as a table. Each row also carries the place ID. Send it to the Google Maps place details API for one business in depth, with popular times, or to the Google Maps reviews API for reviews and review topics. If Excel is where your list ends up, our guide on how to export Google Maps to Excel or CSV walks through the steps. Prices for every source are on the all data APIs and prices page.

Who builds lists from Google Maps

  • Local marketing agencies

    You sell websites, SEO or ads to plumbers, dentists and salons. Search '[trade] in [city]' and you have names, phone numbers and websites ready for outreach, with rating and review count to decide who to call first.

  • Franchise and store owners

    Search your own category around your address and see every competitor Google shows, with their rating, review count and hours. Do it for each branch.

  • Lead-gen sellers

    You build and sell B2B lists. A list of 2,000 restaurants in 10 cities is 100 searches, and 100 searches cost €0.15.

  • People planning a new location

    Before you sign a lease, count the gyms, cafes or clinics near the address and check how well rated they are.

How it works

  1. Save the searches

    Enter a keyword with a place, like 'plumber in Leeds', or paste a Google Maps search link. Add one search per city or neighborhood. Each search is one call at €0.0015.

  2. Run once or on a schedule

    Run the batch now, or monthly to catch new businesses. Every run is saved with its date for 90 days.

  3. Build your list

    Filter by rating or category and download Excel for your CRM, pull rows by API, or ask your AI assistant: 'which plumbers in my list have under 4 stars and no website?'

Set it up once. The data keeps coming.

Save your search once and it runs by itself. Every run lands in your own Scrapewise database, and you pick how to read it.

  1. Set it up once

    Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.

  2. Runs on your schedule

    Pick daily, weekly on the days you choose, every few days, or the first or last day of the month. Scheduled runs start at night, European time. Need it more often? Start runs from your own code.

  3. Saved in your database

    Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.

  4. Use it your way

    Open the table in the web app and download the latest run as an Excel file. Ask your own AI assistant about it. Or pull the rows into your code with an API key.

Ask your AI assistant about your own data

Connect Claude Desktop, Claude Code or another MCP app with a read-only key. The assistant reads the rows you've already collected, at no extra cost on Scrapewise. With a full-access key it can start a run for you too.

  • Which of my ASINs lost the Buy Box this week?
  • Which competitor cut prices the most since Monday?
  • Show the keywords where I dropped out of the top 10.

What you send and what you get back

Send a keyword plus a place, or a Google Maps search link. Each call returns up to 20 businesses, one row per place. Besides the contact basics, each row lists the attributes Google shows for that place, like dine-in, delivery, payments, parking and accessibility, one column per value. That's why the table is very wide.

You give
  • Google Maps search URL or keyword + placerequired
    coffee in Tallinn
You get

Up to 20 rows per call, 393 columns each

  • sw status
  • sw source url
  • sw position
  • sw title
  • sw url
  • sw external id
  • sw id kind
  • sw image
  • sw rating
  • sw rating count
  • sw location
  • sw fetched at
  • +381 more, see all columns

Sample: Google Maps search for 'coffee in Tallinn'

Real business rows from a live search in September 2026. Phone numbers and addresses are the businesses' public listings. All columns the API returns are shown, so scroll sideways to see the attribute columns.

8 sample rows, showing 15 of 393 columns. One call returns up to 20 rows.

8 sample rows, showing 15 of 393 columns. One call returns up to 20 rows.
sw status_sw_statusResult of this row: OK, no results, or an errorsw source url_sw_source_urlThe input you gave: a link, keyword or IDsw position_sw_positionRank of the item as the site shows itsw title_sw_titleMain name of the itemsw url_sw_urlDirect link to the itemsw external id_sw_external_idThe site's own ID for this itemsw id kind_sw_id_kindWhat kind of ID the external ID issw image_sw_imageMain image linksw rating_sw_ratingStar rating from 0 to 5sw rating count_sw_rating_countHow many ratings or reviewssw location_sw_locationPlace the result is priced or ranked forsw fetched at_sw_fetched_atWhen we collected this row (UTC)positionpositionRank on the pagetitletitleTitleplace_idplace_idGoogle place ID
OKhttps://www.google.com/maps/search/coffee+in+Tallinn1Kodu Coffee Roasterhttps://www.kodu.coffee/ChIJa3N4WbqTkkYRXDieubieubMplace_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWkgFtDlTS-9BepnyV6L3_397W6MfrICEjbkW2_1F5LLX7LGnuxc7aNxDXPVeDtYrGA5gMtzfDaGTXc3YKbyIeRrvqTn4DhzkY1TyO5xcWPaSAQjjwHXr6FPHyB92IoTWI7NT2wWoOn0qVA=w80-h106-k-no4.8139Sadama tn 4, 10111 Tallinn, Estonia2026-09-16T10:26:41Z1Kodu Coffee RoasterChIJa3N4WbqTkkYRXDieubieubM
OKhttps://www.google.com/maps/search/coffee+in+Tallinn2Paper Mill Coffeehttps://papermill.coffee/ChIJe8-Kv9KVkkYRTzFbwfJwU5gplace_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWmN_96o3XBRwHkosLRbeEs0DG-pEc-4m0MsTXswlqaQLHVdO5nCT9Yd8SV0xcDA8DWBJRyaQZlgy_CXs4jhAiQNermClRbxHyfUg77vEjhK9LW_H_Y_WWPxaTNVRhofOV_ErDBpZg=w80-h106-k-no4.8469Masina tn 20, 10144 Tallinn, Estonia2026-09-16T10:27:18Z2Paper Mill CoffeeChIJe8-Kv9KVkkYRTzFbwfJwU5g
OKhttps://www.google.com/maps/search/coffee+in+Tallinn3The Brick Coffee Roasteryhttp://thebrickcoffee.ee/ChIJ88Bs632TkkYRr6xgYOeC0x4place_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWmXO-z3n8X3Ig_BucjkrzDfMMHD1_awFosJPilIXfZKSriashmlMPmFcgmtXcnS2jed0FfmHIne_xwvNuFKnjiDZVUFZe9s6D2i62NBY1_RbRumgMUCWa4ZOpHdaEpDnpGkYzS1=w80-h106-k-no4.8394Telliskivi tn 60-2-i4 hoone, 10121 Tallinn, Estonia2026-09-16T10:27:55Z3The Brick Coffee RoasteryChIJ88Bs632TkkYRr6xgYOeC0x4
OKhttps://www.google.com/maps/search/coffee+in+Tallinn4Värav Coffee and toastChIJ4-IA81qTkkYRa9bzDnN6RRAplace_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWm1DUmg5hhEwFHh1tsH6Zx-CFkOnZydAMxSsLR1YUl8JgjFlv5zBJSXQiFYJCG4INEIvgFnZmMT1AoC-oZajbBt-0MPxJ6BlAXRCNpMIi5vIzNzSOwt-LP0h-3twfzCeQ1jZmo=w80-h106-k-no4.6775Väike Rannavärav 4, 10111 Tallinn, Estonia2026-09-16T10:28:32Z4Värav Coffee and toastChIJ4-IA81qTkkYRa9bzDnN6RRA
OKhttps://www.google.com/maps/search/coffee+in+Tallinn5Surfcafe Tallinnhttps://www.instagram.com/surfcafe_tallinnChIJx8uo4nyTkkYRIVSj7k0LEOQplace_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWlwyN4d-Mgso_rTKnQKwK3ybu-IO98GBZBwDBYIcISYjND12uA7m879Jq1AlEZjliKD76wHBr6FGs8BXzWOviALHumgKFCev93JeuucCrK-G1dmbEk8YLipBfHfmRxreHKEMZ_j=w122-h92-k-no4.8287Kopli tn 1, 10149, 10412 Tallinn, Estonia2026-09-16T10:29:09Z5Surfcafe TallinnChIJx8uo4nyTkkYRIVSj7k0LEOQ
OKhttps://www.google.com/maps/search/coffee+in+Tallinn6Ristikheina Cafehttp://www.ristikheinakohvik.ee/ChIJUw1yw3-UkkYRWrv5Qc5etA8place_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWl6v9vjpS4-33T_6IqbJ0Cdof4GIwOALRHLoI7NEBrpmdqMLW2EHRerILkughgnsh6-GNAHezvUmBHbZlwbwkD7zR70Ct6PEsHW1_bRL5dPqUTxX9PyClEuebzgnCoN9M0yPEyV-w=w122-h92-k-no4.71222Ristiku tn 57, 10320 Tallinn, Estonia2026-09-16T10:29:46Z6Ristikheina CafeChIJUw1yw3-UkkYRWrv5Qc5etA8
OKhttps://www.google.com/maps/search/coffee+in+Tallinn7Cafe Maiasmokkhttp://www.kohvikmaiasmokk.ee/ChIJQ--MSGKTkkYRFPIs_SFl3Hgplace_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWm1tf4hdcu5KsGiHNxtAlwP7hMEsmb_3mGvay3pvsDrBCeJBN9AJIQbBW1JtPi6UjfppyMK3Vlhar4Psqn-af2PLbq0MqZOURTBwJ--1cFBG21XuTEjNpf-VnQci9ntRgi5kEwLNg=w122-h92-k-no4.53911Pikk tn 16, 10123 Tallinn, Estonia2026-09-16T10:30:23Z7Cafe MaiasmokkChIJQ--MSGKTkkYRFPIs_SFl3Hg
OKhttps://www.google.com/maps/search/coffee+in+Tallinn8Coffee Grail HouseChIJ2YjLBvWTkkYR8O1BE5e1TGIplace_idhttps://lh3.googleusercontent.com/gps-cs-s/AHRPTWl7hdu13ij3wFhVAi4rxVZIS5Rlg0loz9Kb2G2aK8LBtOLzMxcpUU8yQoXdLTsSik2Uff1KQ0n3avGO82Trwy2eScIrXqNSUIiuewfSsp30-Ul17jKFHiSLtlGJZWW4gZ-PzWDg6oVNcRGv=w122-h92-k-no4.876Müürivahe 52, 10140 Tallinn, Estonia2026-09-16T10:31:00Z8Coffee Grail HouseChIJ2YjLBvWTkkYR8O1BE5e1TGI

What each column means

A Maps search returns 393 columns because Google lists dozens of attributes per business. You'll use a few groups most. The columns starting with 'sw' have the same names on every Scrapewise data API. Columns with a number in brackets, like types[0] and types[1], are lists split into one column per value.

Name, rank and IDs

Position is the order Google Maps listed the place. Place ID and data ID identify the business, and you send them to the place details and reviews APIs. Provider ID is Google's knowledge graph ID, which the food delivery API uses.

  • sw position
  • position
  • sw title
  • title
  • sw external id
  • sw id kind
  • place_id
  • data_id
  • data_cid
  • provider_id

Contact details

Address, phone and website as the business lists them on Google Maps. The sw url column holds the website when there is one.

  • address
  • sw location
  • phone
  • website
  • sw url

Rating and reviews

Star rating, total review count and one short quote from a review, as Maps shows under the listing. The quote has no reviewer name.

  • sw rating
  • rating
  • sw rating count
  • reviews
  • user_review

Category

The main category plus every extra category the business picked, as text and as Google's category codes.

  • type
  • types[0]
  • types[1]
  • type_id
  • type_ids[0]
  • type_ids[1]

Location

Latitude and longitude as two separate number columns, ready for a map or a distance calculation.

  • gps_coordinates_latitude
  • gps_coordinates_longitude

Hours

Open state is the live text, like 'Open, closes 6 PM'. Then one column per weekday with that day's hours.

  • open_state
  • hours
  • operating_hours_monday
  • operating_hours_tuesday
  • operating_hours_wednesday
  • operating_hours_thursday
  • operating_hours_friday
  • operating_hours_saturday
  • operating_hours_sunday

Service options and attributes

True or false columns for dine-in, takeout and delivery, a link to order online when there is one, and list columns for what Google shows under the listing: offerings, payments, parking, accessibility, pets and more. The price column often holds one of these attribute texts, like 'Dogs allowed', so don't read it as a price level. The number after extensions changes from place to place, because each business shows a different set of sections, so match on the section name at the end.

  • service_options_dine_in
  • service_options_takeout
  • service_options_delivery
  • service_options_no_contact_delivery
  • service_options_curbside_pickup
  • service_options_drive_through
  • order_online
  • extensions[0]_service_options[0]
  • extensions[9]_payments[0]
  • extensions[3]_accessibility[0]
  • extensions[11]_parking[0]
  • price
  • extracted_price

Images and request details

The listing thumbnail, your search as Google read it, and when we collected the row.

  • sw image
  • thumbnail
  • sw status
  • sw source url
  • sw fetched at
  • ctx_search_parameters_q
  • ctx_search_information_query_displayed
  • ctx_search_information_local_results_state

What you can do with a Google Maps list

01

Build a local lead list

Search 10 trades across 50 cities. That's 500 searches, up to 10,000 businesses with phone and website, for €0.75.

02

Pitch businesses with weak reviews

Filter the list to places rated under 4.0 or with fewer than 20 reviews. Those owners are the ones who listen when you offer reputation or review services.

03

Find businesses with no website

Sort by the website column and take the empty rows. A salon with 150 reviews and no website is a warm lead for a web designer.

04

Map your competitors

The latitude and longitude columns drop straight into Google My Maps or any mapping tool, so you can see how crowded each street is.

05

Check where you show up

Run 'pizza near [neighborhood]' for 5 neighborhoods and find your business in the position column. If you're 3rd in one area and missing in the next, you know where to work.

06

Compare opening hours

Each weekday has its own hours column. See which competitors open early on Sunday or close late on Friday before you change your own hours.

Real setups and what they cost

  • Web design freelancer

    Searches 5 trades in 20 nearby towns once, then filters for businesses with no website. 100 searches, up to 2,000 businesses, for €0.15.

    calls per month
    100
    cost per month
    €0.15
  • Agency building lists for clients

    Runs 10 trades in 100 cities every month to keep lists fresh. 1,000 searches, up to 20,000 rows, for €1.50 a month.

    calls per month
    1,000
    cost per month
    €1.50
  • Coffee chain watching 12 branches

    Searches 'coffee' around each of 12 branches every day to track new competitors and its own position. About 360 calls a month, €0.54.

    calls per month
    360
    cost per month
    €0.54

Why pull Google Maps data with Scrapewise

  • No Google Cloud setup

    No API key, no billing account with Google and no code needed to get your first list. Type a search in the portal and read the rows.

  • One price per search

    20 places for €0.0015, with phone, website, hours and GPS in the same call. No extra charge per contact field.

  • Rows that lead somewhere

    Every place comes with its IDs, so the same list feeds the place details, reviews and food delivery APIs without searching again.

What your Google Maps list costs

Enter how many searches you run: keywords times cities times how often. Each search returns up to 20 businesses for €0.0015. Compare all data APIs

Rows (up to)
20,000
You pay
€1.50
FAQ

Frequently asked questions

Up to 20, which is the list Google Maps shows for that search. For a bigger list, split it by city or neighborhood: 'dentist in Brooklyn' and 'dentist in Queens' return different places.

Ready to pull Google data into your stack?

Sign up and your first 5 searches are free. A 10,000-business list costs about €0.75 on pay-as-you-go pricing.