v1

latestOpenAPI 3.1.0Commercial License2026-07-132434129.1 KB
IP Geolocation & Security API

Batch IP lookup — analyze up to 100 IPs in a single request

Performs geolocation and security analysis on multiple IP addresses in one request.

Batch Processing:

  • Up to 100 IP addresses per request
  • Duplicate IPs are automatically deduplicated
  • IPs processed concurrently for sub-second total response time
  • Results returned as a map keyed by IP address

Quota Management:

  • One quota unit deducted per unique IP address
  • Quota checked before any processing begins (no charge if insufficient)
  • Quota deducted only after ALL lookups complete successfully
  • No quota charged if batch processing fails or request is invalid

Error Handling:

  • HTTP 400: Malformed IP address format (no charge)
  • HTTP 429: Insufficient quota (no charge)
  • Private/reserved IPs are included in results with limited data and still consume quota

Use Cases:

  • Bulk fraud screening of user registrations
  • Log analysis and threat intelligence
  • Network auditing and security monitoring
  • Geolocation of large IP datasets
post/api/v1/ip/batch

Request body

ipsstring[] required

List of IP addresses to look up. Maximum 100 IPs per request.

Format Requirements:

  • Standard IPv4 dotted decimal (e.g., 8.8.8.8)
  • IPv6 full or compressed format (e.g., 2001:db8::1)
  • Maximum 45 characters per address
  • Must be structurally valid IP format

Batch Processing:

  • Duplicate IPs are automatically deduplicated before processing
  • Quota is deducted only after successful completion of all lookups
  • Invalid IP formats result in HTTP 400 with no quota charged

Example request

{
  "ips": [
    "8.8.8.8",
    "1.1.1.1",
    "203.0.113.195"
  ]
}

Response

Batch lookup completed successfully with intelligence for all processed IPs

resultsobject required

Map of IP addresses to their full intelligence results. The key is the original IP address. IPs that could not be resolved (e.g., private ranges) are excluded from the map and counted in failed_lookups.

total_processedinteger required

Total number of unique IPs processed in this batch.

successful_lookupsinteger required

Number of IPs that returned a successful geolocation result.

failed_lookupsinteger required

Number of IPs that could not be resolved (e.g., private ranges, reserved addresses).

Example response

{
  "results": {
    "8.8.8.8": {
      "ip": "8.8.8.8",
      "suspicious_factors": {
        "is_proxy": false,
        "is_tor_node": false,
        "is_spam": false,
        "is_crawler": false,
        "is_datacenter": true,
        "is_vpn": false,
        "is_threat": false
      },
      "location": {
        "country": "United States",
        "country_code": "US",
        "city": "Mountain View",
        "latitude": 37.4056,
        "longitude": -122.0775,
        "zip": "94043",
        "timezone": "America/Los_Angeles",
        "local_time": "2024-01-15T10:30:00-08:00",
        "local_time_unix": 1705340400,
        "is_daylight_savings": false
      }
    }
  },
  "total_processed": 3,
  "successful_lookups": 3,
  "failed_lookups": 0
}
All 24 operations