The Scenario
The regulatory team flagged 200 high-value transaction IPs for manual review before the quarterly compliance submission. Each one needs a full geolocation profile — not just country and city, but coordinates, timezone, ASN, and proxy classification — so the risk analyst can write up the narrative section of the report. The submission window closes in 48 hours. The IPs are in column A of a Google Sheet. Nothing else is filled in.
You've done this before. Last quarter it was 150 IPs and you spent most of a day on it. Authenticating to the API, writing a curl loop in a terminal window, parsing the JSON by hand, pasting values into eight separate columns. At some point around row 90 you transposed the timezone and the ASN and had to go back and redo a chunk of it.
The bad version:
- Authenticate to IP2Location.io's API, find the right endpoint for single-IP lookups, and write a script that calls it in a loop
- Parse the JSON response for each IP — country, city, latitude, longitude, timezone, ASN, proxy status — and paste each value into the right column
- Debug the rows where the ASN field returned a nested object instead of a string, adding special handling for each edge case
- Send the draft to the compliance officer with a note that "a few rows may need manual verification"
The compliance officer is not going to accept "may need verification" in a submission that goes to a regulator.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads column A, calls IP2Location.io's full-detail endpoint for each IP, and writes the complete profile back — country, city, coordinates, timezone, ASN, and proxy status — without you touching the API.
For each IP in column A, call IP2Location.io's single-IP geolocation and write country, city, latitude, longitude, timezone, ASN, and proxy status to columns B through H.
What You Get
- Column B: country name
- Column C: city
- Column D: latitude
- Column E: longitude
- Column F: timezone (e.g., "America/New_York", "Europe/Berlin")
- Column G: ASN and organization name
- Column H: proxy/VPN flag — "true" or "false"
- Any IP that returns a non-standard response is surfaced in the chat with the raw error, not silently skipped
What If the Data Is Not Quite Ready
You need a risk score column on top of the full profile
Enrich all IPs in column A with full IP2Location.io data and add a risk score in column I: HIGH if proxy is true or country is sanctioned, MEDIUM if the ASN belongs to a hosting provider, and LOW otherwise.
The compliance report requires coordinates as decimal degrees with four decimal places
For each IP in column A, retrieve full IP2Location.io data and write country to column B, city to column C, latitude formatted to 4 decimal places to column D, longitude formatted to 4 decimal places to column E, timezone to column F, ASN to column G, and proxy flag to column H.
Some IPs in the list are internal RFC-1918 addresses that should be skipped
For each IP in column A, skip any private/RFC-1918 addresses (10.x.x.x, 172.16-31.x.x, 192.168.x.x) and write 'PRIVATE' to column B for those rows. For all others, call IP2Location.io and write country, city, timezone, ASN, and proxy flag to columns B through F.
Full enrichment, risk scoring, sanction-country flag, and executive summary in one pass
For each IP in column A, skip RFC-1918 private addresses and mark them 'PRIVATE' in column B. For all others, call IP2Location.io and write country, city, latitude, longitude, timezone, ASN, and proxy status to columns B through H. In column I, write 'HIGH' if proxy is true or country is in ['KP','IR','SY','CU','RU'], 'MEDIUM' if ASN contains 'Hosting' or 'Cloud' or 'Amazon' or 'Google', and 'LOW' otherwise. Create a new sheet 'Risk Summary' with counts of HIGH, MEDIUM, and LOW in cells B1, B2, and B3.
One prompt covers the private-IP filter, the full enrichment, the risk score, and the executive summary — exactly what the compliance officer needs to hand off to legal without footnotes.
Try It
If you have a Google Sheet with high-priority IPs flagged for compliance review, Get the 7-day free trial of SheetXAI and ask it to build the full profile using IP2Location.io. For bulk geolocation of larger IP sets, see the bulk geolocate guide or the full hub overview.
