Skip to content

Response Schema

This page documents the complete JSON response schema for the /api/v1/info endpoint.

interface InfoResponse {
ip: string;
ip_version: number;
reverse_dns: string | null;
network: NetworkInfo;
connection: ConnectionInfo;
client: ClientInfo;
privacy: PrivacyInfo;
server: ServerInfo;
cloudflare?: CloudflareHeaders;
}

FieldTypeDescription
ipstringThe detected IP address
ip_versionnumberIP version (4 or 6)
reverse_dnsstring | nullReverse DNS lookup (always null - reverse DNS is client-side only via HTML UI)
cloudflareCloudflareHeaders | undefinedCloudflare Worker headers (only present when using Cloudflare Worker)

Information about the IP’s network/ASN.

interface NetworkInfo {
asn: number | null;
as_name: string | null;
prefix: string | null;
rir: string | null;
country: string | null;
org_name: string | null;
tor_exit: boolean;
vpn_or_hosting: boolean;
}
FieldTypeDescription
asnnumber | nullAutonomous System Number
as_namestring | nullAS description/name
prefixstring | nullNetwork prefix (CIDR notation)
rirstring | nullRegional Internet Registry (ARIN, RIPE, APNIC, LACNIC, AFRINIC)
countrystring | nullTwo-letter country code
org_namestring | nullOrganization name (from RIPE database)
tor_exitbooleanWhether IP is a known Tor exit node
vpn_or_hostingbooleanWhether IP belongs to VPN/hosting provider

Information about the current connection.

interface ConnectionInfo {
tls_version: string | null;
http_protocol: string | null;
tls_cipher: string | null;
cf_ray: string | null;
datacenter: string | null;
}
FieldTypeDescription
tls_versionstring | nullTLS version (e.g., TLSv1.3)
http_protocolstring | nullHTTP version (h2, http/1.1)
tls_cipherstring | nullTLS cipher suite (e.g., AEAD-AES128-GCM-SHA256)
cf_raystring | nullCloudflare Ray ID
datacenterstring | nullCloudflare datacenter code (e.g., IAD)

These fields are populated from Cloudflare headers when running behind Cloudflare. The tls_cipher field is available when using Cloudflare Worker with X-CF-TLS-Cipher header.


Information about the client making the request.

interface ClientInfo {
user_agent: string | null;
accept_language: string | null;
accept_encoding: string | null;
client_hints: ClientHints;
}
interface ClientHints {
sec_ch_ua: string | null;
sec_ch_ua_platform: string | null;
}
FieldTypeDescription
user_agentstring | nullUser-Agent header value
accept_languagestring | nullAccept-Language header
accept_encodingstring | nullAccept-Encoding header
client_hints.sec_ch_uastring | nullClient Hints UA string
client_hints.sec_ch_ua_platformstring | nullClient Hints platform

Information about the server’s privacy mode.

interface PrivacyInfo {
mode: string;
logs_retained: boolean;
}
FieldTypeDescription
modestringPrivacy mode (strict or balanced)
logs_retainedbooleanWhether logs are retained

Information about the CloakProbe server.

interface ServerInfo {
timestamp_utc: string;
region: string | null;
version: string;
}
FieldTypeDescription
timestamp_utcstringISO 8601 timestamp
regionstring | nullServer region (from CLOAKPROBE_REGION)
versionstringCloakProbe version

Information from Cloudflare Worker headers (only present when using Cloudflare Worker).

interface CloudflareHeaders {
geo?: CloudflareGeoHeaders;
network?: CloudflareNetworkHeaders;
connection?: CloudflareConnectionHeaders;
security?: CloudflareSecurityHeaders;
proxy?: CloudflareProxyHeaders;
}

Geographic location information.

interface CloudflareGeoHeaders {
cf_ipcountry?: string;
country?: string;
city?: string;
region?: string;
region_code?: string;
continent?: string;
latitude?: string;
longitude?: string;
postal_code?: string;
timezone?: string;
}

Network information.

interface CloudflareNetworkHeaders {
asn?: string;
as_organization?: string;
colo?: string;
}

Connection details.

interface CloudflareConnectionHeaders {
cf_visitor?: string;
x_forwarded_proto?: string;
http_protocol?: string;
tls_version?: string;
tls_cipher?: string;
cf_request_id?: string;
cf_cache_status?: string;
}

Security and bot management information.

interface CloudflareSecurityHeaders {
trust_score?: string;
bot_score?: string;
verified_bot?: string;
}

Proxy forwarding headers.

interface CloudflareProxyHeaders {
x_forwarded_for?: string;
x_real_ip?: string;
}

{
"ip": "2001:db8::1234",
"ip_version": 6,
"reverse_dns": null,
"network": {
"asn": 64496,
"as_name": "EXAMPLE-NET",
"prefix": "2001:db8::/32",
"rir": "RIPE",
"country": "DE",
"org_name": "Example GmbH",
"tor_exit": false,
"vpn_or_hosting": false
},
"connection": {
"tls_version": "TLSv1.3",
"http_protocol": "h2",
"tls_cipher": "AEAD-AES128-GCM-SHA256",
"cf_ray": "8abc123def456-FRA",
"datacenter": "FRA"
},
"client": {
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"accept_language": "en-US,en;q=0.9,de;q=0.8",
"accept_encoding": "gzip, deflate, br",
"client_hints": {
"sec_ch_ua": "\"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
"sec_ch_ua_platform": "\"Windows\""
}
},
"privacy": {
"mode": "strict",
"logs_retained": false
},
"server": {
"timestamp_utc": "2024-01-15T14:30:00.123456789Z",
"region": "eu-central",
"version": "0.1.1"
},
"cloudflare": {
"geo": {
"country": "DE",
"city": "Berlin",
"region": "Berlin",
"region_code": "BE",
"continent": "EU",
"latitude": "52.5200",
"longitude": "13.4050",
"postal_code": "10115",
"timezone": "Europe/Berlin"
},
"network": {
"asn": "AS64496",
"as_organization": "Example GmbH",
"colo": "FRA"
},
"connection": {
"http_protocol": "h2",
"tls_version": "TLSv1.3",
"tls_cipher": "AEAD-AES128-GCM-SHA256",
"cf_request_id": "8abc123def456",
"cf_cache_status": "MISS"
},
"security": {
"trust_score": "50",
"bot_score": "1",
"verified_bot": "false"
}
}
}