> For the complete documentation index, see [llms.txt](https://docs.helodata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.helodata.com/resources/ip-lookup.md).

# IP lookup

A web-based tool to look up the geo, ASN, carrier, and reputation of any IPv4 / IPv6 address. Useful for confirming what a third party would see about an IP — especially for evaluating exit IPs returned by helodata or comparing against MaxMind / IPinfo.

Location: **Dashboard → Resources → IP lookup**, or the public version at [helodata.com/tools/ip-lookup](https://helodata.com/tools/ip-lookup).

## What it shows

Enter an IP, get:

* **Country, state, city** — from MaxMind, IPinfo, and helodata's own DB (three columns side by side)
* **ASN and carrier name**
* **IP type** — residential / mobile / datacenter / ISP / VPN-flagged
* **Reverse DNS** — PTR record, if any
* **Blocklists** — presence in major reputation lists (Spamhaus, AbuseIPDB, etc.)
* **Reachability** — TCP probe to ports 80, 443, 22 (we *do not* probe other ports)

\[screenshot: IP lookup result for a single address]

## Why three geo databases?

Different targets use different geo data. If you're seeing geo-restriction errors, the **target's** geo database is what matters — not ours. Side-by-side comparison helps you understand why your exit IP looks one way to helodata and another way to the target.

If all three disagree on a single IP, that IP probably moved recently and the databases haven't all caught up.

## Bulk lookup

For up to 100 IPs at once:

```bash
curl -X POST -H "Authorization: Bearer API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "ips": ["198.51.100.42", "198.51.100.43", "203.0.113.5"]
     }' \
     https://api.helodata.com/v1/tools/ip-lookup
```

Response is a JSON array of the same shape as the UI.

For larger batches, page in 100-IP chunks. The lookup API is rate-limited like the regular API — see [Rate limits](/api-reference/rate-limits.md).

## Use cases

* **Confirm an ISP IP's metadata** before adding it to your scraper config
* **Audit a batch's geo distribution** — pull the list, run lookups, group by city
* **Investigate a 403 from a target** — does the target's IPinfo data flag this IP as VPN?
* **Verify a replacement IP** — when you request an IP replacement, lookup the new one to confirm it's residential before deploying

## Limits

* Free tier: 100 lookups/day (UI), 100 lookups/day (API)
* Pro+ plans: 10,000/day on both
* Enterprise: custom
* Bulk endpoint always counts as one lookup per IP

Exceeded? `429 too_many_requests` with `Retry-After` header.

## Privacy

Looking up an IP doesn't reveal your identity to that IP's owner. The tool queries the same third-party databases anyone can query for a fee — we're just consolidating them.

## Common pitfalls

* **IPs change frequently** — a lookup is a snapshot. An IP that's "residential" today might be "datacenter" next week if a hosting provider acquired the range.
* **VPN flag false-positives** — many residential IPs occasionally appear on VPN lists (the user installed a personal VPN once, the list never cleaned up). One flag isn't a definitive bad IP.
* **No internal IPs** — `10.0.0.0/8`, `192.168.0.0/16`, etc. always return "private range, no public data."
