The Scenario
You inherited this spreadsheet from a colleague who left three weeks ago. It has 800 rows — customer site addresses in column B, pulled from the CRM — and the mapping dashboard your company uses needs latitude and longitude to import them. Nobody documented how the last batch of coordinates was generated. There is no script, no saved config, just a column of addresses and a deadline to get the import file to the GIS team by end of day.
The bad version:
- Open Geoapify's geocoding API docs, find the batch endpoint, and write a script to loop through the addresses — or paste them one at a time into the web interface.
- Copy the returned lat/lon values into a separate spreadsheet, then manually match each row back to the original sheet by address string.
- Discover that 40 addresses came back with a low confidence score, manually research each one, and re-run the affected rows.
Your GIS team is waiting. The import file was supposed to be ready an hour ago, and you've been debugging row offsets instead of doing the job you were actually hired to do.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that runs inside your Google Sheet. It reads the data, talks to Geoapify's batch geocoding API on your behalf, and writes the results back — no separate script, no copy-pasting.
Geocode all addresses in column B of this sheet using Geoapify and write the latitude and longitude into columns C and D
What You Get
- Column C fills with latitude values, one per address row.
- Column D fills with longitude values, matched to the same row.
- Rows where the geocoder returned a low confidence score are flagged in column E so you can review them without scanning the full output.
- The sheet is ready to export as the import file your GIS team is waiting on.
What If the Data Is Not Quite Ready
The addresses include suite numbers and apartment suffixes that confuse the geocoder
Geocode column B of this sheet with Geoapify — strip any suite, apt, or unit text from each address before sending it, then write lat and lon into columns C and D
Some rows are missing city or state information
Geocode the addresses in column B with Geoapify — for rows where city or state is blank, look them up from the zip code in column F before geocoding, then write lat and lon into columns C and D
Addresses are split across two columns — street in column B, city/state/zip in column C
Combine columns B and C into a single address string for each row, geocode them all with Geoapify, and write the lat and lon results into columns D and E
Geocode the addresses, flag low-confidence results, and fill gaps from a second address column
Geocode all addresses in column B with Geoapify — write lat and lon into columns C and D. For any row where confidence is below 0.7, try the alternate address in column F instead. Flag rows that still failed in column G.
The pattern across all four: clean the data and run the enrichment in the same instruction rather than treating them as separate steps.
Try It
Get the 7-day free trial of SheetXAI and open any sheet with a column of addresses — whether it's a CRM export, a vendor list, or a delivery manifest — and ask it to geocode the batch. Or explore the sibling spoke on reverse geocoding GPS coordinates, or return to the Geoapify hub overview.
