Provero Logo

IP fraud detection API

This endpoint performs IP fraud detection by evaluating indicators such as proxies, VPNs, bots, TOR nodes, device fingerprints, and other markers. It returns a detailed fraud risk profile.

Endpoint

POST
https://api.provero.io/api/fraud-check/ip

Headers

Authorization:
Content-Type: application/json
Accept: application/json


Request Body

Field Type Required Description
ip string Yes The IP address to be validated.
user_agent string No User-Agent header string of the client.
user_language string No User language country code (e.g., "en").
Request Payload Example (JSON)
{
    "ip": "8.8.8.8",
    "user_agent": "Mozilla/5.0",
    "user_language": "en"
}

Request Examples

Choose language Bash (cURL) 5 examples
curl -X POST https://api.provero.io/api/fraud-check/ip \
  -H "Authorization: Bearer REPLACE_WITH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "ip": "0.0.0.0", # Replace with clients IP address
    "user_agent": "REPLACE_WITH_USER_AGENT", # Example: "Mozilla/5.0 (...)"
    "user_language": "en" #  Language code e.g. "en" for English
  }'

Response Examples

Choose response example Success 3 examples
{
    "message": "IP fraud check passed",
    "result": {
        "value": "127.0.0.1",
        "proxy": true,
        "isp": "Reserved",
        "organization": "Reserved",
        "asn": "3",
        "host": "localhost",
        "countryCode": "N/A",
        "city": "N/A",
        "region": "N/A",
        "isCrawler": "",
        "connectionType": "Premium required.",
        "latitude": "0",
        "longitude": "0",
        "zipCode": "N/A",
        "timezone": "",
        "vpn": true,
        "tor": false,
        "activeVpn": false,
        "activeTor": false,
        "recentAbuse": true,
        "abuseVelocity": "Premium required.",
        "botStatus": true,
        "mobile": false,
        "fraudScore": 100,
        "highRiskAttacks": null,
        "sharedConnection": null,
        "dynamicConnection": null,
        "securityScanner": null,
        "trustedNetwork": null,
        "operatingSystem": "Mac 10.15",
        "browser": "Chrome 136.0",
        "deviceModel": "N/A",
        "deviceBrand": "Apple",
        "frequentAbuser": null
    }
}

Response Body

Success structure

Field Name Type Always
Returned
Example
message string Yes
result object Yes
result.value string Yes
result.proxy boolean Yes
result.isp string Yes
result.organization string Yes
result.asn string Yes
result.host string No
result.countryCode string Yes
result.city string No
result.region string No
result.isCrawler string No
result.connectionType string No
result.latitude string No
result.longitude string No
result.zipCode string No
result.timezone string No
result.vpn boolean Yes
result.tor boolean Yes
result.activeVpn boolean No
result.activeTor boolean No
result.recentAbuse boolean No
result.abuseVelocity string No
result.botStatus boolean No
result.mobile boolean No
result.fraudScore integer Yes
result.highRiskAttacks boolean|null No
result.sharedConnection boolean|null No
result.dynamicConnection boolean|null No
result.securityScanner boolean|null No
result.trustedNetwork boolean|null No
result.operatingSystem string No
result.browser string No
result.deviceModel string No
result.deviceBrand string No
result.frequentAbuser boolean|null No

Error structure

Field Name Type Always
Returned
Example Description
requestError object No Returned when an internal application or request error occurs.
message string No Top-level error message returned when the account does not have enough balance.
service string No Service alias returned with a 402 insufficient-balance response.
required_amount string No Credit amount required to process the validation request.
current_balance string No Current available balance at the time the request was rejected.