Real-time IP Intelligence Platform

Understand every IP address
with a free, unlimited API

Precise geolocation, network, ISP, proxy, VPN, and security signals — built for developers who move fast. No paywalls. No rate limits. Ever.

Live IP Lookup — try it now

Results for  216.73.216.151
Location
CountryUnited States
CityColumbus
Sub DivisionOhio
Time ZoneAmerica/New_York
ContinentNorth America (NA)
ISO CodeUS
Is EUfalse
Weather CodeUSOH0212
Network
ISPAmazon.com
Connection TypeCorporate
Latitude39.9612
Longitude-82.9988
Privacy & Security
Is Proxyfalse
Is VPNtrue
Is Torfalse
Is Relayfalse
Residential Proxyfalse
Anon. Confidence50% (Medium)
Anon. Last Seen2026-05-23 17:46 UTC
Is Maliciousfalse
Sec. Confidence0% (Very Low)
Threat Typesn/a
Sec. Last Seenn/a
Unlimited requests
100%
Free forever
IPv4+6
Full protocol support
<100ms
Average response time
Threat Intelligence

Every signal you need, in one API

From proxy detection to malware C2 — a comprehensive library of IP threat categories, updated continuously.

Proxy

proxy

Forwarding & anonymisation endpoints — detect any proxy type at the network layer.

HTTP proxy SOCKS4 proxy SOCKS5 proxy Residential proxy

VPN

vpn

Commercial and self-hosted VPN infrastructure — identify both entry and exit traffic.

VPN entry VPN exit

Tor

tor

Tor network relays and exit nodes — distinguish exit traffic from non-exit relays.

Tor exit Tor relay

Relay

relay

Privacy-focused relay infrastructure distinct from traditional VPN or Tor paths.

Privacy relay DNS relay

Malicious

malicious

Abuse, brute-force, malware and phishing feeds — the most comprehensive threat signal set.

Brute force Spam source Botnet Malware C2 Phishing DDoS Credential stuffing Web attack

Hosting

hosting

Datacentre and bulk hosting providers — separate co-location from retail hosting.

Datacenter Hosting provider

Network Services

network_services

Public DNS resolvers, DoH endpoints, and infrastructure scanners — identify benign network tooling.

Public DNS Public DoH Scanner

Geolocation

location · network · traits

Precise location and network attributes for any IPv4 or IPv6 address — from country down to city level, with ISP and connection metadata.

Country & ISO code City & subdivision Continent Latitude & longitude Time zone EU membership Weather code ISP Connection type IPv4 & IPv6

Leading IP geolocation API — free & unlimited

Join thousands of developers who rely on FindIP every day.

Create free account
Quick start

Up and running in 3 steps

Start using the API completely free in just a few minutes.

1
Sign up free

Create your account with just an email address. No credit card. No commitments.

2
Get your API key

Your personal unlimited API key is instantly available on your dashboard after signup.

3
Start querying

Append the IP and your token to our base URL and you're live:

https://api.findip.net/{IP}/?token={KEY}
Developer Docs

Integrate in your favourite language

One REST endpoint — works from any language or platform. Copy the snippet and you're live in seconds.

GET https://api.findip.net/{ip}/?token={token}
Python
import requests

ip    = '8.8.8.8'        # Replace with the IP address to look up
token = 'YOUR_API_KEY'   # Replace with your actual API key

response = requests.get(f'https://api.findip.net/{ip}/?token={token}')
data     = response.json()

print('City:       ', data['city']['names']['en'])
print('Country:    ', data['country']['names']['en'])
print('Continent:  ', data['continent']['code'])
print('Latitude:   ', data['location']['latitude'])
print('Longitude:  ', data['location']['longitude'])
print('Time Zone:  ', data['location']['time_zone'])
print('ISP:        ', data['traits']['isp'])
print('Connection: ', data['traits']['connection_type'])
print('ASN:        ', data['traits']['autonomous_system_number'])
JavaScript (Node.js)
// Node.js — npm install node-fetch
const fetch = require('node-fetch');

const ip    = '8.8.8.8';        // Replace with the IP address to look up
const token = 'YOUR_API_KEY';   // Replace with your actual API key

fetch(`https://api.findip.net/${ip}/?token=${token}`)
  .then(res  => res.json())
  .then(data => {
    console.log('City:      ', data.city.names.en);
    console.log('Country:   ', data.country.names.en);
    console.log('Continent: ', data.continent.code);
    console.log('Latitude:  ', data.location.latitude);
    console.log('Longitude: ', data.location.longitude);
    console.log('Time Zone: ', data.location.time_zone);
    console.log('ISP:       ', data.traits.isp);
    console.log('ASN:       ', data.traits.autonomous_system_number);
  })
  .catch(console.error);
C# (.NET)
using System.Net.Http;
using System.Text.Json;

var ip    = "8.8.8.8";        // Replace with the IP address to look up
var token = "YOUR_API_KEY";   // Replace with your actual API key

using var client = new HttpClient();
var json = await client.GetStringAsync(
    $"https://api.findip.net/{ip}/?token={token}");

using var doc = JsonDocument.Parse(json);
var root = doc.RootElement;

Console.WriteLine($"City:       {root.GetProperty("city").GetProperty("names").GetProperty("en").GetString()}");
Console.WriteLine($"Country:    {root.GetProperty("country").GetProperty("names").GetProperty("en").GetString()}");
Console.WriteLine($"Continent:  {root.GetProperty("continent").GetProperty("code").GetString()}");
Console.WriteLine($"Latitude:   {root.GetProperty("location").GetProperty("latitude").GetDouble()}");
Console.WriteLine($"Longitude:  {root.GetProperty("location").GetProperty("longitude").GetDouble()}");
Console.WriteLine($"Time Zone:  {root.GetProperty("location").GetProperty("time_zone").GetString()}");
Console.WriteLine($"ISP:        {root.GetProperty("traits").GetProperty("isp").GetString()}");
Console.WriteLine($"ASN:        {root.GetProperty("traits").GetProperty("autonomous_system_number").GetInt32()}");
PHP
<?php
$ip    = '8.8.8.8';        // Replace with the IP address to look up
$token = 'YOUR_API_KEY';   // Replace with your actual API key

$url      = "https://api.findip.net/{$ip}/?token={$token}";
$response = file_get_contents($url);
$data     = json_decode($response, true);

echo 'City:       ' . $data['city']['names']['en']                        . PHP_EOL;
echo 'Country:    ' . $data['country']['names']['en']                     . PHP_EOL;
echo 'Continent:  ' . $data['continent']['code']                          . PHP_EOL;
echo 'Latitude:   ' . $data['location']['latitude']                       . PHP_EOL;
echo 'Longitude:  ' . $data['location']['longitude']                      . PHP_EOL;
echo 'Time Zone:  ' . $data['location']['time_zone']                      . PHP_EOL;
echo 'ISP:        ' . $data['traits']['isp']                              . PHP_EOL;
echo 'ASN:        ' . $data['traits']['autonomous_system_number']         . PHP_EOL;
Go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    ip    := "8.8.8.8"       // Replace with the IP address to look up
    token := "YOUR_API_KEY"  // Replace with your actual API key

    resp, _ := http.Get(fmt.Sprintf("https://api.findip.net/%s/?token=%s", ip, token))
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)

    var data map[string]interface{}
    json.Unmarshal(body, &data)

    city     := data["city"].(map[string]interface{})["names"].(map[string]interface{})["en"]
    country  := data["country"].(map[string]interface{})["names"].(map[string]interface{})["en"]
    location := data["location"].(map[string]interface{})
    traits   := data["traits"].(map[string]interface{})

    fmt.Println("City:      ", city)
    fmt.Println("Country:   ", country)
    fmt.Println("Continent: ", data["continent"].(map[string]interface{})["code"])
    fmt.Println("Latitude:  ", location["latitude"])
    fmt.Println("Longitude: ", location["longitude"])
    fmt.Println("Time Zone: ", location["time_zone"])
    fmt.Println("ISP:       ", traits["isp"])
    fmt.Println("ASN:       ", traits["autonomous_system_number"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import org.json.JSONObject;

public class FindIPExample {
    public static void main(String[] args) throws Exception {
        String ip    = "8.8.8.8";        // Replace with the IP address to look up
        String token = "YOUR_API_KEY";   // Replace with your actual API key

        HttpClient  client  = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.findip.net/" + ip + "/?token=" + token))
            .build();

        HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString());

        JSONObject data = new JSONObject(response.body());

        System.out.println("City:       " + data.getJSONObject("city").getJSONObject("names").getString("en"));
        System.out.println("Country:    " + data.getJSONObject("country").getJSONObject("names").getString("en"));
        System.out.println("Continent:  " + data.getJSONObject("continent").getString("code"));
        System.out.println("Latitude:   " + data.getJSONObject("location").getDouble("latitude"));
        System.out.println("Longitude:  " + data.getJSONObject("location").getDouble("longitude"));
        System.out.println("Time Zone:  " + data.getJSONObject("location").getString("time_zone"));
        System.out.println("ISP:        " + data.getJSONObject("traits").getString("isp"));
        System.out.println("ASN:        " + data.getJSONObject("traits").getInt("autonomous_system_number"));
    }
}
Ruby
require 'net/http'
require 'json'

ip    = '8.8.8.8'        # Replace with the IP address to look up
token = 'YOUR_API_KEY'   # Replace with your actual API key

uri      = URI("https://api.findip.net/#{ip}/?token=#{token}")
data     = JSON.parse(Net::HTTP.get(uri))

puts "City:       #{data['city']['names']['en']}"
puts "Country:    #{data['country']['names']['en']}"
puts "Continent:  #{data['continent']['code']}"
puts "Latitude:   #{data['location']['latitude']}"
puts "Longitude:  #{data['location']['longitude']}"
puts "Time Zone:  #{data['location']['time_zone']}"
puts "ISP:        #{data['traits']['isp']}"
puts "ASN:        #{data['traits']['autonomous_system_number']}"
Kotlin
import java.net.URL
import org.json.JSONObject

fun main() {
    val ip    = "8.8.8.8"        // Replace with the IP address to look up
    val token = "YOUR_API_KEY"   // Replace with your actual API key

    val json = URL("https://api.findip.net/$ip/?token=$token").readText()
    val data = JSONObject(json)

    println("City:       ${data.getJSONObject("city").getJSONObject("names").getString("en")}")
    println("Country:    ${data.getJSONObject("country").getJSONObject("names").getString("en")}")
    println("Continent:  ${data.getJSONObject("continent").getString("code")}")
    println("Latitude:   ${data.getJSONObject("location").getDouble("latitude")}")
    println("Longitude:  ${data.getJSONObject("location").getDouble("longitude")}")
    println("Time Zone:  ${data.getJSONObject("location").getString("time_zone")}")
    println("ISP:        ${data.getJSONObject("traits").getString("isp")}")
    println("ASN:        ${data.getJSONObject("traits").getInt("autonomous_system_number")}")
}

Our mission is free, unlimited IP geolocation for everyone

No tiers. No hidden limits. The same great API for startups and Fortune 500 alike.

FAQ

Frequently Asked Questions

Can't find the answer you're looking for? Contact us — we reply fast.

We believe the web should be open and accessible. Our mission is to provide the best real-time geolocation API so that any developer can confidently build great products without worrying about usage costs.

After you log in to your FindIP account, you will be taken directly to your dashboard where your API key is displayed — ready to copy and use immediately.

No — there are no daily, monthly, or lifetime request limits. Use the API as much as you need, completely free.