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.

.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()}");