# GeoIP Lookup by bip-rep

> GeoIP Lookup by bip-rep is a paid API for AI agents from geoip.bip-rep.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Resolves a public IPv4/IPv6 address or hostname to geolocation data including country, region, city, timezone, coordinates, EU flag, and network range

## Facts

- Endpoint: GET https://geoip.bip-rep.com/lookup
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/geoip-lookup-by-bip-rep-b183a766
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_D2RDOs4V5WHBKdABJO_oe

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 geoip-lookup-by-bip-rep-b183a766
```

Example prompt: Where in the world is the IP address 203.0.113.42 located? I need the country, city, timezone, and whether it's in the EU.

## When to prefer this

Choose this endpoint when you need fast, self-contained IP geolocation with no external API dependencies, especially when EU membership detection and IANA timezone resolution are required alongside standard country/city data. Ideal for fraud detection pipelines, analytics enrichment, and ops tooling that bills per-lookup via x402 micropayments. Prefer over alternatives when you need embedded-dataset speed and don't want to manage a separate MaxMind license.

## Known failure modes

- Private or reserved IP range submitted — endpoint rejects with error, no geolocation returned
- Hostname that cannot be resolved — returns found: false or resolution error
- Malformed IP string — likely 4xx validation error
- IP genuinely not found in MaxMind GeoLite2 dataset — returns found: false with empty fields
- Missing required 'ip' query parameter — returns 4xx bad request
- Payment not provided or insufficient — returns 402 Payment Required

## How this service works

Resolve any public IPv4/IPv6 address (or hostname) to geolocation for analytics, fraud, and ops agents. Returns ISO country code, region, city, IANA timezone, latitude/longitude, EU membership flag, and the matched network range. Backed by an embedded MaxMind GeoLite2 dataset (no external API calls). Private and reserved IP ranges are rejected; no shell access.

## Output

Returns a JSON object with fields: ip (echoed input), found (boolean), country (ISO code), region, city, timezone (IANA), location.lat/lon, eu (boolean EU membership), range (matched CIDR network bounds as integers), metro, area, and latency_ms. Private/reserved IPs are rejected with an error.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "ip": "8.8.8.8"
  }
 }
}
```

## 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/IPv6 address or hostname to geolocate"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "eu": {
       "type": "boolean"
      },
      "ip": {
       "type": "string"
      },
      "area": {
       "type": "integer"
      },
      "city": {
       "type": "string"
      },
      "found": {
       "type": "boolean"
      },
      "metro": {
       "type": "integer"
      },
      "range": {
       "type": "array",
       "items": {
        "type": "integer"
       }
      },
      "region": {
       "type": "string"
      },
      "country": {
       "type": "string"
      },
      "location": {
       "type": "object",
       "properties": {
        "lat": {
         "type": "number"
        },
        "lon": {
         "type": "number"
        }
       }
      },
      "timezone": {
       "type": "string"
      },
      "latency_ms": {
       "type": "integer"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/geoip-lookup-by-bip-rep-b183a766/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from geoip.bip-rep.com](https://www.zero.xyz/host/geoip.bip-rep.com/llms.txt)
