Look up IP addresses and your own public IP with zero API keys — geolocation, ISP/ASN, and hosting flags via ip-api.com and ipify through curl. Use when asked what's my public IP, where is this IP from, whose network is this address, or is this IP a VPN/datacenter. Produces the lookup with ISP, ASN, and location fields interpreted honestly (city-level accuracy caveats included), and the rerunnable command.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add mohitagw15856/pm-claude-skills --skill ip-lookup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ip Lookup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mohitagw15856-ip-lookup-pm-claude-skills)More formats (shields.io, HTML) on the badges page.
---
name: ip-lookup
description: "Look up IP addresses and your own public IP with zero API keys — geolocation, ISP/ASN, and hosting flags via ip-api.com and ipify through curl. Use when asked what's my public IP, where is this IP from, whose network is this address, or is this IP a VPN/datacenter. Produces the lookup with ISP, ASN, and location fields interpreted honestly (city-level accuracy caveats included), and the rerunnable command."
---
# IP Lookup Skill
"Whose IP is this?" comes up in log triage, abuse reports, debugging, and plain curiosity — and keyless services answer it: ipify for "what's *my* IP," ip-api.com for "what's *that* IP." This skill fetches, reads the fields that matter (ASN and ISP are usually the real answer; city is a guess wearing coordinates), and holds the two honesty lines the domain needs: IP geolocation is approximate, and none of this is a person's identity.
## What This Skill Produces
- **The lookup** — country/region/city, ISP, org, ASN, and the proxy/hosting flags where available
- **The interpretation** — what the fields actually establish ("a Hetzner datacenter IP in Falkenstein" vs. "a residential Comcast line, roughly Denver")
- **Your-own-IP answers** — v4 and v6 when both matter
- **The command** — exact curl, rerunnable
## Required Inputs
Ask for these if not provided:
- **The IP (or "mine")** — v4 or v6; a hostname is fine (it gets resolved first — say so)
- **The purpose** — log triage wants the ASN/hosting read; debugging wants "is my egress IP what I think"; abuse-report prep wants the network owner — the interpretation follows it
## Framework: The Calls and the Honesty Lines
1. **Your own IP:** `curl -s https://api.ipify.org` (v4) · `curl -s https://api64.ipify.org` (v6-preferring) — one word of output, script-safe. Also embedded in most routers' complaints, but this is the clean answer.
2. **The lookup:** `curl -s "http://ip-api.com/json/8.8.8.8?fields=status,country,regionName,city,isp,org,as,proxy,hosting,query"` — the `fields` parameter keeps it tight; `proxy` and `hosting` flags answer the VPN/datacenter question directly. Free tier is HTTP and rate-limited (~45/min) — fine for lookups, not for bulk scans.
3. **ASN is the real identity:** "AS15169 Google LLC" tells you more than any city field — datacenter ranges geolocate to corporate registrations, not servers. Lead the interpretation with network ownership; treat city as "roughly."
4. **Accuracy honesty, every time:** country is reliable, region mostly, city is a coin-flip-adjacent estimate, and coordinates are the *ISP's* location as often as the user's. Never present IP geolocation as locating a person or address — both wrong and the wrong thing to help with.
5. **The purpose boundary:** log triage, debugging, network identification, abuse-report addressing — yes. Attempts to physically locate or unmask a specific individual — no; that's the line, and the accuracy truth above is also why it wouldn't work.
## Output Format
# IP Lookup: [ip]
**[The interpretation first: "Datacenter IP — AS24940 Hetzner, Germany; hosting flag set. Not a residential user."]**
| Field | Value |
|---|---|
[Country · region/city (labeled approximate) · ISP · org · ASN · proxy/hosting flags]
Source: [ip-api.com / ipify] · rerun: `[exact curl]`
*IP geolocation is approximate (city-level at best) and identifies networks, not people.*
## Quality Checks
- [ ] The interpretation (network ownership + type) leads; raw fields follow
- [ ] City/coordinates are labeled approximate every time
- [ ] The hosting/proxy flags are read when the question was VPN/datacenter-shaped
- [ ] Hostnames were resolved and the resolved IP shown
- [ ] The networks-not-people line appears
## Anti-Patterns
- [ ] Do not present city/coordinates as a location fix — it's an estimate of the ISP as often as the user
- [ ] Do not assist with locating or unmasking individuals — networks and abuse contacts, not people
- [ ] Do not bulk-loop a rate-limited free endpoint — for log volumes, dedupe first and note the limit
- [ ] Do not answer "what's my IP" from memory or the environment — fetch it; NAT and VPNs make assumptions wrong
- [ ] Do not conflate ISP and org — the `as`/`org` fields differ exactly when it's interesting (resellers, VPNs, corporate egress)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!