---
title: "IP Probe"
method: GET
path: "/ip-probe"
tags: ["Security and Networking"]
---

# IP Probe

`GET /ip-probe`

Execute a realtime network probe against an IPv4 or IPv6 address

## Query parameters

- `ip` string, required

## Response `200`

OK

- IPProbeResponse — Structure of ip-probe
  - `valid` boolean, required — True if this is a valid IPv4 or IPv6 address
  - `country` string, required — Full country name
  - `provider-type` string, required — The detected provider type, possible values are: <br> <ul> <li>isp - IP belongs to an internet service provider. This includes both mobile, home and business internet providers</li> <li>hosting - IP belongs to a hosting company. This includes website hosting, cloud computing platforms and colocation facilities</li> <li>vpn - IP belongs to a VPN provider</li> <li>proxy - IP belongs to a proxy service. This includes HTTP/SOCKS proxies and browser based proxies</li> <li>university - IP belongs to a university/college/campus</li> <li>government - IP belongs to a government department. This includes military facilities</li> <li>commercial - IP belongs to a commercial entity such as a corporate headquarters or company office</li> <li>unknown - could not identify the provider type</li> </ul>
  - `country-code` string, required — ISO 2-letter country code
  - `hostname` string, required — The IPs full hostname (PTR)
  - `provider-domain` string, required — The domain name of the provider
  - `city` string, required — Full city name (if detectable)
  - `provider-website` string, required — The website URL for the provider
  - `ip` string, required — The IPv4 or IPv6 address returned
  - `region` string, required — Full region name (if detectable)
  - `provider-description` string, required — A description of the provider (usually extracted from the providers website)
  - `continent-code` string, required — ISO 2-letter continent code
  - `is-hosting` boolean, required — True if this IP belongs to a hosting company. Note that this can still be true even if the provider type is VPN/proxy, this occurs in the case that the IP is detected as both types
  - `is-isp` boolean, required — True if this IP belongs to an internet service provider. Note that this can still be true even if the provider type is VPN/proxy, this occurs in the case that the IP is detected as both types
  - `country-code3` string, required — ISO 3-letter country code
  - `currency-code` string, required — ISO 4217 currency code associated with the country
  - `is-vpn` boolean, required — True if this IP ia a VPN
  - `is-proxy` boolean, required — True if this IP is a proxy
  - `asn` string, required — The autonomous system (AS) number
  - `as-cidr` string, required — The autonomous system (AS) CIDR range
  - `as-country-code` string, required — The autonomous system (AS) ISO 2-letter country code
  - `as-country-code3` string, required — The autonomous system (AS) ISO 3-letter country code
  - `as-domains` string[], required — Array of all the domains associated with the autonomous system (AS)
  - `as-description` string, required — The autonomous system (AS) description / company name
  - `as-age` integer, required — The age of the autonomous system (AS) in number of years since registration
  - `host-domain` string, required — The IPs host domain
  - `vpn-domain` string, required — The domain of the VPN provider (may be empty if the VPN domain is not detectable)
  - `is-v6` boolean, required — True if this is a IPv6 address. False if IPv4
  - `is-v4-mapped` boolean, required — True if this is a <a href="https://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses">IPv4 mapped IPv6 address</a>
  - `is-bogon` boolean, required — True if this is a bogon IP address such as a private network, local network or reserved address
  - `region-code` string, required — ISO 3166-2 region code (if detectable)

## Other responses

- `400` — Your API request has been rejected. Check error code for details
- `403` — You have failed to authenticate
- `500` — We messed up, sorry! Your request has caused a fatal exception
- `default` — We messed up, sorry! Your request has caused an error

---

[API](https://skmtc.net/neutrinoapi/apis/neutrino-api.md) · [All operations](https://skmtc.net/neutrinoapi/apis/neutrino-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/neutrinoapi/neutrino-api/revisions/4ebd6b56de42/schema)
