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