Google Maps data into Google Sheets

Paste one script, type a search in a cell, data fills the sheet.

One custom function in Sheets the Maps rate per business result Paid funds never expire
WHAT YOU GET

What data do you get?

One custom function turns a plain search into a grid of Google Maps data, right inside Google Sheets. Nothing to install from a marketplace, and it runs on any normal Google account.

Identitytitle · categoryNameContactphone · websiteReputationtotalScore · reviewsCountPlaceaddress · city · stateAlso in JSONopeningHours · location
PULLED LIVE FROM THE API, AUGUST 12, 2026

A real result, not a mockup

This is the actual data a call for coffee shops in Austin returned, in under a second. The script drops these straight into your sheet, one business per row.

NameAddressCategoryRatingReviews
Epoch Coffee221 W N Loop Blvd, Austin, TX 78751Coffee shop4.52506
Terrible Love3908 Avenue B, Austin, TX 78751Coffee shop4.9418
Hometown Coffee - East Austin1101 Springdale Rd, Austin, TX 78721Coffee shop4.978
Mozart's Coffee Roasters3825 Lake Austin Blvd, Austin, TX 78703Coffee shop4.510823
Klerje Coffee1614 E 6th St Apt 112, Austin, TX 78702Coffee shop4.8180

Here is the raw JSON for the first row, so you can see the exact field names the script reads:

{ "query": "coffee shops in Austin", "count": 5, "tookMs": 891, "places": [ { "position": 1, "title": "Epoch Coffee", "address": "221 W N Loop Blvd, Austin, TX 78751", "phone": "(512) 454-3762", "website": "http://www.epochcoffee.com/", "categoryName": "Coffee shop", "totalScore": 4.5, "reviewsCount": 2506 } ] }
THE SCRIPT

How do you set it up?

This is an Apps Script you paste into your own sheet once, not a native add-on. About two minutes, and there is nothing to install. No key yet? Create a free account first: no card needed.

  1. Open Apps Script In your sheet, click Extensions, then Apps Script. A code editor opens in a new tab.
  2. Paste the function Delete the sample code, paste the CRUSTMAPS function below, and drop your key into CRUSTAPI_KEY. Click Save.
  3. Call it in a cell Back in the sheet, type =CRUSTMAPS("dentists in Miami") in a cell. The name, address, phone, category, rating, and review columns fill down and across on their own.
  4. Change the search Edit the text in the quotes for any city or business type. Add a number for how many results, like =CRUSTMAPS("plumbers in Denver", 30).
// Google Sheets custom function for CrustAPI Google Maps data // 1) Extensions → Apps Script 2) paste this 3) Save 4) use it in a cell var CRUSTAPI_KEY = 'key_live_xxxx'; // paste your key from crustapi.com/app function CRUSTMAPS(query, limit) { if (!query) { throw new Error('Try =CRUSTMAPS("dentists in Miami")'); } var url = 'https://crustapi.com/v1/search?type=maps' + '&q=' + encodeURIComponent(query) + '&limit=' + (limit || 20); var res = UrlFetchApp.fetch(url, { headers: { 'x-api-key': CRUSTAPI_KEY }, muteHttpExceptions: true }); var data = JSON.parse(res.getContentText()); var places = data.places || []; var rows = [['Name', 'Address', 'Phone', 'Website', 'Category', 'Rating', 'Reviews']]; for (var i = 0; i < places.length; i++) { var p = places[i]; rows.push([ p.title || '', p.address || '', p.phone || '', p.website || '', p.categoryName || '', p.totalScore || '', p.reviewsCount || '' ]); } return rows; }

Then type the search into any empty cell:

// type this into a cell after you Save the script =CRUSTMAPS("dentists in Miami") =CRUSTMAPS("plumbers in Denver", 30)
FIELD MAPPING

How do columns map to fields?

The real field names from the response above. The script reads the path on the right and writes the column on the left.

Sheet columnResponse fieldValue in the sample
NametitleEpoch Coffee
Addressaddress221 W N Loop Blvd, Austin, TX 78751
Phonephone(512) 454-3762
Websitewebsitehttp://www.epochcoffee.com/
CategorycategoryNameCoffee shop
RatingtotalScore4.5
ReviewsreviewsCount2506
ONE NAMING NOTE

The star rating is totalScore, not rating (the highlighted rows). The response also carries city, state, postalCode, location with lat and lng, and openingHours, so you can add more columns by pushing those fields in the same loop.

Build this in the next two minutes
Try it free, no card.
Try for free
PRICING

How much does Maps data cost?

Maps bills the Maps rate for each business a call returns. A =CRUSTMAPS call that fills 20 business rows costs $0.0392 at standard prices. Empty searches are free. Here is the deposit pricing:

DepositGoogle Search / 1,000 requestsMaps / 1,000 businessesLinkedIn Profiles / 1,000LinkedIn Companies / 1,000LinkedIn Posts / 1,000 requestsPeople, Jobs, Refresh / 1,000 units
$10+$1.00$1.96$4.00$3.00$6.00$1.96
$149+$0.76$1.49$3.00$2.50$4.50$1.49
$549+$0.56$1.10$2.50$2.00$3.30$1.10
$1,999+$0.41$0.80$2.00$1.75$2.45$0.80
$6,500+$0.33$0.65$1.75$1.60$1.95$0.65
$27,500+$0.28$0.55$1.60$1.50$1.65$0.55
$50,000+$0.26$0.50$1.50$1.50$1.50$0.50
$100,000+$0.20$0.40$1.50$1.50$1.50$0.40

Every eligible account gets $6 of free usage monthly. Each deposit keeps its prices until spent; paid funds never expire. People and Jobs bill per successful search, Refresh per accessible profile. Full profiles in People use the read rate per full profile. See all billing details.

Larger deposits unlock lower endpoint prices. Each deposit keeps its prices until spent. See the full deposit table on the pricing page. Prices in USD, ex-tax.

Funds are prepaid and never expire, so an unused pack is still yours next year.

Related: Google Maps API pricing · Docs

WHO IT'S FOR

Who uses this?

BEFORE YOU ASK

Common questions

Open your sheet, click Extensions then Apps Script, and paste the CRUSTMAPS function from this page. Drop your key into CRUSTAPI_KEY and click Save. Back in the sheet, type =CRUSTMAPS("dentists in Miami") in a cell and the name, address, phone, category, rating, and review columns fill in on their own.

It is a script you paste in yourself, and we say so plainly. You add a small Apps Script to your own sheet once, so there is nothing to install from a marketplace and no extra permissions to manage across your team. Any Google account that can open Extensions and Apps Script can run it.

The sample script returns title, address, phone, website, categoryName, totalScore, and reviewsCount. The response also carries city, state, postalCode, location with lat and lng, and openingHours, so you can add more columns by pushing those fields in the same loop. Note the star rating is totalScore, not rating.

Maps costs $1.96 per 1,000 businesses at standard prices, down to $0.40 for the largest deposit. Empty and failed searches are free. Every eligible account gets $6 of free usage monthly. Paid funds never expire.

We read only public Google Maps listings, the same results anyone sees without signing in. There are no fake accounts and no logins involved on our side. What comes back is data that is public to any visitor, delivered as clean JSON.

Pull your first list today

Start free, no card needed. Paste the script once, type a search, and watch names, addresses, phones, ratings, and review counts fill your sheet.

Try for free
No credit card required