Browse

IP Intelligence

Location and network details for an IPv4 or IPv6 address (country, region, city, time zone, ASN and network owner) with risk flags from open lists such as Tor exit nodes and cloud provider ranges. Location data comes from DB-IP Lite (CC BY 4.0) and must be credited wherever results are shown.

POST https://YOUR_API_HOST/v1/ip

Credits and caching

  • Success billing. 1 credit per lookup. You are charged only when the lookup finds something; a not-found result is free.
  • Results are cached per account for 7 days. Repeating the same lookup in that window is free and returns cache_hit: true.
  • Invalid input, rate limits and errors are never charged.
  • Read the billing rules for the full picture.

Request

Send a JSON body with Authorization: Bearer <key>. The body can be up to 64 KB.

FieldTypeRequiredNotes
ipstringyesUp to 100 characters.

Example request

Terminal
curl -X POST https://YOUR_API_HOST/v1/ip \
  -H "Authorization: Bearer $LOOKVALID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ip":"8.8.8.8"}'

Response

The status is 200 whether or not anything was found. Check found. Every response also carries the X-Request-Id, X-Credits-Charged, X-Credits-Remaining and X-RateLimit-* headers.

Envelope

FieldTypeNotes
request_idstring-
product"ip"-
foundbooleanFalse means the lookup ran and found nothing; it is free.
reasonstring or nullWhy nothing was found; null when found.
sourcesarray of stringWhere the data came from, including any attribution the licence requires.
credits_chargedinteger0 for a cache hit, a not-found result or an error.
credits_remaininginteger-
cache_hitbooleanTrue when the account already paid for this lookup within the cache window.
cacheobject-

The data object

Present when found is true, otherwise null.

FieldTypeNotes
ipstring-
version4 or 6-
countrystring or nullISO 3166-1 alpha-2 country code
regionstring or null-
citystring or null-
latitudenumber or null-
longitudenumber or null-
timezonestring or nullIANA time zone name; null when the location source does not carry one (DB-IP Lite does not)
asninteger or nullAutonomous system number
asn_orgstring or nullOrganization that holds the ASN
is_hostingbooleanTrue when the address is inside a published cloud or hosting provider range
hosting_providerstring or null-
is_torbooleanTrue when the address is on the Tor Project exit list
is_vpnboolean or nullAlways null in this release: no VPN data source with resale-compatible terms is installed, so VPN status is unknown
risk_scoreintegerMinimum 0. Maximum 100.
risk_factorsarray of object-
risk_factors[].factorstringOne of tor_exit, hosting_provider.
risk_factors[].pointsinteger-
risk_factors[].descriptionstring-
attribution"IP geolocation by DB-IP"-

Captured example (2026-10-18)

A real run of this lookup on 2026-10-18, using the request above, which is a public input. The envelope fields are left out.

{
  "product": "ip",
  "found": true,
  "data": {
    "ip": "8.8.8.8",
    "version": 4,
    "country": "US",
    "region": "California",
    "city": "Mountain View",
    "latitude": 37.422,
    "longitude": -122.085,
    "timezone": null,
    "asn": 15169,
    "asn_org": "Google LLC",
    "is_hosting": true,
    "hosting_provider": "Google",
    "is_tor": false,
    "is_vpn": null,
    "risk_score": 25,
    "risk_factors": [
      {
        "factor": "hosting_provider",
        "points": 25,
        "description": "The address belongs to a cloud or hosting provider (Google), where traffic is often automated."
      }
    ],
    "attribution": "IP geolocation by DB-IP"
  },
  "sources": [
    "IP geolocation by DB-IP (db-ip.com), CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "IP to ASN data by DB-IP (https://db-ip.com), licensed CC BY 4.0. License: https://creativecommons.org/licenses/by/4.0/",
    "Published cloud provider IP ranges"
  ]
}

Errors

  • 400 invalid_input: The request input is invalid.
  • 401 unauthorized: The API key is missing, malformed, revoked or unknown.
  • 402 insufficient_credits: The account does not have enough credits for this lookup. Error code: insufficient_credits. During a trial whose allowance is used up the code is trial_allowance_exhausted: nothing is charged and the customer starts the plan from the billing page.
  • 405 method_not_allowed: This endpoint does not accept that HTTP method.
  • 413 payload_too_large: The request body is too large.
  • 429 rate_limited: Too many requests for this API key.
  • 500 internal_error: An unexpected error occurred.
  • 503 provider_unavailable: The data source for this product is unavailable right now.