IP Geolocation

Geolocate IP addresses to country, city, ISP, and detect VPNs, proxies, and Tor exit nodes.

GET /api/v1/ip/me

Look up the caller’s own IP address.

Parameters

Name

In

Required

Description

fields

query

no

Comma-separated list of response fields to include

Example

curl -H "X-API-Key: $KEY" \
  https://api.apicrate.io/api/v1/ip/me
{
  "ip": "203.0.113.42",
  "country": {
    "iso_code": "DE",
    "name": "Germany"
  },
  "city": "Frankfurt",
  "latitude": 50.1109,
  "longitude": 8.6821,
  "isp": "Hetzner Online GmbH",
  "is_vpn": false,
  "is_proxy": false,
  "is_tor": false
}

POST /api/v1/ip

Look up a single IP address.

Parameters

Name

In

Required

Description

ip

body

yes

IPv4 or IPv6 address to look up

fields

query

no

Comma-separated list of response fields to include

Example

curl -X POST https://api.apicrate.io/api/v1/ip \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{"ip": "8.8.8.8"}'
{
  "ip": "8.8.8.8",
  "country": {
    "iso_code": "US",
    "name": "United States"
  },
  "city": "Mountain View",
  "latitude": 37.386,
  "longitude": -122.0838,
  "isp": "Google LLC",
  "is_vpn": false,
  "is_proxy": false,
  "is_tor": false
}

POST /api/v1/ip/bulk

Look up multiple IP addresses in a single request.

Parameters

Name

In

Required

Description

ips

body

yes

Array of IPv4 or IPv6 addresses. Maximum 100 items.

fields

query

no

Comma-separated list of response fields to include

Example

curl -X POST https://api.apicrate.io/api/v1/ip/bulk \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{"ips": ["8.8.8.8", "1.1.1.1"]}'
{
  "results": [
    {
      "ip": "8.8.8.8",
      "country": {"iso_code": "US", "name": "United States"},
      "city": "Mountain View",
      "isp": "Google LLC",
      "is_vpn": false,
      "is_proxy": false,
      "is_tor": false
    },
    {
      "ip": "1.1.1.1",
      "country": {"iso_code": "AU", "name": "Australia"},
      "city": "Sydney",
      "isp": "Cloudflare, Inc.",
      "is_vpn": false,
      "is_proxy": false,
      "is_tor": false
    }
  ]
}