Back to Placekey in Google Sheets
SheetXAI logo
Placekey logo
Placekey · Google Sheets Guide

Geocode Delivery Addresses in a Google Sheet Using the Placekey API

2026-05-14
5 min read

The Scenario

You are a logistics coordinator. Late last week, your routing optimization vendor told you they need lat/lng coordinates for every delivery address before they can ingest the stops. You have 400 addresses in a Google Sheet — street address in column A, city in column B, state in column C, zip in column D — and zero coordinates anywhere in the file.

The routing tool import window opens Thursday. It is Tuesday.

The bad version:

  • Paste each address into Google Maps one at a time, read the coordinate from the URL, paste it into columns E and F, repeat for 400 rows.
  • Or find a geocoding API, generate a key, write a script, handle the API rate limits, parse the JSON response to extract the two coordinate fields separately, and output them into the correct columns.
  • Either way: realize at row 180 that three addresses returned null because the zip code was wrong, fix those rows, re-run, verify the output again.

Four hundred rows at even two minutes each is over thirteen hours of manual work. That's not a task — that's a project. And the routing vendor needs the file before end of day Wednesday.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet. It reads your address columns, calls Placekey's geocode endpoint for every row in batches, and writes latitude and longitude into separate columns without you touching a line of code.

Here is the prompt:

For every address row in this sheet, call Placekey's geocode endpoint using the street address (A), city (B), state (C), and zip (D) and write the returned latitude to column E and longitude to column F

What You Get

  • Column E: decimal latitude for each row.
  • Column F: decimal longitude for each row.
  • Processing runs in batches of 100 — the whole 400-row list completes in one pass.
  • Rows where Placekey can't resolve the address get blanks in E and F, visibly distinguishable from successful rows so you can audit them before the import.

What If the Data Is Not Quite Ready

Some zip codes are missing — skip those rows and flag them

Geocode all rows where column D is non-empty using Placekey bulk API and write latitude to column E and longitude to column F — for rows where column D is blank, write 'MISSING ZIP' in column F and leave column E blank

A handful of addresses are in Canada and need a different country code

Geocode all rows using Placekey bulk API with street address (A), city (B), state (C), zip (D), setting iso_country_code to 'CA' for rows where column C is a Canadian province code and 'US' for all others — write latitude to column E and longitude to column F

The sheet has a mix of complete and already-geocoded rows — only process the gaps

For rows where columns E and F are both empty, call Placekey's geocode endpoint using address parts in columns A–D and write latitude to column E and longitude to column F — leave rows that already have coordinates untouched

Full cleanup pipeline before the vendor import

Trim whitespace from all address fields in columns A–D, normalize state abbreviations in column C to two-letter codes, geocode all rows with non-empty zip codes in batches of 100, write latitude to column E and longitude to column F, and add 'READY' or 'NEEDS REVIEW' in column G based on whether coordinates were returned

That last prompt gets the file vendor-ready in one step — cleaned, geocoded, and status-flagged.

Try It

Open the delivery address sheet in Google Sheets and get the 7-day free trial of SheetXAI. Ask it to geocode the full list in batches and write lat/lng to columns E and F. Also see: bulk Placekey assignment and the full Placekey hub.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more