http://localhost/api/v1/ip/check
scope: ip.check
Returns geolocation, ASN, VPN/proxy/TOR/hosting flags, threat-list status, and a 0-100 fraud score with reasons for a single IP address.
| Field | Type | Optional | Description |
|---|---|---|---|
ip |
string | Optional | Defaults to the caller's own IP if omitted. |
Every parameter here is optional.
curl "http://localhost/api/v1/ip/check?ip=103.148.154.174" \
-H "Authorization: Bearer wsk_xxx_xxx"
<?php
$ch = curl_init('http://localhost/api/v1/ip/check?ip=103.148.154.174');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer wsk_xxx_xxx']);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
import requests
response = requests.get("http://localhost/api/v1/ip/check",
headers={"Authorization": "Bearer wsk_xxx_xxx"},
params={"ip": "103.148.154.174"},
)
data = response.json()
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "http://localhost/api/v1/ip/check?ip=103.148.154.174", nil)
req.Header.Set("Authorization", "Bearer wsk_xxx_xxx")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}
{
"data": {
"ip": "103.148.154.174",
"country": "US", "region": null, "city": null,
"asn": null, "isp": null, "organization": null,
"is_vpn": false, "is_proxy": false, "is_tor": false,
"is_hosting": false, "is_mobile": false, "is_private": false,
"is_whitelisted": false, "is_blacklisted": false,
"fraud_score": 5, "risk_score": 5, "confidence": 40,
"reasons": ["No risk signals detected"]
}
}