C# guide
Use FindIP with C# and .NET
Use HttpClient and System.Text.Json to read geolocation and IP intelligence without third-party JSON packages.
Endpoint
Authenticated IP lookup
GET https://api.findip.net/{ip}/?token={token}
Status handlingCheck success before reading the JSON body.
Risk fieldsRead
intelligence.risk.score and level for compact decisions.Response guideView the full response model
.NET example
Works in modern .NET console, worker, and web apps.
using System.Text.Json;
var ip = "8.8.8.8";
var token = "YOUR_API_KEY";
using var client = new HttpClient { Timeout = TimeSpan.FromSeconds(10) };
var uri = $"https://api.findip.net/{ip}/?token={Uri.EscapeDataString(token)}&returnIp=true";
using var response = await client.GetAsync(uri);
response.EnsureSuccessStatusCode();
using var stream = await response.Content.ReadAsStreamAsync();
using var doc = await JsonDocument.ParseAsync(stream);
var root = doc.RootElement;
var intelligence = root.GetProperty("intelligence");
Console.WriteLine($"City: {root.GetProperty("city").GetProperty("names").GetProperty("en").GetString()}");
Console.WriteLine($"Country: {root.GetProperty("country").GetProperty("names").GetProperty("en").GetString()}");
Console.WriteLine($"ISP: {root.GetProperty("traits").GetProperty("isp").GetString()}");
Console.WriteLine($"ASN: {root.GetProperty("traits").GetProperty("autonomous_system_number").GetInt32()}");
Console.WriteLine($"Verdict: {intelligence.GetProperty("summary").GetProperty("verdict").GetString()}");
Console.WriteLine($"Risk: {intelligence.GetProperty("risk").GetProperty("score").GetInt32()} {intelligence.GetProperty("risk").GetProperty("level").GetString()}");
Console.WriteLine($"VPN: {intelligence.GetProperty("flags").GetProperty("is_vpn").GetBoolean()}");
Console.WriteLine($"Proxy: {intelligence.GetProperty("flags").GetProperty("is_proxy").GetBoolean()}");
Console.WriteLine($"Tor: {intelligence.GetProperty("flags").GetProperty("is_tor").GetBoolean()}");