Look up IP addresses from IPinfo’s IP to the Geolocation database on Snowflake

On Snowflake, all of our listings come with their own unique UDTF (User Defined Table Functions) that is designed to enrich your IP database in the most efficient way possible. You should exclusively use these UDTFs if you are doing bulk IP data enrichment using our database.

:link: Please refer to our Snowflake Listing Technical Guide to learn more:

:link: IPinfo’s Listings on Snowflake Marketplace

:link: Documentation and Database Schema: IP to Geolocation Database

:link: IPinfo IP Geolocation — Snowflake Marketplace

Using the IP_LOCATION UDTF for our IP geolocation database

Suppose the table containing the IP addresses is called LOG, and the column containing the IP address is called IP. By using the IP_LOCATION UDTF included in your purchased IPinfo listing, we can enrich this IP log dataset with geolocation information such as zip code, geographic coordinates, city, country, and postal code.

SELECT *
FROM log l
JOIN TABLE(ipinfo.public.IP_LOCATION(l.ip))

Please note that ipinfo on the ipinfo.public.IP_LOCATION can be different for you. It depends on the name you gave to our listing when you purchased it.

The UDTF format is:

SELECT <column_containing_ip_addresses>
FROM <input_table> <table.alias>
JOIN TABLE(ipinfo.public.<UDTF_name>(<table_alias.column_name>))

The UDTF will return the full IP geolocation information for IPs which includes:

  • City
  • Region
  • Country
  • Postal
  • Lat + Lng
  • Timezone

For invalid IP addresses or IP addresses that aren’t included in our database, the outputted table will not include their information

If you want to learn about the technical aspect of how we came up with these UDTFs and the process behind their efficiency read this article: https://ipinfo.io/blog/ip-address-data-in-snowflake/