Skip to main content

Overview

What it does

IPInfo MCP Server provides comprehensive IP intelligence including geolocation, network data, security insights, and abuse detection. Make informed decisions about traffic, enhance security, and personalize experiences based on visitor location and network characteristics.Key Features:
  • IP geolocation (country, city, region, coordinates)
  • Network intelligence (ASN, carrier, company info)
  • Privacy detection (VPN, proxy, Tor, hosting)
  • Abuse and threat intelligence
  • Batch processing up to 500,000 IPs
  • WHOIS lookups (IP, domain, ASN)
  • Hosted domains and IP range discovery
  • Visual IP mapping

Use Cases

Business Scenarios:
  • Fraud Detection: Identify suspicious IPs from VPNs, proxies, or known abuse networks
  • Content Personalization: Show localized content, pricing, and language options
  • Network Security: Monitor and block traffic from high-risk sources
  • Access Control: Enforce geographic restrictions and compliance requirements
  • Analytics Enhancement: Enrich visitor data with location and network context
  • Customer Support: Provide geographic context for better assistance
  • B2B Lead Qualification: Identify enterprise visitors by company and network
  • Compliance: Meet GDPR, export controls, and licensing requirements

Quick Start

1

Get Your Access Token

Sign up for an IPInfo account at ipinfo.io/signupFree Tier Includes:
  • 50,000 requests per month
  • Core IP data (location, ASN, company)
  • City-level geolocation
  • No credit card required
After signing up:
  1. Verify your email address
  2. Log in to your IPInfo account
  3. Go to your Dashboard
  4. Copy your access token
  5. The token will look like: abc123def456
IPInfo offers Free, Basic, Standard, and Business tiers. The Free tier provides 50,000 requests/month - perfect for getting started and many production use cases.
2

Add to NimbleBrain Studio

In NimbleBrain Studio:
  1. Navigate to MCP Servers in the sidebar
  2. Click Add Server
  3. Search for “IPInfo” in the server registry
  4. Click Configure
  5. Paste your access token in the IPINFO_API_TOKEN field
  6. Click Save & Enable
The server will automatically connect and become available in your AI assistant within seconds.
3

Test the Connection

In your Studio chat, try this prompt:
"Look up the location of IP address 8.8.8.8"
You should see detailed information about Google’s DNS server including:
  • Location: Mountain View, California, United States
  • Organization: Google LLC
  • ASN: AS15169
Look for the 🔧 tool usage indicator in Studio to confirm the IPInfo server is working correctly.

Available Tools

Get comprehensive information about an IP address including location, network, company, privacy, and abuse data.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address to lookup (if omitted, returns current IP info)
Returns:
{
  "ip": "8.8.8.8",
  "hostname": "dns.google",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4056,-122.0775",
  "postal": "94043",
  "timezone": "America/Los_Angeles",
  "org": "AS15169 Google LLC",
  "asn": {
    "asn": "AS15169",
    "name": "Google LLC",
    "domain": "google.com",
    "type": "business"
  },
  "company": {
    "name": "Google LLC",
    "domain": "google.com",
    "type": "business"
  },
  "privacy": {
    "vpn": false,
    "proxy": false,
    "tor": false,
    "hosting": true
  }
}
Example Usage:
"Tell me everything about IP address 203.0.113.42"
This is the most comprehensive tool - use it when you need detailed information about an IP. For specific fields only, use the single-field tools below for faster responses.
View your IPInfo account information, API limits, and available features.Parameters: None required.Returns:
{
  "token": "abc123...",
  "requests": {
    "month": 50000,
    "used": 12500
  },
  "features": {
    "geolocation": true,
    "privacy": false,
    "asn": true
  }
}
Example Usage:
"How many IPInfo API requests have I used this month?"
Use this to monitor your quota and check which features are available on your current plan.
Look up multiple IP addresses in a single request (more efficient than sequential lookups).Parameters:
ParameterTypeRequiredDescription
ipsarrayYesList of IP addresses to lookup (can include field paths like “8.8.8.8/city”)
Returns:
{
  "8.8.8.8": {
    "city": "Mountain View",
    "country": "US",
    "org": "AS15169 Google LLC"
  },
  "1.1.1.1": {
    "city": "San Francisco",
    "country": "US",
    "org": "AS13335 Cloudflare"
  }
}
Example Usage:
"Look up these IP addresses: 8.8.8.8, 1.1.1.1, 208.67.222.222"
Batch requests are much more efficient than looking up IPs one by one. Use this for analyzing log files or multiple visitors at once.
Analyze a list of IP addresses and get summary statistics with geographic distribution.Parameters:
ParameterTypeRequiredDescription
ipsarrayYesList of IP addresses to summarize (up to 500,000)
Returns:
{
  "total_ips": 1000,
  "unique_countries": 45,
  "unique_regions": 120,
  "unique_cities": 350,
  "countries": {
    "US": 450,
    "GB": 200,
    "DE": 150
  },
  "map_url": "https://ipinfo.io/tools/map?..."
}
Example Usage:
"Analyze the geographic distribution of these 100 visitor IPs from my access log"
Perfect for analytics reports and understanding your traffic patterns. Supports up to 500,000 IPs in one request.
Create a visual map showing the geographic locations of IP addresses.Parameters:
ParameterTypeRequiredDescription
ipsarrayYesList of IP addresses to map (up to 500,000)
Returns:
{
  "map_url": "https://ipinfo.io/tools/map?ips=8.8.8.8,1.1.1.1",
  "total_ips": 2,
  "report_url": "https://ipinfo.io/tools/summarize?..."
}
Example Usage:
"Create a map showing where these customer IPs are located"
Great for executive reports and visualizing your global user base. The map_url opens an interactive visualization.
Get detailed information about an Autonomous System Number (ASN) including network prefixes and peering relationships.Parameters:
ParameterTypeRequiredDescription
asnintegerYesASN number (without ‘AS’ prefix, e.g., 15169 for Google)
Returns:
{
  "asn": "AS15169",
  "name": "Google LLC",
  "country": "US",
  "allocated": "2000-03-30",
  "registry": "arin",
  "domain": "google.com",
  "num_ips": 268435456,
  "type": "business",
  "prefixes": [...],
  "peers": ["AS3356", "AS174"],
  "upstreams": [],
  "downstreams": ["AS36040"]
}
Example Usage:
"Tell me about ASN 15169"
Useful for understanding network infrastructure, identifying hosting providers, and analyzing peering relationships.
Get company information associated with an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringYesIP address to lookup
Returns:
{
  "name": "Google LLC",
  "domain": "google.com",
  "type": "business"
}
Type Values: isp, business, education, hosting, inactiveExample Usage:
"What company does IP 8.8.8.8 belong to?"
Perfect for B2B lead qualification - identify enterprise visitors by their company and domain.
Get mobile carrier information for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringYesIP address to lookup
Returns:
{
  "name": "Verizon Wireless",
  "mcc": "310",
  "mnc": "004"
}
Example Usage:
"What mobile carrier is this IP from: 198.51.100.45"
MCC (Mobile Country Code) and MNC (Mobile Network Code) help identify the specific carrier network. Useful for mobile traffic analysis.
Detect if an IP is using privacy services like VPN, proxy, Tor, or hosting providers.Parameters:
ParameterTypeRequiredDescription
ipstringYesIP address to check
Returns:
{
  "vpn": true,
  "proxy": false,
  "tor": false,
  "hosting": false,
  "relay": false,
  "service": "NordVPN"
}
Example Usage:
"Is this IP 185.220.101.50 using a VPN or proxy?"
Privacy detection requires Basic tier or higher. Essential for fraud detection and enforcing access policies.
Get abuse contact information for reporting malicious activity from an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringYesIP address to lookup
Returns:
{
  "address": "1600 Amphitheatre Parkway, Mountain View, CA 94043, US",
  "country": "US",
  "email": "[email protected]",
  "name": "Abuse Contact",
  "network": "8.0.0.0/9",
  "phone": "+1-650-253-0000"
}
Example Usage:
"Who do I contact to report abuse from IP 8.8.8.8?"
Use this to report attacks, spam, or malicious activity to the network administrator responsible for that IP block.
Get a list of domains hosted on a specific IP address.Parameters:
ParameterTypeRequiredDescription
ipstringYesIP address to lookup
pageintegerNoPage number (starts at 0)
limitintegerNoResults per page (max 1000, default 100)
Returns:
{
  "ip": "104.18.32.68",
  "page": 0,
  "total": 250,
  "domains": [
    "example.com",
    "test.example.com",
    "www.example.com"
  ]
}
Example Usage:
"What domains are hosted on IP 104.18.32.68?"
Useful for investigating shared hosting, identifying all sites on a server, or detecting malicious domains sharing infrastructure.
Get IP ranges owned by a domain or organization.Parameters:
ParameterTypeRequiredDescription
domainstringYesDomain name to lookup
Returns:
{
  "domain": "google.com",
  "num_ranges": "125",
  "redirects_to": "",
  "ranges": [
    "8.8.8.0/24",
    "8.8.4.0/24",
    "172.217.0.0/16"
  ]
}
Example Usage:
"What IP ranges does google.com own?"
Useful for allowlisting, identifying all infrastructure owned by a company, or network security analysis.
Perform WHOIS lookup for an IP address or IP range.Parameters:
ParameterTypeRequiredDescription
ipstringYesIP address or range to lookup
pageintegerNoPage number for paginated results
sourcestringNoFilter by WHOIS source (arin, ripe, afrinic, apnic, lacnic)
Returns:
{
  "net": "8.8.8.0/24",
  "total": 1,
  "page": 0,
  "records": [{
    "range": "8.0.0.0/9",
    "name": "LVLT-ORG-8-8",
    "org": "Google LLC",
    "country": "US",
    "updated": "2014-03-14",
    "status": "allocated",
    "source": "arin"
  }]
}
Example Usage:
"WHOIS lookup for 8.8.8.8"
WHOIS data provides official registration information including network ownership, allocation dates, and administrative contacts.
Perform WHOIS lookup for an organization by domain name.Parameters:
ParameterTypeRequiredDescription
domainstringYesDomain name to lookup
pageintegerNoPage number for paginated results
sourcestringNoFilter by WHOIS source (arin, ripe, afrinic, apnic, lacnic)
Returns:
{
  "net": "google.com",
  "total": 45,
  "page": 0,
  "records": [...]
}
Example Usage:
"WHOIS lookup for domain google.com"
Perform WHOIS lookup for an Autonomous System Number.Parameters:
ParameterTypeRequiredDescription
asnintegerYesASN number to lookup
pageintegerNoPage number for paginated results
sourcestringNoFilter by WHOIS source (arin, ripe, afrinic, apnic, lacnic)
Returns:
{
  "net": "AS15169",
  "total": 1,
  "page": 0,
  "records": [...]
}
Example Usage:
"WHOIS lookup for ASN 15169"
Get just the city for an IP address (faster than full lookup).Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current city)
Returns: String with city name, e.g., "Mountain View"Example Usage:
"What city is IP 8.8.8.8 from?"
Single-field tools are faster and use less data. Use them when you only need one specific piece of information.
Get just the country code for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current country)
Returns: String with two-letter country code (ISO-3166), e.g., "US"Example Usage:
"What country is IP 203.0.113.42 from?"
Get just the region/state for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current region)
Returns: String with region or state name, e.g., "California"Example Usage:
"What state is this visitor from: 8.8.8.8"
Get just the coordinates for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current location)
Returns: String with latitude,longitude coordinates, e.g., "37.4056,-122.0775"Example Usage:
"What are the coordinates for IP 8.8.8.8?"
Use coordinates to place IPs on maps, calculate distances, or determine time zones programmatically.
Get just the postal/ZIP code for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current postal code)
Returns: String with postal or ZIP code, e.g., "94043"Example Usage:
"What is the ZIP code for IP 8.8.8.8?"
Get just the timezone for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current timezone)
Returns: String with IANA timezone, e.g., "America/Los_Angeles"Example Usage:
"What timezone is this customer in: 203.0.113.42"
Use timezone data to show appropriate local times, schedule communications, or optimize customer support availability.
Get just the hostname (reverse DNS) for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current hostname)
Returns: String with hostname, e.g., "dns.google"Example Usage:
"What is the hostname for 8.8.8.8?"
Get just the organization/ASN for an IP address.Parameters:
ParameterTypeRequiredDescription
ipstringNoIP address (if omitted, returns current organization)
Returns: String with ASN and organization name, e.g., "AS15169 Google LLC"Example Usage:
"What organization owns IP 8.8.8.8?"

Authentication

Access Token Required: This server requires an IPInfo access token to function.

Getting Your Access Token

  1. Visit ipinfo.io/signup
  2. Click Sign Up or Log In
  3. Choose your plan:
    • Free: 50,000 requests/month, no credit card required
    • Basic: 150,000 requests/month + privacy detection ($49/mo)
    • Standard: 250,000 requests/month + ASN details ($99/mo)
    • Business: 500,000+ requests/month, full API access (custom pricing)
  4. Verify your email address
  5. Log in to your dashboard
  6. Copy your access token from the dashboard
  7. The token will look like: abc123def456ghi789
Start with the Free tier - 50,000 requests per month is sufficient for most testing, development, and many production use cases (approximately 1,600 requests per day).

Rate Limits & Pricing

PlanRequests/MonthKey FeaturesPrice
Free50,000Core IP data, geolocation, ASN, company$0
Basic150,000+ Privacy detection (VPN, proxy, Tor)$49/mo
Standard250,000+ Detailed ASN, domains, IP ranges$99/mo
Business500,000+Full API access, bulk data, priority supportCustom
Request Counting:
  • Each single IP lookup = 1 request
  • Batch lookups count per IP in the batch
  • Failed requests (errors) don’t count toward your limit
  • Limits reset on the 1st of each month
Free tier tokens are limited to 50,000 requests per month. Monitor your usage in the IPInfo dashboard or use the get_account_info tool to check programmatically.

Managing Your Token in Studio

Your access token is securely stored in NimbleBrain Studio. To update it:
  1. Go to SettingsMCP Servers
  2. Find “IPInfo” in your server list
  3. Click Edit Configuration
  4. Update your IPINFO_API_TOKEN field
  5. Click Save
Studio automatically manages server connections - no manual restarts required. Changes take effect immediately.

Example Workflows

  • Fraud Detection
  • Content Personalization
  • Network Intelligence
  • Security Monitoring
  • Customer Support
  • Compliance & Geo-Blocking
  • Analytics Enhancement
  • VPN & Proxy Detection
  • Bulk IP Analysis
Scenario: Identify suspicious login attempts and prevent account takeoverPrompt:
"A login attempt just came from IP 185.220.101.50. Check if this is suspicious - is it a VPN, proxy, or from a known abuse network?"
What happens:
  1. Looks up IP geolocation (country, city, region)
  2. Checks privacy detection (VPN, proxy, Tor, hosting)
  3. Retrieves abuse contact information
  4. Identifies network type and reputation
  5. Returns comprehensive threat assessment
Typical Response:
  • IP is from: Amsterdam, Netherlands
  • Privacy: VPN detected (NordVPN)
  • Hosting: Yes (datacenter IP)
  • Risk Level: Medium-High
  • Recommendation: Require additional authentication
Time: <1 second API calls: 1
Combine privacy detection with user behavior analysis (new device, unusual location, failed attempts) to create robust fraud rules. VPN + datacenter + unusual location = high risk.
All examples work in NimbleBrain Studio’s natural language interface - no code required!

Troubleshooting

Error Message:
429 Too Many Requests - Rate limit exceeded
Cause: You’ve exceeded your monthly request limit (50,000 for Free tier)Solutions:
  1. Check your current usage:
    • Use Studio: “How many IPInfo requests have I used?”
    • Or check the IPInfo dashboard
  2. Wait for limit reset:
    • Limits reset on the 1st of each month
    • Check exact reset date in your dashboard
  3. Upgrade your plan:
    • Visit ipinfo.io/account
    • Basic: 150K requests/mo ($49)
    • Standard: 250K requests/mo ($99)
    • Business: 500K+ requests/mo (custom)
  4. Optimize usage:
    • Cache frequently looked-up IPs (24-hour cache recommended)
    • Use batch endpoints instead of sequential lookups
    • Remove duplicate IPs before lookup
    • Use single-field tools when you only need one piece of data
    • Filter private IPs before API calls (10.x, 192.168.x, 127.x)
Set up usage alerts in Studio to notify you when approaching your limit. Most visitors are repeat, so caching can reduce API calls by 80%+.
Error Message:
401 Unauthorized - Invalid token
Cause: Access token is incorrect, expired, or improperly configuredSolutions:
  1. Verify your access token:
    • Log in to ipinfo.io
    • Go to your Dashboard
    • Copy your access token exactly (no extra spaces)
  2. Update in Studio:
    • Go to SettingsMCP Servers
    • Find “IPInfo” in the list
    • Click Edit Configuration
    • Paste the correct token in IPINFO_API_TOKEN field
    • Click Save
  3. Check account status:
    • Ensure your IPInfo account is active
    • Verify email address if newly registered
    • Check for any account suspension notices
  4. Token format:
    • Should be a long alphanumeric string
    • No special characters or prefixes
    • Example: abc123def456ghi789
Access tokens are account-specific and should not be shared. If compromised, regenerate your token in the IPInfo dashboard immediately.
Error Message:
400 Bad Request - Invalid IP address
Cause: IP address format is invalid or not publicly routableSolutions:
  1. Verify IP format:
    • IPv4: xxx.xxx.xxx.xxx (e.g., 8.8.8.8)
    • IPv6: full notation (e.g., 2001:4860:4860::8888)
  2. Common mistakes:
    • Remove protocol prefixes: ❌ http://8.8.8.8 → ✅ 8.8.8.8
    • Remove port numbers: ❌ 8.8.8.8:80 → ✅ 8.8.8.8
    • Remove paths: ❌ 8.8.8.8/path → ✅ 8.8.8.8
    • Check for typos: missing dots, extra digits
  3. Private IPs not supported:
    • Cannot lookup: 10.x.x.x, 192.168.x.x, 172.16-31.x.x
    • Cannot lookup: 127.x.x.x (localhost)
    • Only public, routable IPs work
Valid examples:
  • 8.8.8.8 (Google DNS)
  • 1.1.1.1 (Cloudflare DNS)
  • 2001:4860:4860::8888 (IPv6)
IPInfo cannot look up private network IPs (RFC 1918 ranges). These are only meaningful within local networks and don’t have geographic data.
Error Message:
400 Bad Request - Bogon IP address
Cause: Trying to lookup a reserved, invalid, or unallocated IP rangeWhat are Bogons? Bogon IPs are addresses from reserved, unallocated, or invalid ranges that should not appear on the public internet.Solutions:
  1. Verify IP is publicly routable:
    • Not a private IP (10.x, 192.168.x, 172.16-31.x)
    • Not loopback (127.x.x.x)
    • Not link-local (169.254.x.x)
    • Not multicast (224-239.x.x.x)
  2. Check for special ranges:
    • Test networks: 192.0.2.x, 198.51.100.x, 203.0.113.x
    • Benchmark: 198.18.x.x, 198.19.x.x
    • Reserved: 240.x.x.x - 255.x.x.x
  3. Validate source data:
    • Check logs for corrupted IP entries
    • Verify IP extraction from headers
    • Filter out 0.0.0.0 and 255.255.255.255
Reserved ranges to avoid:
  • Loopback: 127.0.0.0/8 (localhost)
  • Private: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
  • Link-local: 169.254.0.0/16 (DHCP failure)
  • Multicast: 224.0.0.0/4 (group communications)
  • Documentation: 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24
  • Benchmark: 198.18.0.0/15 (network testing)
If you’re seeing bogon IPs in production logs, you may have a configuration issue. Check your reverse proxy, load balancer, or CDN settings to ensure you’re capturing real client IPs.
Issue: Some fields are missing from the responseThis is usually normal, not an error:Reasons for missing data:
  1. Plan tier limitations:
    • Privacy detection (vpn, proxy, tor): Requires Basic tier or higher
    • Detailed ASN data: Requires Standard tier or higher
    • Domains and IP ranges: Requires Standard tier or higher
    • Full abuse contacts: Requires higher tiers
  2. Data legitimately unavailable:
    • Some IPs don’t have city-level data (only country)
    • Some networks don’t publish company information
    • Some IPs don’t have reverse DNS (hostname)
    • Mobile carrier data only available for mobile IPs
  3. Check what’s included in your tier:
Free tier includes:
  • Country, region, city
  • Coordinates (loc)
  • Postal code
  • Timezone
  • Organization/ASN
  • Basic company info
Basic tier adds:
  • Privacy detection
  • VPN/proxy/Tor identification
Standard tier adds:
  • Detailed ASN data
  • Hosted domains
  • IP ranges
Business tier adds:
  • Full WHOIS data
  • Bulk downloads
  • Priority support
Use the IPInfo web interface at ipinfo.io to preview what data is available for a specific IP before querying via API.
Error Message:
Connection timeout
or
Server not responding
Cause: Network connectivity issue or service temporarily unavailableSolutions:
  1. Check your internet connection:
    • Verify you can access other websites
    • Test with: “Look up IP 8.8.8.8”
  2. Verify server status in Studio:
    • Go to SettingsMCP Servers
    • Find “IPInfo” in the list
    • Check if status shows “Active” or “Inactive”
  3. Try toggling the server:
    • Click “IPInfo” in your server list
    • Toggle it Off, wait 5 seconds
    • Toggle it On again
  4. Check IPInfo API status:
  5. Check Studio status:
    • Verify NimbleBrain Studio is fully operational
    • Check for any maintenance notifications
Studio manages all server infrastructure automatically - there’s no local setup or Docker containers to troubleshoot. If issues persist after toggling, check API status or contact support.
Issue: IP lookups taking longer than expectedExpected performance:
  • Single lookup: < 500ms
  • Batch (10 IPs): 1-2 seconds
  • Batch (100 IPs): 3-5 seconds
  • Summarize/Map (500+ IPs): 5-15 seconds
If slower than expected:
  1. Check network latency:
    • Test your internet speed
    • IPInfo servers are globally distributed
    • Geographic distance affects latency
  2. Optimize requests:
    • Use batch endpoints for multiple IPs (much faster)
    • Use single-field tools (get_ip_city) instead of full lookup
    • Cache frequently looked-up IPs
    • Remove duplicate IPs before batch lookup
  3. Check API status:
    • Visit status.ipinfo.io
    • Higher tiers get priority processing
    • Free tier may be slower during peak times
  4. Reduce payload size:
    • Don’t request fields you don’t need
    • Use field paths in batch: ["8.8.8.8/city", "1.1.1.1/country"]
    • Smaller responses = faster transfers
Studio automatically handles request optimization and retry logic. Consistent slow responses may indicate network issues or high API load.
Error Message:
400 Bad Request - Batch request failed
Cause: Batch request format issue or contains invalid IPsSolutions:
  1. Verify batch format:
    • Must be an array of IP strings
    • Example: ["8.8.8.8", "1.1.1.1", "208.67.222.222"]
    • Maximum 1,000 IPs per batch request
  2. Check for invalid IPs:
    • Remove private IPs (10.x, 192.168.x, 172.16-31.x)
    • Remove bogon IPs
    • Validate each IP format before batch
    • One invalid IP can fail the entire batch
  3. Split large batches:
    • If you have >1,000 IPs, split into multiple batches
    • Process in chunks of 500-1,000
    • Use summarize_ips for very large lists (up to 500K)
  4. Remove duplicates:
    • Deduplicate your IP list first
    • Saves API calls and improves performance
Pre-filter your IP list: remove duplicates, private IPs, and invalid formats before sending to batch lookup. This prevents errors and reduces API usage.
Issue: VPN/proxy detection returning no data or always falseCause: Privacy detection requires Basic tier or higherSolutions:
  1. Check your plan tier:
    • Free tier: Does not include privacy detection
    • Basic tier and higher: Includes VPN, proxy, Tor detection
    • Upgrade at ipinfo.io/account
  2. Verify in dashboard:
    • Log in to ipinfo.io
    • Check “Available Features” section
    • Should show “Privacy Detection: Enabled”
  3. Use the right tool:
    • Use get_privacy_info(ip) for privacy detection
    • Not included in basic get_ip_info() on Free tier
  4. Known limitations:
    • Privacy detection is not 100% accurate
    • New VPN services may not be detected immediately
    • Residential proxies are harder to detect
Privacy detection requires Basic tier ($49/mo) or higher. Essential for fraud prevention, content licensing enforcement, and detecting automated attacks.

Best Practices

For Optimal Performance

  • Cache frequently looked-up IPs (24-hour TTL recommended)
  • Use batch endpoints for multiple IPs (10x faster)
  • Use single-field tools when you only need one data point
  • Pre-filter private IPs (10.x, 192.168.x) before API calls
  • Deduplicate IP lists before batch processing
  • Implement retry logic for timeout errors

For Cost Optimization

  • Monitor usage with get_account_info tool
  • Implement aggressive caching (IPs rarely change location)
  • Use batch endpoints to reduce per-IP cost
  • Filter out private/bogon IPs before lookup
  • Cache negative results (invalid IPs) to prevent retries
  • Consider bulk data downloads for very high volume

For Security & Fraud Prevention

  • Enable privacy detection (requires Basic tier)
  • Flag hosting/datacenter IPs as high-risk
  • Monitor for VPN/proxy usage patterns
  • Track geographic anomalies (country hopping)
  • Check abuse contacts for reported IPs
  • Combine with user behavior analysis
  • Implement progressive risk scoring

For Compliance & Privacy

  • Document your use of IP data in privacy policy
  • Only collect/store necessary IP information
  • Implement data retention policies
  • Anonymize IPs in logs after processing
  • Comply with GDPR (EU) and CCPA (California) requirements
  • Provide opt-out mechanisms where required
  • Secure API tokens with encryption


Need help? Join the NimbleBrain Discord or email [email protected]