Incorporate our advanced IP geolocation, blacklist tracking, and privacy detection into your own apps. Subscribing gives you an x-api-key to bypass all limits.
All V2 endpoints require the x-api-key: your-purchased-key header to be sent with every request.
Submit up to 100 IP addresses and get geolocation + VPN status for each. Free, no key needed.
curl -X POST https://www.whoer.live/api/v2/bulk-scan \ -H "Content-Type: application/json" \ -H "x-api-key: whr_your_30_day_key" \ -d '{"ips":["8.8.8.8","1.1.1.1","104.21.0.1"]}' const res = await fetch('https://www.whoer.live/api/v2/bulk-scan', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': 'whr_your_30_day_key' }, body: JSON.stringify({ ips: ['8.8.8.8', '1.1.1.1'] }),});const { results } = await res.json();console.log(results); import requestsheaders = {'x-api-key': 'whr_your_30_day_key'}r = requests.post('https://www.whoer.live/api/v2/bulk-scan', headers=headers, json={'ips': ['8.8.8.8', '1.1.1.1']})for item in r.json()['results']: print(item['ip'], item['country'], item['isp'], item['is_vpn']) { "results": [ { "ip": "8.8.8.8", "country": "United States", "countryCode": "US", "city": "Mountain View", "region": "California", "isp": "AS15169 Google LLC", "timezone": "America/Los_Angeles", "is_vpn": true, "error": false } ]} | Field | Type | Description |
|---|---|---|
| ip | string | The IP address looked up |
| country | string | Full country name |
| countryCode | string | ISO 3166-1 alpha-2 code (e.g. "US") |
| city | string | City name |
| region | string | Region / State name |
| isp | string | ISP or organisation name with ASN |
| timezone | string | IANA timezone (e.g. "Asia/Dhaka") |
| is_vpn | boolean | true if IP is from a hosting/VPN/datacenter provider |
| error | boolean | true if the IP could not be resolved |