# IP Geolocation Bulk Lookup

> IP Geolocation Bulk Lookup is a paid API for AI agents from ipgeo.payapi.market, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-17).

Geolocates up to 20 IPv4 or IPv6 addresses in a single batch request, returning city, region, country, ISP, ASN, coordinates, timezone, postal code, and datacenter/proxy flags for each IP.

## Facts

- Endpoint: POST https://ipgeo.payapi.market/lookup/bulk?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ip-geolocation-bulk-lookup-a14e4d08
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qvpfXiynpyQtQ_769fjjB

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-bulk-lookup-a14e4d08 -d '<json body>'
```

Example prompt: Look up the geolocation for these IP addresses in one batch: 8.8.8.8, 1.1.1.1, 192.168.1.1 — I need the city, country, ISP, ASN, coordinates, timezone, and whether each one is a datacenter IP.

## When to prefer this

Choose this endpoint when you need to geolocate multiple IP addresses in a single round-trip (up to 20), especially when you also need ISP, ASN, datacenter, proxy, or VPN classification alongside geographic data. It is ideal for fraud detection pipelines, log enrichment, and analytics dashboards where per-IP overhead must be minimized. Prefer it over single-IP lookup endpoints when processing batches from server logs or user activity data.

## Known failure modes

- Invalid IP address format causes that entry to return found:false or an error
- Exceeding 20 IPs per batch results in a request rejection
- Payment failure via x402 blocks the request entirely
- Private or reserved IP ranges (e.g. 192.168.x.x) may return found:false or null geo fields
- Rate limiting if too many requests are made in quick succession
- Some fields (is_vpn, is_proxy) may return null if detection data is unavailable

## How this service works

IP geolocation, batch lookup, distance calculation, and caller-IP introspection with x402 payments.

## Output

Returns a JSON object with a count and a results array. Each element contains: ip, found (boolean), city, region, region_code, country, country_code, postal_code, latitude, longitude, timezone, ISP, ASN, org, is_datacenter, is_proxy, is_vpn, and source (the underlying data provider). Up to 20 IPs are resolved per request.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ips": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 20,
   "description": "Up to 20 IPv4/IPv6 addresses to geolocate in one batch."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 2,
  "results": [
   {
    "ip": "8.8.8.8",
    "asn": "AS15169",
    "isp": "Google LLC",
    "org": "Google Public DNS",
    "city": "Ashburn",
    "found": true,
    "is_vpn": null,
    "region": "Virginia",
    "source": "ip-api.com",
    "country": "United States",
    "is_proxy": null,
    "latitude": 39.03,
    "timezone": "America/New_York",
    "longitude": -77.5,
    "postal_code": "20149",
    "region_code": "VA",
    "country_code": "US",
    "is_datacenter": true
   },
   {
    "ip": "1.1.1.1",
    "asn": "AS13335",
    "isp": "Cloudflare, Inc.",
    "org": "Cloudflare DNS Resolver",
    "city": "Sydney",
    "found": true,
    "is_vpn": null,
    "region": "New South Wales",
    "source": "ip-api.com",
    "country": "Australia",
    "is_proxy": null,
    "latitude": -33.87,
    "timezone": "Australia/Sydney",
    "longitude": 151.21,
    "postal_code": "2000",
    "region_code": "NSW",
    "country_code": "AU",
    "is_datacenter": true
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ip-geolocation-bulk-lookup-a14e4d08/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ipgeo.payapi.market](https://www.zero.xyz/host/ipgeo.payapi.market/llms.txt)
