# IP Geolocation & Proxy Detection API

> IP Geolocation & Proxy Detection API is a paid API for AI agents from x402.donnyautomation.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Returns country, region, city, postcode, coordinates, timezone, ASN, ISP, and proxy/VPN/Tor detection for any public IPv4 or IPv6 address.

## Facts

- Endpoint: GET https://x402.donnyautomation.com/ip
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ip-geolocation-proxy-detection-api-62b877a2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Kcpm3MIadyCKEIAO-DeyC

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ip-geolocation-proxy-detection-api-62b877a2
```

Example prompt: Can you look up the geolocation and proxy/VPN status for IP address 203.0.113.42? I want to know the country, city, ISP, and whether it's coming from a datacenter or anonymizer.

## When to prefer this

Choose this endpoint when you need both geolocation and proxy/anonymizer detection in a single call, especially when you require honest 'unknown' signals rather than a false-clean response for missing data. It is well-suited for fraud detection, access control, and content personalization pipelines that need to see ASN/ISP/hosting-provider context alongside location. Prefer it over pure geolocation APIs when distinguishing datacenter vs. residential vs. anonymized traffic matters.

## Known failure modes

- Private, loopback, link-local, or reserved IP ranges are refused with an error
- Malformed or non-IP input strings will be rejected
- Upstream data gaps result in 'unknown' values rather than errors
- IPv6 geolocation may have lower accuracy than IPv4

## How this service works

IP geolocation for any public IPv4 or IPv6 address, plus the field that decides whether to believe it. reliability is returned FIRST: datacentre, VPN, proxy and Tor detection, and when the upstream omits it the verdict is unknown, never clean. Also location, network (asn, org, isp, domain) and timezone. Requires ?ip=. Errors: 400 missing_ip|bad_ip|private_ip (private, loopback, link-local and reserved ranges are refused), 404 no_location, 504 ip_timeout.

## Output

Returns a structured JSON object with geolocation fields (country, region, city, postcode, latitude, longitude, timezone), network fields (ASN, org, ISP, domain), and anonymizer detection fields (datacenter, VPN, proxy, Tor). Missing upstream signals are reported as 'unknown' rather than clean/false, so absence of a signal is never silently treated as a negative.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "ip"
     ],
     "properties": {
      "ip": {
       "type": "string",
       "description": "Public IPv4 or IPv6 address, e.g. 8.8.8.8. Private, loopback, link-local and reserved ranges are refused."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ip": "8.8.8.8",
  "ts": "2026-08-03T00:00:00.000Z",
  "network": {
   "asn": 15169,
   "isp": "Google LLC",
   "org": "Google LLC",
   "domain": "google.com"
  },
  "version": "IPv4",
  "location": {
   "city": "San Jose",
   "region": "California",
   "country": "United States",
   "latitude": 37.336,
   "longitude": -121.891,
   "countryCode": "US"
  },
  "timezone": {
   "id": "America/Los_Angeles",
   "isDst": true,
   "utcOffset": "-07:00"
  },
  "reliability": {
   "verdict": "VPN / proxy / hosting detection was NOT returned by the upstream for this address — this is unknown, not clean…",
   "likelyMasked": null,
   "signalsAvailable": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ip-geolocation-proxy-detection-api-62b877a2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.donnyautomation.com](https://www.zero.xyz/host/x402.donnyautomation.com/llms.txt)
