ipdatainfo
v0.1.0
Published
Official Node.js/TypeScript client for the ipdata.info IP geolocation, ASN, and threat-intelligence API.
Maintainers
Readme
IPData.info Node.js SDK — Free IP Geolocation & Threat Intelligence API
Official Node.js/TypeScript 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
npm install ipdatainfoQuickstart
import { IPDataClient } from "ipdatainfo";
const client = new IPDataClient(); // free tier; or new IPDataClient({ apiKey: "KEY" })
const info = await client.lookup("8.8.8.8");
console.log(info.city, info.country, info.asn_org); // Mountain View United States Google LLCCommonJS works too: const { IPDataClient } = require("ipdatainfo");
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 |
| asnWhoisHistory(n) | ASN whois history |
| asnChanges() | ASN change feed |
| threatDomain/Hash/Url(x) | Threat-intel lookup (domain / file hash / URL) |
new IPDataClient(options?: {
apiKey?: string; // sent as X-Api-Key; switches default host to pro.ipdata.info
baseUrl?: string; // default: https://ipdata.info (or pro host when apiKey is set)
timeout?: number; // request timeout in ms, default 10000
});Full response schema: ipdata.info API docs · SDK contract.
Error handling
Non-2xx responses (and transport failures like timeouts) throw IpDataError
with status and message:
import { IPDataClient, IpDataError } from "ipdatainfo";
try {
await new IPDataClient().batch(["8.8.8.8"]); // no key -> 403
} catch (err) {
if (err instanceof IpDataError) {
console.error(err.status, err.message); // 403 batch lookup requires a paid tier API key
}
}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
