Official PHP 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.
composer require ipdatainfo/sdk
<?php
require 'vendor/autoload.php';
use IPDataInfo\Client;
$client = new Client(); // free tier; or new Client('YOUR_API_KEY')
$info = $client->lookup('8.8.8.8');
echo "{$info['city']}, {$info['country']} ({$info['asn_org']})\n"; // Mountain View, United States (Google LLC)| 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/threatHash/threatUrl(x) |
Threat-intel lookup (domain / file hash / URL) |
Full response schema: ipdata.info API docs · SDK list.
new Client(
apiKey: 'YOUR_API_KEY', // sent as X-Api-Key; switches to pro.ipdata.info
baseUrl: 'https://ipdata.info', // optional override
timeout: 10.0, // seconds
);Errors from non-2xx responses are thrown as IPDataInfo\IpDataException with
getStatusCode() and a message from the API's {"error": "..."} body.
- Free (
ipdata.info): 50 req/min, no key. - Paid (
pro.ipdata.info): higher limits +batch, with an API key.
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.
MIT © ipdata.info