Official Java client for ipdata.info — a free, fast IP geolocation, ASN, and threat-intelligence API. Look up country, city, ASN, timezone, currency, and security flags (proxy/VPN/Tor/hosting) for any IPv4 or IPv6 address. Powered by ipdata.info.
The public endpoint is free — 50 requests/min, no signup, no key. For higher rate limits and batch lookups, create a free API key at ipdata.info/register and manage it in your dashboard.
Requires Java 11+. Published via JitPack.
Gradle (build.gradle):
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.IPDataInfo:ipdata-java:0.1.0'
}Maven (pom.xml):
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.IPDataInfo</groupId>
<artifactId>ipdata-java</artifactId>
<version>0.1.0</version>
</dependency>import info.ipdata.sdk.IPDataClient;
import info.ipdata.sdk.model.IpInfo;
IPDataClient client = new IPDataClient(); // free tier; or new IPDataClient("YOUR_KEY")
IpInfo info = client.lookup("8.8.8.8");
System.out.println(info.getCity() + ", " + info.getCountry() + " (" + info.getAsnOrg() + ")");
// Mountain View, United States (Google LLC)| Method | What it returns |
|---|---|
lookup() / lookup(ip) |
Full geolocation record (own IP if omitted) |
geo(ip) |
Geo subset (city/region/country/lat/lon/tz) |
asn(ip) |
ASN + ISP/registry for an IP |
batch(ips) |
Many IPs at once (requires an API key) |
asnDetail(n) |
ASN detail incl. prefixes (raw JsonNode) |
asnWhoisHistory(n) |
ASN whois history (raw JsonNode) |
asnChanges() |
ASN change feed (raw JsonNode) |
threatDomain/threatHash/threatUrl(x) |
Threat-intel lookup (domain / file hash / URL) |
Full response schema: ipdata.info API docs · SDK list.
// Constructor: apiKey (nullable), baseUrl (nullable), timeout (nullable, default 10s)
IPDataClient client = new IPDataClient("YOUR_KEY", null, Duration.ofSeconds(15));
// Or the fluent builder:
IPDataClient client = IPDataClient.builder()
.apiKey("YOUR_KEY") // sent as X-Api-Key; switches to pro.ipdata.info
.baseUrl("https://ipdata.info")
.timeout(Duration.ofSeconds(15))
.build();Errors from non-2xx responses (and network/decode failures) are thrown as
info.ipdata.sdk.IpDataException, an unchecked RuntimeException with
getStatus() and getMessage().
- Free (
ipdata.info): 50 req/min, no key. - Paid (
pro.ipdata.info): higher limits +batch, with an API key.
12 official SDKs — see ipdata.info/docs/sdks: Python, Node.js, Go, PHP, Java, Rust, .NET, Kotlin, Swift, Dart, Bash, Objective-C.
MIT © ipdata.info