The Scenario
Your head of trust and safety left a note in the shared doc last Thursday: "2,000 new accounts from the last campaign — someone needs to check how many came through VPNs or Tor before we activate them." It's now Monday. The note is still there. The 2,000 IPs are in a Google Sheet. Nobody has touched them.
You're the fraud analyst who inherited this, and there's a compliance review Wednesday afternoon. You need VPN, proxy, Tor, and hosting flags for every row, plus a summary of how many accounts fall into each category.
The bad version:
- Call the IPinfo privacy API endpoint one IP at a time from the web UI — except the web UI doesn't do privacy detection, so you need the API.
- Write a script, handle authentication, loop through 2,000 rows, serialize four boolean fields per row back into the sheet.
- Realize the script doesn't distinguish VPN from hosting, re-read the API docs, update the field mapping, rerun.
Scripting a fraud screen isn't the same as doing the fraud analysis. The whole point of this task is deciding what to do with the flagged accounts — and you can't get to that decision while you're debugging a Python loop at 11pm.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your sign-up IP list and, through its IPinfo integration, calls the privacy detection API across every row and writes the boolean flags directly to your columns.
Open SheetXAI and paste this prompt:
Check all sign-up IPs in column A against IPinfo's privacy detection API and write VPN, proxy, Tor, and hosting flags to columns B through E, then highlight any row where at least one flag is true.
What You Get
- Column B: TRUE/FALSE for VPN
- Column C: TRUE/FALSE for proxy
- Column D: TRUE/FALSE for Tor exit node
- Column E: TRUE/FALSE for datacenter/hosting IP
- Any row with at least one TRUE value highlighted in a warning color
- Rows where IPinfo returns no privacy data left as FALSE, not blank — so you can distinguish "clean" from "unknown"
What If the Data Is Not Quite Ready
I need a summary count by category, not just flags per row
Run IPinfo privacy detection on all 2,000 IPs in column A, write VPN, proxy, Tor, and hosting flags to columns B through E, then add a summary table below the data counting how many accounts fall into each privacy category — and how many had more than one flag true simultaneously.
Some accounts registered multiple times and I need to deduplicate first
Column A has 2,000 sign-up IPs but some users registered multiple accounts from the same IP. Deduplicate column A by IP address before calling IPinfo privacy detection, run the check on unique IPs, write the four flags back to every matching row using VLOOKUP, then highlight rows where any flag is true.
I want to separate residential accounts from everything else
Check all IPs in column A against IPinfo's privacy detection API. For rows where all four flags are false, write "Residential" in column F. For rows where VPN or proxy is true, write "Anonymized." For rows where hosting is true, write "Datacenter." For rows where Tor is true, write "Tor." Write the summary count of each category to a new tab called "Fraud Screen Results."
Full pipeline: deduplicate, screen, classify, and report
Column A has 2,000 sign-up IPs. Some are duplicates. Run IPinfo privacy detection on unique IPs, write VPN, proxy, Tor, and hosting flags to columns B through E for every row, classify each row as Residential/Anonymized/Datacenter/Tor in column F using the flag logic above, highlight flagged rows, and write a summary table to a new tab called "Campaign Fraud Summary" with counts per category and percentage of total.
The pattern: instead of running the screen and then separately building the report, you describe the final output and let SheetXAI handle the intermediate steps.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet with a list of sign-up or transaction IPs, then ask it to run the IPinfo privacy screen and flag the anonymized accounts. For related tasks, see identifying company visitors from IPs or batch geolocation enrichment. Hub: IPinfo + Google Sheets.
