Drupal Module : Smart IP

Smart IP identify visitor's geographical location (longitude/latitude), country, region, city and postal code based on the IP address of the user. These information will be stored at session variable ($_SESSION) with array key 'smart_ip' and Drupal $user->data object with array key 'geoip_location' of the user but optionally it can be disabled (by role) at Smart IP admin page. Other modules can use the function smart_ip_get_location($ip_address) that returns an array containing the visitor's ISO 3166 2-character country code, longitude, latitude, region (FIPS), city and postal code. It provides a feature for you to perform your own IP lookup and admin spoofing of an arbitrary IP for testing purposes.


  • Eight data source options available: local database with data from parsed Maxmind CSV, paidMaxmind GeoIP Web Services, Maxmind binary file database (thanks to jbulcher), Maxmind's Apache module mod_geoipIP2Location binary file, IPInfoDB.com service, X-GeoIP-Country: XX header (thanks to jp.stacey) and Cloudflare IP Geolocation.
  • Maxmind's Apache module mod_geoip and X-GeoIP-Country as fallback for the current visitor's geolocation info if the data source of Smart IP returns empty.
  • Monthly auto-update of Maxmind CSV for local database source
  • Weekly auto-update of Maxmind binary format file (for paid version)
  • Visitor’s geolocation block available (Device Geolocation module)
  • Geolocate users by role (see details: http://drupal.org/node/990546)
  • Update users' geolocation info based on defined time interval (at "Frequency of user's geolocation checking" field). Useful to get the updated users' geolocation even they moved from one place to another.
  • Geolocate users to specific pages (see details: http://drupal.org/node/1069440) and with timeout that will prompt users for geolocation (see details: http://drupal.org/node/1061264)
  • User's geolocation update using AJAX, useful for webpages or sites that are cached
  • Token support (For Drupal 7 only. Thanks to bgilhome)
  • Geolocation Historical Data Records (For Drupal 6 only and still in progess seehttp://drupal.org/node/1027158)
  • Exposes Smart IP visitor's location details to Views field (coordinates, country, ISO 3166 2-character country code, region, region code (FIPS), city and zip) and filter (country, ISO 3166 2-character country code, region, region code (FIPS), city and zip). (For Drupal 6 only)
  • Integration with Openlayers Proximity via Views filter (For Drupal 6 only. See details:http://drupal.org/node/1207582 - sponsored by nyleve101)
  • Integration with Rules module. (For Drupal 7 only. Thanks to klausi)
  • Supports Session Cache API.
  • Maxmind GeoIP Web Services, available for Country Web Service (Thanks to echataig) and City/ISP/Organization Web Service (Thanks to namli and duntuk)
  • Smart IP with a Maxmind GeoIP City Database from a paid account read steps (documented byjbulcher)

Maintenance status: Actively maintained
Development status: Under active development
Module categories: Location, Third-party Integration
Reported installs: 3,080 sites currently report using this module. View usage statistics.
Downloads: 22,486

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.