Skip to content

IPDataInfo/ipdata-kotlin

Repository files navigation

IPData.info Kotlin SDK — Free IP Geolocation & Threat Intelligence API

CI License: MIT

Official Kotlin 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.

Get a free API key

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.

Install

JitPack hosts this library directly from GitHub — no separate publish step. Add the JitPack repository, then the dependency.

Gradle (Kotlin DSL)

repositories {
    maven { url = uri("https://jitpack.io") }
}

dependencies {
    implementation("com.github.IPDataInfo:ipdata-kotlin:0.1.0")
}

Gradle (Groovy DSL)

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.IPDataInfo:ipdata-kotlin:0.1.0'
}

Maven

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.github.IPDataInfo</groupId>
  <artifactId>ipdata-kotlin</artifactId>
  <version>0.1.0</version>
</dependency>

Quickstart

import info.ipdata.sdk.IPDataClient

fun main() {
    // Free tier: no key required, 50 req/min.
    val client = IPDataClient()
    val info = client.lookup("8.8.8.8")
    println("${info.country} / AS${info.asn} (${info.isp})")

    // With a key: higher limits + batch(), defaults to the pro host.
    val proClient = IPDataClient(apiKey = "YOUR_API_KEY")
    val results = proClient.batch(listOf("8.8.8.8", "1.1.1.1"))
}

Methods

Method What it returns
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 JsonElement)
asnWhoisHistory(n) ASN whois history (raw JsonElement)
asnChanges() ASN change feed (raw JsonElement)
threatDomain/Hash/Url(x) Threat-intel lookup (domain / file hash / URL)

All non-2xx responses throw IpDataException(status, message). Data classes are annotated with kotlinx.serialization and ignore unknown/missing fields, so the SDK stays forward-compatible with new API fields.

Full response schema: ipdata.info API docs · SDK contract.

Rate limits

  • Free (ipdata.info): 50 req/min, no key.
  • Paid (pro.ipdata.info): higher limits + batch, with an API key.

Other SDKs

12 official SDKs — see the full list at ipdata.info/docs/sdks: Python, Node.js, Go, PHP, Java, Rust, .NET, Kotlin, Swift, Dart, Bash, Objective-C.

License

MIT © ipdata.info

About

Official Kotlin SDK for the ipdata.info IP geolocation, ASN & threat-intelligence API (JitPack)

Topics

Resources

License

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages