ip2geo — Python SDK
Official Python SDK for the Ip2Geo API — fast IP geolocation, network intelligence, and security risk detection.
🚀 Get an API Key (Free)
You need an API key to use Ip2Geo.
👉 Get your free API key here:
https://ip2geoapi.com/
Free plan includes
- ✅ 100,000 requests / month
- ✅ No credit card required
- ✅ Full access to security intelligence data
- ✅ Instant activation
🧠 Why Ip2Geo?
- Most IP data providers:
- Charge extra for security fields
- Require credit cards upfront
- Hide important data behind higher tiers
- Ip2Geo provides security intelligence by default, even on the free plan.
✨ Features
- 🌍 Accurate IP geolocation (country, city, timezone, ISP)
- 🛡️ Security intelligence included:
- VPN detection
- Proxy detection
- TOR detection
- Hosting / ASN classification
- Trust score & risk level
- ⚡ Fast global API
- 📦 Simple, lightweight Python SDK
- 🔓 No hidden paid-only fields (others charge extra for security data)
📦 Installation
pip install ip2geoapi
Quick Start
from ip2geo import Ip2Geo
client = Ip2Geo("YOUR_API_KEY")
data = client.lookup("8.8.8.8")
print(data)
Lookup your IP
from ip2geo import Ip2Geo
client = Ip2Geo("YOUR_API_KEY")
data = client.lookup("check")
print(data)
API Response
{
"success": true,
"ip": "8.8.8.8",
"version": "ipv4",
"geo": {
"city": "Chicago",
"country": "United States",
"countryCode": "US",
"region": null,
"regionCode": null,
"latitude": 37.751,
"longitude": -97.822,
"postalCode": null,
"geonameId": 6252001,
"accuracyRadius": 1000,
"metroCode": null,
"continentName": "North America",
"continentCode": "NA",
"isEuMember": false
},
"countryInfo": {
"name": "United States of America",
"alpha2Code": "US",
"alpha3Code": "USA",
"flag": "https://api.ip2geoapi.com/assets/flags/us.svg",
"callingCodes": [
"1"
],
"currencies": [
{
"code": "USD",
"name": "United States dollar",
"symbol": "$"
}
],
"languages": [
{
"iso639_1": "en",
"iso639_2": "eng",
"name": "English",
"nativeName": "English"
}
]
},
"timezoneInfo": {
"timezone": "America/Chicago",
"utcOffsetSeconds": -21600,
"utcOffsetText": "-06:00",
"utcOffsetHours": -6,
"isDst": false,
"abbreviation": "CST",
"localTime": "2025-12-22T21:46:07-06:00"
},
"network": {
"cidr": "8.8.8.8/32",
"prefixLen": 32,
"asn": 15169,
"asFormatted": "AS15169",
"asName": "GOOGLE",
"isp": "Google",
"organization": "Google",
"connectionType": "Corporate",
"mobile": {
"mcc": null,
"mnc": null
}
},
"asDetails": {
"asn": 15169,
"abuser_score": "0.001 (Low)",
"descr": "GOOGLE, US",
"country": "us",
"active": true,
"org": "Google LLC",
"domain": "google.com",
"abuse": "network-abuse@google.com",
"type": "hosting",
"created": "2000-03-30",
"updated": "2012-02-24",
"rir": "ARIN"
},
"security": {
"isHosting": true,
"isProxy": false,
"proxyType": null,
"isVpn": false,
"vpnProvider": null,
"vpnProviderUrl": null,
"isTor": false,
"isAnonymous": true,
"trustScore": 65,
"riskLevel": "medium"
}
}
📄 Response Formats
JSON (default)
client.lookup("8.8.8.8")
YAML
client.lookup("8.8.8.8", format="yml")
XML
client.lookup("8.8.8.8", format="xml")
JSONP Callbacks
client.lookup("8.8.8.8", format="jsonp", callback="cbFunction")
Parameter Reference
| Parameter | Type | Required | Accepted Values | Description |
|---|---|---|---|---|
ip |
str |
Yes* | IPv4 / IPv6 | IP address to lookup. If check, your own IP is detected automatically. |
format |
str |
Optional | json (default), xml, yml, jsonp |
Response format. Defaults to JSON. |
callback |
str |
Optional | Alphanumeric + _ (max 64 chars) |
JSONP callback function name. Only valid when format="jsonp". |
📘 Documentation
Full API documentation and field reference: https://ip2geoapi.com/documentation/
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ip2geoapi-1.0.0.tar.gz
(4.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ip2geoapi-1.0.0.tar.gz.
File metadata
- Download URL: ip2geoapi-1.0.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7fd34994c528eb9c97fb69c4db7c339eea7ec92402f76b4d5d444c5afe3efbe
|
|
| MD5 |
5a6bb409a98c3aef3332fbc2ca20b2d7
|
|
| BLAKE2b-256 |
9a1b7be7b95a857b121dffc1b415dc96623fcb23bd464840e4cc4d0c9a87bbb5
|
File details
Details for the file ip2geoapi-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ip2geoapi-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9747e7534e5002c98beb5f4a649242b04d33421e8d91ffc21b6e9b3ab068485
|
|
| MD5 |
c497d7c6b3e75c61b5282f29a59f8c5a
|
|
| BLAKE2b-256 |
2faecc6136d84d4d08941db3a437eb612b4b6c60a091bb23590935f79c3afdb1
|