API Documentation

Base URL: https://api.ip.utilo.kr

All responses are JSON. Success: { data: {...} }, Error: { error: { code, message } }.


GET /ip

Returns the caller’s IP address and GeoIP information.

curl https://api.ip.utilo.kr/ip

Response example:

{
  "data": {
    "ip": "203.0.113.1",
    "country": "US",
    "city": "San Francisco",
    "region": "California",
    "timezone": "America/Los_Angeles",
    "latitude": 37.7749,
    "longitude": -122.4194,
    "isp": "Comcast",
    "asn": "AS7922",
    "org": "Comcast Cable Communications"
  }
}

GET /ip/:ip

Look up GeoIP information for a specific IP address.

curl https://api.ip.utilo.kr/ip/8.8.8.8

GET /ip/:ip/vpn

Detect whether an IP belongs to a VPN, proxy, or hosting provider.

curl https://api.ip.utilo.kr/ip/1.1.1.1/vpn

Response example:

{
  "data": {
    "ip": "1.1.1.1",
    "isVpn": false,
    "isProxy": false,
    "isHosting": true,
    "isMobile": false,
    "confidence": "high"
  }
}

GET /whois/:ip

Look up RDAP/Whois information for an IP address.

curl https://api.ip.utilo.kr/whois/8.8.8.8

Response example:

{
  "data": {
    "ip": "8.8.8.8",
    "name": "GOGL",
    "handle": "NET-8-8-8-0-2",
    "startAddress": "8.8.8.0",
    "endAddress": "8.8.8.255",
    "country": "US",
    "registrant": "Google LLC",
    "events": [
      { "action": "registration", "date": "2014-03-14T16:52:05-04:00" }
    ]
  }
}

GET /dns/:domain

Look up DNS records for a domain.

ParameterDescriptionDefault
typeRecord type: A, AAAA, MX, TXT, NS, CNAMEA
curl "https://api.ip.utilo.kr/dns/example.com?type=MX"

Response example:

{
  "data": {
    "records": [
      { "name": "example.com", "type": "MX", "ttl": 3600, "data": "10 mail.example.com." }
    ]
  }
}

GET /dns/:ip/reverse

Perform a reverse DNS (PTR) lookup for an IP address.

curl https://api.ip.utilo.kr/dns/8.8.8.8/reverse

GET /blacklist/:ip

Check if an IP address is listed on blacklists. IPv4 only.

curl https://api.ip.utilo.kr/blacklist/8.8.8.8

Response example:

{
  "data": {
    "ip": "8.8.8.8",
    "isListed": false,
    "sources": [
      { "name": "AbuseIPDB", "listed": false, "confidence": 0 }
    ]
  }
}

GET /cidr

Calculate CIDR notation details.

ParameterDescriptionExample
rangeCIDR range192.168.1.0/24
curl "https://api.ip.utilo.kr/cidr?range=10.0.0.0/16"

Response example:

{
  "data": {
    "network": "10.0.0.0",
    "broadcast": "10.0.255.255",
    "subnetMask": "255.255.0.0",
    "totalHosts": 65536,
    "usableHosts": 65534,
    "firstHost": "10.0.0.1",
    "lastHost": "10.0.255.254"
  }
}

MCP Server

POST /mcp — JSON-RPC 2.0 endpoint for LLM/AI tool integration.

curl -X POST https://api.ip.utilo.kr/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Connect directly from any MCP (Model Context Protocol) compatible AI client.


Caching

EndpointCache TTL
/ip, /ip/:ip24 hours
/ip/:ip/vpn6 hours
/whois/:ip7 days
/blacklist/:ip1 hour
/dns/:domain1 hour
/cidrNo cache

Rate Limiting

Requests are limited to 60 per minute per IP. Exceeding the limit returns 429 Too Many Requests.

AD

Premium Matchmaking — Diamatch

Block acquaintances · Verified profiles · Safe matching

Join Now