Skip to content
IP IPBot
Get Started

Response Schema

IPBot returns a single JSON object with the following structure:

{
"ip": "8.8.8.8",
"location": {
"country": "United States",
"country_code": "US",
"region": "California",
"city": "Mountain View",
"postal": "94043",
"latitude": 37.422,
"longitude": -122.084,
"timezone": "-07:00"
},
"network": {
"asn": "AS15169",
"org": "Google LLC",
"radar": null
},
"security": {
"risk_score": 75,
"risk_reasons": ["ASN_RULE:datacenter_keywords", "THREAT_LIST:tor"],
"usage_type": "DCH",
"is_datacenter": true,
"is_proxy": true,
"threat_level": "High",
"threat_lists": ["tor"]
},
"telemetry": {
"user_agent": "curl/8.0",
"is_browser": false
},
"meta": {
"process_time_us": 450,
"data_version": "2026-01-04",
"engine": "IPBot/1.1"
}
}
FieldTypeDescription
ipstringThe queried IP address
locationobjectGeographic location information
networkobjectNetwork and ASN information
securityobjectRisk assessment and threat intelligence
telemetryobjectRequest metadata (user agent, etc)
metaobjectAPI response metadata
FieldTypeDescription
countrystringFull country name
country_codestringISO 3166-1 alpha-2 country code (e.g., “US”, “GB”, “JP”)
regionstringState, province, or region name
citystringCity name
postalstringPostal/ZIP code
latitudefloatApproximate latitude (decimal degrees)
longitudefloatApproximate longitude (decimal degrees)
timezonestringUTC offset in format +/-HH:MM
{
"location": {
"country": "Germany",
"country_code": "DE",
"region": "Bavaria",
"city": "Munich",
"postal": "80331",
"latitude": 48.1351,
"longitude": 11.582,
"timezone": "+01:00"
}
}
FieldTypeDescription
asnstringAutonomous System Number (e.g., “AS15169”)
orgstringOrganization name associated with the ASN
radarstring or nullUsage classification from ipbot-radar: isp, datacenter, mobile, vpn, proxy, tor, or null
  • network.radar is cache-first and may be null on cache miss
  • Radar classifications are determined by analyzing AS name, organization, and known ranges
  • When null, the IP has not been classified yet (cold cache)
{
"network": {
"asn": "AS16509",
"org": "Amazon.com, Inc.",
"radar": "datacenter"
}
}
FieldTypeDescription
risk_scoreintegerOverall risk score from 0-100 (higher = more risky)
risk_reasonsarrayList of reasons contributing to the risk score
usage_typestringIP2Location usage classification (see table below)
is_datacenterbooleanTrue if IP is from a known datacenter/ISP hosting range
is_proxybooleanTrue if IP matches known proxy/VPN services
threat_levelstringHuman-readable threat level: Low, Medium, High
threat_listsarrayNames of threat lists this IP appears on
Score RangeRisk LevelRecommended Action
0-20LowAllow
21-50Low-MediumMonitor
51-75Medium-HighAdditional verification recommended
76-100HighBlock or require strong authentication
CodeDescription
ISPInternet Service Provider
COMCommercial
ORGOrganization
RESResidential
GOVGovernment
MILMilitary
EDUEducational Institution
LIBLibrary
CDNContent Delivery Network
ISPFixed Line ISP
MOBMobile ISP
DCHData Center/Web Hosting/Transit
SESSearch Engine Spider
RSGReserved
IOTIoT
{
"security": {
"risk_score": 10,
"risk_reasons": [],
"usage_type": "RES",
"is_datacenter": false,
"is_proxy": false,
"threat_level": "Low",
"threat_lists": []
}
}
{
"security": {
"risk_score": 85,
"risk_reasons": [
"ASN_RULE:datacenter_keywords",
"THREAT_LIST:tor",
"IP2LOCATION:proxy"
],
"usage_type": "DCH",
"is_datacenter": true,
"is_proxy": true,
"threat_level": "High",
"threat_lists": ["tor", "proxies"]
}
}

Risk reasons follow a SOURCE:detail format:

PrefixSource
ASN_RULEOrganization name-based rules
THREAT_LISTCustom threat intelligence
IP2LOCATIONIP2Location database flags
RADARipbot-radar classification
FieldTypeDescription
user_agentstringThe User-Agent header from the request
is_browserbooleanTrue if the request appears to be from a browser
{
"telemetry": {
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"is_browser": true
}
}
FieldTypeDescription
process_time_usintegerRequest processing time in microseconds
data_versionstringDatabase version identifier (YYYY-MM-DD)
enginestringAPI engine version identifier
{
"meta": {
"process_time_us": 1250,
"data_version": "2026-01-04",
"engine": "IPBot/1.1"
}
}

For TypeScript users, here’s the interface definition:

interface IPBotResponse {
ip: string;
location: {
country: string;
country_code: string;
region: string;
city: string;
postal: string;
latitude: number;
longitude: number;
timezone: string;
};
network: {
asn: string;
org: string;
radar: "isp" | "datacenter" | "mobile" | "vpn" | "proxy" | "tor" | null;
};
security: {
risk_score: number;
risk_reasons: string[];
usage_type: string;
is_datacenter: boolean;
is_proxy: boolean;
threat_level: "Low" | "Medium" | "High";
threat_lists: string[];
};
telemetry: {
user_agent: string;
is_browser: boolean;
};
meta: {
process_time_us: number;
data_version: string;
engine: string;
};
}