API documentation

A single REST endpoint returns everything you need to score an address. Create a key in the dashboard to get started.

Authentication

Pass your API key as the key query parameter or in the X-API-Key header. Keys are shown once at creation time — store them securely.

Single lookup

GET /api/public/v2/<ip>

curl "https://guarda.net/api/public/v2/8.8.8.8?key=YOUR_API_KEY"
{
  "ip": "8.8.8.8",
  "status": "ok",
  "ip_version": 4,
  "is_proxy": false,
  "proxy_type": null,
  "proxy_types": [],
  "tor": false,
  "vpn": false,
  "public_proxy": false,
  "web_proxy": false,
  "hosting": true,
  "residential": false,
  "cellular": false,
  "search_bot": false,
  "abuser": false,
  "risk": 34,
  "risk_level": "medium",
  "risk_reasons": ["Datacenter / hosting network"],
  "confidence": 92,
  "country": "United States",
  "country_code": "US",
  "region": "California",
  "state_code": "CA",
  "city": "Mountain View",
  "postal_code": "94035",
  "latitude": 37.386,
  "longitude": -122.0838,
  "timezone": "America/Los_Angeles",
  "currency": "USD",
  "asn": "AS15169",
  "provider": "Google LLC",
  "isp": "Google LLC",
  "domain": "google.com",
  "hostname": "dns.google",
  "connection_type": "hosting",
  "checked_at": "2026-01-01T00:00:00.000Z"
}

Batch lookup

POST /api/public/v2/batch — up to 50 addresses per request.

curl -X POST "https://guarda.net/api/public/v2/batch" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"ips": ["8.8.8.8", "1.1.1.1"]}'

Response fields

FieldDescription
ipThe address that was queried.
status"ok" or "error".
is_proxyBoolean verdict combining proxy, VPN, TOR and hosting signals.
proxy_type / proxy_typesPrimary label (VPN, TOR, Hosting…) and every matching type.
tor / vpn / public_proxy / web_proxyIndividual anonymiser signals.
hosting / residential / cellularNetwork classification of the address.
search_bot / abuserVerified crawler and known-abuse flags.
risk / risk_levelInteger 0–100 plus low, medium, high or critical.
risk_reasonsHuman-readable explanation of what drove the score.
confidenceFeed confidence in the classification, 0–100.
country / country_code / region / state_codeResolved location.
city / postal_code / latitude / longitudeFine-grained geolocation where available.
asn / provider / ispAutonomous system number and network operator.
domain / hostname / connection_typeReverse DNS and connection classification.
timezone / currencyLocal timezone and currency code.
checked_atUTC timestamp of the lookup.

Errors & limits

  • 401 — missing, revoked or unknown API key.
  • 400 — malformed IP address or request body.
  • 429 — daily quota exhausted for the account.