MA

MaxMind GeoIP

global API

MaxMind GeoIP

Type: ip
Module: MaxMind

Capabilities

IP Geolocation ASN Lookup Anonymous IP Detection Risk Scoring Connection Type Domain Resolution

Try MaxMind GeoIP

API Endpoint

Results

Overview

MaxMind provides the industry-standard GeoIP databases for IP address geolocation, ASN identification, and anonymous network detection. The GeoIP2 databases map IP addresses to geographic locations, ISPs, organizations, and connection types. The minFraud service provides real-time fraud risk scoring. MaxMind data is used across the platform for enriching IP-based intelligence with location and network context.

Founded in 2002, MaxMind has built the most widely deployed IP intelligence databases in the industry. The GeoIP2 product line is used by hundreds of thousands of organizations for content personalization, advertising targeting, digital rights management, fraud prevention, and security analytics. For OSINT analysts and cybersecurity professionals, MaxMind provides the foundational geolocation layer that transforms raw IP addresses into geographic and organizational intelligence.

MaxMind offers two deployment models: downloadable databases that are updated weekly (GeoIP2) or biweekly (GeoLite2), and a web service API for real-time lookups. The downloadable database model is particularly valuable for high-volume OSINT operations because it eliminates per-query API costs and latency, enabling millions of IP lookups per second on local infrastructure.

The accuracy of MaxMind geolocation varies by granularity. Country-level accuracy exceeds 99% for most regions. City-level accuracy ranges from 50% to 85% depending on the country and ISP -- higher in densely connected urban areas, lower in rural regions where IP blocks may be registered to ISP headquarters rather than actual subscriber locations.

Data Sources and Coverage

MaxMind aggregates geolocation data from multiple sources and maintains proprietary algorithms for IP-to-location mapping.

Data SourceDescriptionUpdate Frequency
Regional Internet RegistriesARIN, RIPE, APNIC, AFRINIC, LACNIC allocation dataDaily
ISP Network DataDirect partnerships with ISPs for subscriber location dataOngoing
User SubmissionsCrowd-sourced location corrections via MaxMind websiteContinuous
BGP Routing TablesASN and network block ownership dataDaily
Wi-Fi PositioningWi-Fi access point geolocation databasesPeriodic
Proprietary AlgorithmsMachine learning models trained on known IP-location pairsContinuous
Government RegistriesNational telecom regulator dataVaries by country

Database Products

DatabaseContentFormatUpdateLicense
GeoIP2 CountryCountry, continent, registered countryMMDBWeeklyCommercial
GeoIP2 CityCountry, city, postal, coordinates, metroMMDBWeeklyCommercial
GeoIP2 ISPISP, organization, ASNMMDBWeeklyCommercial
GeoIP2 Connection TypeConnection type (broadband, cellular, etc.)MMDBWeeklyCommercial
GeoIP2 Anonymous IPVPN, proxy, Tor, hosting, residential proxyMMDBWeeklyCommercial
GeoIP2 EnterpriseAll above combined into single databaseMMDBWeeklyCommercial
GeoLite2 CountryCountry-level (free, reduced accuracy)MMDBBiweeklyFree (CC BY-SA 4.0)
GeoLite2 CityCity-level (free, reduced accuracy)MMDBBiweeklyFree (CC BY-SA 4.0)
GeoLite2 ASNASN data (free)MMDBBiweeklyFree (CC BY-SA 4.0)

API Integration

MaxMind provides both downloadable databases and a web service API. The Prismatic Platform uses the downloadable MMDB databases for high-performance local lookups.

Web Service API Endpoints

EndpointMethodDescriptionResponse
/geoip/v2.1/country/{ip}GETCountry-level geolocationJSON
/geoip/v2.1/city/{ip}GETCity-level geolocationJSON
/geoip/v2.1/insights/{ip}GETFull intelligence (all data points)JSON
/minfraud/v2.0/scorePOSTFraud risk scoreJSON
/minfraud/v2.0/insightsPOSTDetailed fraud analysisJSON
/minfraud/v2.0/factorsPOSTFull risk factors breakdownJSON

Rate Limits

PlanQueries/DayDatabase DownloadsPrice
GeoLite2 (Free)1,000 (web)Unlimited MMDB$0
GeoIP2 Web (Starter)2,500N/A$0.10/query
GeoIP2 DatabaseUnlimited (local)Weekly updatesFrom $100/mo
GeoIP2 EnterpriseUnlimited (local)Weekly updatesCustom
minFraudPer-query pricingN/AFrom $0.005/query

Query Examples

curl Examples

# GeoIP2 Web Service - City lookup
curl -u "ACCOUNT_ID:LICENSE_KEY" \
  "https://geoip.maxmind.com/geoip/v2.1/city/1.2.3.4"

# GeoIP2 Web Service - Insights (full data)
curl -u "ACCOUNT_ID:LICENSE_KEY" \
  "https://geoip.maxmind.com/geoip/v2.1/insights/1.2.3.4"

# minFraud Score request
curl -u "ACCOUNT_ID:LICENSE_KEY" \
  -X POST "https://minfraud.maxmind.com/minfraud/v2.0/score" \
  -H "Content-Type: application/json" \
  -d '{
    "device": {"ip_address": "1.2.3.4"},
    "email": {"address": "user@example.com"},
    "billing": {"country": "CZ"}
  }'

# Download GeoLite2 City database
curl -o GeoLite2-City.tar.gz \
  "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=YOUR_KEY&suffix=tar.gz"

Elixir Integration

# Geolocate IP address using local MMDB database
{:ok, location} = PrismaticOsint.MaxMind.geolocate("1.2.3.4")
# => %{
#   country: "CZ", country_name: "Czech Republic",
#   city: "Prague", city_name_cs: "Praha",
#   postal_code: "11000",
#   latitude: 50.0755, longitude: 14.4378,
#   accuracy_radius: 20, # km
#   continent: "EU", continent_name: "Europe",
#   time_zone: "Europe/Prague"
# }

# ASN lookup
{:ok, asn} = PrismaticOsint.MaxMind.asn("1.2.3.4")
# => %{asn: 47232, organization: "CZ.NIC, z.s.p.o.", network: "1.2.3.0/24"}

# Check for anonymous IP (VPN, proxy, Tor)
{:ok, anon} = PrismaticOsint.MaxMind.anonymous("1.2.3.4")
# => %{
#   is_anonymous: true,
#   is_anonymous_vpn: true,
#   is_hosting_provider: false,
#   is_public_proxy: false,
#   is_tor_exit_node: false,
#   is_residential_proxy: false
# }

# Connection type detection
{:ok, conn} = PrismaticOsint.MaxMind.connection_type("1.2.3.4")
# => %{connection_type: "Cable/DSL", isp: "Example ISP", organization: "Example Corp"}

# Batch geolocation for bulk IP analysis
ips = ["1.2.3.4", "5.6.7.8", "9.10.11.12"]
results = PrismaticOsint.MaxMind.batch_geolocate(ips)
# => [%{ip: "1.2.3.4", country: "CZ", city: "Prague"}, ...]

# Enterprise insights (combined all data)
{:ok, full} = PrismaticOsint.MaxMind.insights("1.2.3.4")
# => %{location: %{...}, asn: %{...}, anonymous: %{...}, connection: %{...}, risk: %{...}}

# minFraud risk assessment
{:ok, risk} = PrismaticOsint.MaxMind.minfraud_score(%{
  ip: "1.2.3.4",
  email: "user@example.com",
  billing_country: "CZ"
})
# => %{risk_score: 23.5, ip_risk: 15.2, disposition: "accept"}

Data Schema

FieldTypeDescription
country.iso_codestringISO 3166-1 alpha-2 country code
country.namestringCountry name (localized)
city.namestringCity name (localized)
postal.codestringPostal/ZIP code
location.latitudefloatLatitude (WGS84)
location.longitudefloatLongitude (WGS84)
location.accuracy_radiusintegerAccuracy radius in kilometers
location.time_zonestringIANA time zone identifier
continent.codestringContinent code (AF, AS, EU, NA, OC, SA)
traits.ispstringInternet Service Provider name
traits.organizationstringOrganization name associated with IP
traits.autonomous_system_numberintegerBGP ASN
traits.autonomous_system_organizationstringASN organization name
traits.connection_typeenumCable/DSL, Cellular, Corporate, Satellite
traits.user_typeenumbusiness, residential, government, military, school
traits.is_anonymous_proxybooleanVPN or proxy detection
traits.is_tor_exit_nodebooleanTor exit node detection

Use Cases

Intelligence Enrichment

Every IP address encountered during an OSINT investigation benefits from geolocation context. MaxMind transforms raw IP addresses into actionable intelligence showing where infrastructure is physically located, which ISP provides connectivity, and whether the connection traverses anonymization networks. This enrichment is foundational -- virtually every other IP-based analysis depends on accurate geolocation.

Threat Analysis

Geographic distribution patterns in attack traffic reveal adversary infrastructure. MaxMind data enables analysts to map attack sources by country, ISP, and ASN, identifying concentration patterns that may indicate coordinated campaigns or compromised networks. Anonymous IP detection distinguishes between direct attacks and traffic routed through VPNs, proxies, and Tor.

Compliance and Jurisdiction

Determining the geographic jurisdiction for IP-based activities is essential for legal compliance. MaxMind data supports export control screening, data residency verification, and sanctions compliance by mapping IP addresses to countries. The accuracy is sufficient for regulatory purposes at the country level.

Fraud Detection

The minFraud service combines IP geolocation with transaction data to assess fraud risk in real-time. By comparing the geographic location of the IP address with billing and shipping addresses, detecting anonymous networks, and assessing device characteristics, minFraud provides a risk score that supports automated fraud prevention.

Network Topology Mapping

By correlating ASN data with geolocation, analysts map the physical topology of target networks. This reveals hosting provider choices, geographic distribution of infrastructure, and potential single points of failure that may be relevant to attack surface assessments.

Limitations

LimitationImpactMitigation
City-level accuracy 50-85%IP may be geolocated to ISP HQ rather than user locationUse accuracy_radius field; treat city as approximate
Mobile IP blocksCellular IPs often geolocate to carrier headquartersRecognize cellular connection types and adjust expectations
VPN/proxy bypassUsers behind VPNs will geolocate to VPN serverUse Anonymous IP database to flag anonymized connections
IPv6 coverage gapsIPv6 geolocation less accurate than IPv4Improving over time; supplement with other sources
Database stalenessWeekly updates may miss rapid IP reassignmentsUse web service API for time-critical lookups
Cloud provider IPsCloud IPs geolocate to data center, not userIdentify cloud provider ASNs and handle separately

Data Licensing: MaxMind databases are licensed products. GeoLite2 (free) requires account registration and compliance with the End User License Agreement. Commercial GeoIP2 databases have stricter licensing terms that prohibit redistribution.

Accuracy Disclaimers: MaxMind geolocation should not be used as the sole basis for legal jurisdiction determinations or physical location assertions. The stated accuracy ranges should be communicated to investigation consumers.

Privacy Implications: While IP geolocation does not directly identify individuals, it can reveal approximate physical locations. When combined with other OSINT data, geolocation contributes to identification of individuals, which triggers GDPR and other privacy regulation obligations.

Attribution Caution: Geographic location of an IP address does not prove the geographic location of the person using it. VPNs, proxies, Tor, and botnets all separate user location from IP location.

Integration with Prismatic Platform

Within the Prismatic Platform, MaxMind provides the geolocation enrichment layer used by virtually all IP-based intelligence modules.

  • Local MMDB Deployment: The platform maintains local copies of GeoIP2 databases (updated weekly via automated download) for zero-latency, unlimited-volume IP lookups.
  • Automatic Enrichment: Every IP address ingested by the platform is automatically enriched with geolocation, ASN, and anonymous network detection.
  • Geographic Dashboards: MaxMind data powers geographic visualizations in Prismatic Perimeter showing attack surface distribution by country and region.
  • Anonymous Network Flagging: VPN, proxy, and Tor detection feeds into the platform's risk scoring system, with anonymous sources receiving elevated risk scores.
  • Cross-Source Validation: MaxMind geolocation is cross-referenced with IPInfo and ONYPHE data for confidence calibration.

Best Practices

  1. Use local databases for bulk operations: Download MMDB files for investigations requiring thousands of lookups. Web API is for low-volume, real-time needs.

  2. Respect accuracy radius: Always consider the accuracy_radius field. A 200km radius means the actual location could be anywhere within that circle.

  3. Flag anonymous IPs: Always check the Anonymous IP database alongside geolocation. VPN/proxy/Tor users will show misleading locations.

  4. Update regularly: Set up automated weekly database downloads. IP allocations change frequently, and stale databases produce increasingly inaccurate results.

  5. Handle edge cases: Reserved IP ranges (RFC 1918, RFC 6598), multicast addresses, and documentation ranges will return no results. Handle gracefully.

  6. Layer with ASN data: ASN information often provides more reliable organizational attribution than geolocation. An IP belonging to AS13335 (Cloudflare) tells you more than its geolocation.

  7. Consider connection type: Mobile IPs behave differently from broadband. Corporate IPs differ from residential. Connection type context improves analysis accuracy.

  • IPInfo - IP geolocation and ASN data
  • Shodan - IP-level service discovery
  • AbuseIPDB - IP reputation and abuse reports
  • GreyNoise - Scanner identification
  • ONYPHE - French cyber defense search engine
  • Censys - Internet-wide scanning and host intelligence

Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL