The Scenario
You are a real estate researcher at a site selection consultancy. A client handed you a list of 800 commercial properties — business name in column A, full address in column B — and needs a final deliverable that includes a Placekey and lat/lng for every location so they can load it into their mapping platform for site analysis. The client presentation is Monday morning.
You've done the market research. The location list is clean. What you don't have is a reliable way to get Placekeys and coordinates for 800 rows without involving a developer or spending a weekend on a CSV export cycle.
The bad version:
- Look up the Placekey API docs, discover they have a geocoding response field, generate credentials, and try to write or commission a script that calls the API with both location_name and address parameters.
- Realize the mapping platform wants lat/lng as separate columns, not a combined string, so the script needs to parse the coordinates out of the response and split them correctly.
- Run the script, hit a timeout at row 612, figure out which rows succeeded and which didn't, re-run for the tail, reconcile the two outputs into one file.
The client is paying for the analysis, not for your afternoon of API plumbing. You're supposed to be evaluating site viability, not writing batch processing scripts.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet. It reads your columns, calls Placekey with the right parameters, and writes the returned Placekey and geocoordinates into separate columns — one pass, no script.
Here is the prompt:
For each business name in column A and address in column B, call Placekey to get the Placekey, latitude, and longitude and write them to columns C, D, and E
What You Get
- Column C: the Placekey ID in standard format.
- Column D: latitude as a decimal number.
- Column E: longitude as a decimal number.
- Rows where Placekey can't resolve the address get blanks in C, D, and E — clearly visible so you can review and correct the source address before re-running those rows.
- Headers for columns C, D, and E are set automatically if they were blank.
What If the Data Is Not Quite Ready
The address column has city/state/zip embedded in a single string — parse it first
Parse the address in column B into street address, city, state, and zip, write those to helper columns F–I, then submit location_name (A) and parsed address (F–I) to Placekey for each row and write Placekey to column C, latitude to D, longitude to E
Some business names have legal suffixes like "LLC" or "Inc." that reduce match accuracy
Strip any legal suffixes (LLC, Inc, Corp, Ltd, and variants) from the business names in column A before submitting to Placekey, using the cleaned name as location_name and the address in column B — write Placekey to column C and coordinates to columns D and E
Half the rows are in Canada and need a different country code
Submit all rows to Placekey using location_name (A) and address (B), setting iso_country_code to 'CA' for rows where column B contains a Canadian province abbreviation and 'US' for all others — write Placekey to column C, latitude to D, longitude to E
Clean, enrich, and validate coordinates in one shot
Clean business names in column A by stripping legal suffixes, parse any combined address strings in column B into component parts, submit all 800 rows to Placekey in batches of 100 with location_name and address, write Placekey to column C and coordinates to columns D and E, and flag any row where both coordinates are blank with 'NO GEOCODE' in column F
The cleanest version of this prompt does the name normalization, the address parsing, the API call, and the validation flag in a single instruction.
Try It
Open your property list in Google Sheets and get the 7-day free trial of SheetXAI. The Placekey integration handles the API call and the coordinate split in one step. Also see: geocoding delivery addresses and the full Placekey hub.
