The Scenario
Compliance pulled 150 high-value transaction IPs for manual review last week. They've been sitting in column A of your Google Sheet since Tuesday. Your job is to write the risk report — and to do that you need the full IP2Location profile for each address: country, city, latitude, longitude, timezone, ASN, and proxy status. The report goes to the legal team Friday. It's Thursday afternoon.
The bad version:
- Call the IP2Location single-IP endpoint for the first address, copy the JSON response, paste the relevant fields into the seven columns you've set up.
- Repeat 149 more times, keeping track of which row you're on because there's no automatic alignment.
- On row 87, realize the ASN field came back empty for a few IPs and those cells are now blank — which means your risk formula in column I is returning incorrect results for those rows.
150 IPs sounds like a small list. One-at-a-time API calls with manual paste-back at row 87 doesn't feel small.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the IP column and through its built-in IP2Location integration calls the single-IP geolocation endpoint for every address, writes all seven profile fields into the right columns, and evaluates your risk logic inline.
For each IP in column A, call IP2Location's single-IP geolocation and write country, city, latitude, longitude, timezone, ASN, and proxy status to columns B through H. Then add a risk score in column I: HIGH if proxy is true or country is not US, MEDIUM if country is US but ASN is a hosting provider, and LOW otherwise.
What You Get
- Column B: country name
- Column C: city
- Column D: latitude
- Column E: longitude
- Column F: timezone (e.g., America/New_York)
- Column G: ASN (autonomous system number and name)
- Column H: proxy status (true/false)
- Column I: risk tier — HIGH, MEDIUM, or LOW — evaluated per row based on your logic
- Empty ASN or proxy fields get an explicit "not available" marker so the risk formula doesn't silently misclassify those rows
What If the Data Is Not Quite Ready
I need to compare the geolocated country against the country the user registered from
After enriching column A with IP2Location geolocation and writing country to column B, compare column B against the registration country in column C — write MATCH in column J if they agree, MISMATCH if they don't, and UNKNOWN if either is missing.
Some IPs returned from a fraud signal feed and I need to deduplicate before enriching
Deduplicate column A so each IP appears only once, then run IP2Location single-IP geolocation and write country, city, latitude, longitude, timezone, ASN, and proxy status to columns B through H, and the risk tier to column I.
I need to group the results by risk tier for the summary section of the report
After enriching and scoring all 150 IPs, add a summary table below the data showing the count of HIGH, MEDIUM, and LOW risk tiers and their share of the total, formatted as a clean table the legal team can paste directly into the report.
Full kill chain — deduplicate, enrich, score, flag, and summarize
Deduplicate column A, run IP2Location single-IP geolocation on each unique IP writing country, city, latitude, longitude, timezone, ASN, and proxy status to columns B through H. Evaluate the three-tier risk logic and write the result to column I. Flag any HIGH row with ESCALATE in column J. Add a risk-tier summary table below the data.
The deduplication, enrichment, risk scoring, escalation flags, and summary all come out of one instruction — the report section practically writes itself from there.
Try It
Get the 7-day free trial of SheetXAI and open any compliance review sheet with a column of flagged transaction IPs, then ask it to enrich them with the full IP2Location profile and score each one before your report deadline. You can also see how this connects to bulk proxy detection for fraud screening or return to the IP2Location overview for the complete integration guide.
