Lookup
Answers what is known about a single IPv4 or IPv6 address. Which fields
come back is decided by the presented key; with no key the answer is
ip and is_vpn.
?apikey=<key>. Convenient in a browser; prefer a header elsewhere.
In: query
Path Parameters
The IPv4 or IPv6 address to classify.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.vpndetection.io/1.1.1.1"{
"ip": "146.70.116.130",
"is_vpn": true
}{
"error": "not a valid IP address"
}{
"error": "invalid API key"
}{
"error": "source address not allowed for this API key"
}{
"error": "rate limit exceeded"
}{
"error": "lookup failed"
}Rate Limits
Quota and throttling behavior for the VPNDetection HTTP API.
My IP GET
Answers what is known about the address this request came from, which is the same answer `GET /{ip}` gives for that address: the presented key decides which fields come back, and the request counts against the same allowance. The address is the one our edge observed, so a request through a proxy or a VPN reports the exit it left through rather than the machine that made it. That is usually the point of asking.