Bulk IP Lookup — Resolve Multiple IPs in One Request

When you need to enrich a batch of IP addresses — a log file, a security alert feed, a user cohort — the bulk endpoint does it in one HTTP request instead of looping through a single-IP endpoint N times. Less network overhead, simpler error handling, and no client-side rate-limit management.

Why Use the Bulk Endpoint

One Request, Multiple IPs

Send up to 100 IPs in a single API call — no loops, no rate-limit anxiety, no client-side batching.

Same Rich Response Per IP

Every IP in the batch gets the full response: geoLocation, timezone, currency, flag, connection/ASN, security, and user-agent data.

JSON, XML, or CSV

Choose the output format that fits your pipeline. Default is JSON; add &format=xml or &format=csv for exports and spreadsheets.

Field Filtering Built In

Only need country and ISP? Add &get=geoLocation,connection to strip the response down to the fields you use — less bandwidth, faster parse.

Try It — Two Lines of Code

The endpoint is GET /bulk/{ip1,ip2,...}?apiKey=YOUR_API_KEY. Comma-separated IPs, same response structure as the single-IP endpoint, one API call. Real responses from the examples below were verified against the live API (2026-10-23).

# Bulk lookup: 3 IPs, one request
curl -sS "https://api.ipwho.org/bulk/8.8.8.8,1.1.1.1,9.9.9.9?apiKey=YOUR_API_KEY"

What You Get Back

The response wraps results in data.responseArray. Each entry has the same shape as a single-IP lookup — geoLocation, connection, timezone, currency, flag, security, and userAgent objects. Fields that are unavailable for a particular IP (common with infrastructure addresses) return null — your code should handle nulls gracefully.

{
  "success": true,
  "data": {
    "responseArray": [
      {
        "ip": "8.8.8.8",
        "geoLocation": {
          "continent": "North America",
          "country": "United States",
          "countryCode": "US",
          "city": null,
          "latitude": 37.751,
          "longitude": -97.822
        },
        "connection": {
          "asn_number": 15169,
          "asn_org": "Google LLC",
          "isp": "Google",
          "connection_type": "Corporate"
        },
        "security": { "isVpn": false, "isTor": false, "isThreat": "low" }
      }
      // ... remaining IPs
    ]
  }
}

Bulk Lookups Are Available on All Paid Plans

Starting at $2.50/month (billed yearly), every IPWho plan includes the bulk endpoint. Enterprise plans get unlimited lookups with guaranteed throughput. No separate "bulk add-on" — it's included.

Get a free API key → View pricing Full API docs →