<p style="font-size:small;">Content-Length: 30444 | <a href="http://clevelandohioweatherforecast.com/pFad/v4index.php?u=" style="font-size:small;">pFad</a> | <a href="https://blog.ip2location.com/wp-json/wp/v2/docs/5779" style="font-size:small;">https://blog.ip2location.com/wp-json/wp/v2/docs/5779</a></p>
{"id":5779,"date":"2025-06-05T00:00:00","date_gmt":"2025-06-05T00:00:00","guid":{"rendered":"https:\/\/blog2.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/"},"modified":"2026-06-05T16:57:03","modified_gmt":"2026-06-05T16:57:03","password":"","slug":"how-to-use-ip2whois-sdk-in-elixir","status":"publish","type":"docs","link":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/","title":{"rendered":"How to use IP2WHOIS SDK in Elixir"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Intro<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Elixir is a dynamic, functional programming language designed for building scalable and maintainable applications. It runs on the Erlang Virtual Machine (BEAM), which is known for its low-latency, distributed, and fault-tolerant systems &#8211; traits that make Elixir especially suitable for real-time and concurrent applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this tutorial, we will demonstrate how easy it is to include the <a href=\"https:\/\/hex.pm\/packages\/ip2location_io_erlang\" target=\"_blank\" rel=\"noreferrer noopener\">IP2Location.io Erlang library<\/a> as a dependency in an Elixir project. You can also take a look at the IP2Location.io Erlang codes at its <a href=\"https:\/\/github.com\/ip2location\/ip2location-io-erlang\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub repo<\/a>. We&#8217;ll be using the library to query the <a href=\"https:\/\/ip2whois.com\/developers-api\" target=\"_blank\" rel=\"noreferrer noopener\">IP2WHOIS API<\/a> in order to retrieve WHOIS data for a domain name.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Pre-requisites<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll need to have Erlang and Elixir installed. Please follow <a href=\"https:\/\/elixir-lang.org\/install.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/elixir-lang.org\/install.html<\/a> for the installation steps. As the IP2Location.io Erlang library requires an IP2Location.io API key, please <a href=\"https:\/\/www.ip2location.io\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">sign up for one<\/a> if you don&#8217;t currently have one. Our demo will be on a Debian Linux machine so some of the steps will be specifically for that platform.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Creating the Elixir project<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Navigate to the folder where you wish to create your project, then run the below command to create the project folder. We&#8217;ll call our demo project <strong>ip2whoisdemo<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mix new ip2whoisdemo<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"391\" src=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg\" alt=\"\" class=\"wp-image-5045\" srcset=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg 751w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16-300x156.jpeg 300w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16-50x26.jpeg 50w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16-600x312.jpeg 600w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16-320x167.jpeg 320w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Adding the IP2Location.io Erlang as a dependency<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Now, navigate into the demo project folder and edit the <strong>mix.exs<\/strong> file.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd ip2whoisdemo\nnano mix.exs<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll see the below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"488\" src=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-14.jpeg\" alt=\"\" class=\"wp-image-5043\" srcset=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-14.jpeg 752w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-14-300x195.jpeg 300w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-14-50x32.jpeg 50w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-14-600x389.jpeg 600w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-14-320x208.jpeg 320w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s insert the below line into the deps section and save the file. This will add the IP2Location.io Erlang library as a dependency.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{:ip2location_io_erlang, \"~> 1.1\"}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In addition, we will also add <strong>:ssl<\/strong> and <strong>:inets<\/strong> to the <strong>extra_applications<\/strong> line.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"498\" src=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-15.jpeg\" alt=\"\" class=\"wp-image-5044\" srcset=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-15.jpeg 752w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-15-300x199.jpeg 300w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-15-50x33.jpeg 50w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-15-600x397.jpeg 600w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-15-320x212.jpeg 320w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NOTE<\/strong>: You may need to update the version IP2Location.io Erlang library if there is a newer version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now run the below to actually fetch the dependency.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mix deps.get<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"228\" src=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-17.jpeg\" alt=\"\" class=\"wp-image-5046\" srcset=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-17.jpeg 751w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-17-300x91.jpeg 300w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-17-50x15.jpeg 50w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-17-600x182.jpeg 600w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-17-320x97.jpeg 320w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Modify the test code<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s overwrite the generated test code in <strong>lib\/ip2whoisdemo.ex<\/strong> and replace it with our code below. Remember to replace <em>YOUR_API_KEY<\/em> with your actual IP2Location.io API key.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nano lib\/ip2whoisdemo.ex<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">defmodule Ip2whoisdemo do\n  def lookup(domain) do\n    api_key = \"YOUR_API_KEY\"\n\n    # Initialize with api key\n    :ip2locationio.new(api_key)\n\n    # Query WHOIS for domain\n    result = :ip2locationio.lookupdomainwhois(domain)\n\n    # IO.inspect(result)\n\n    case result do\n      {:error, reason} ->\n        IO.inspect(reason, label: \"Error\")\n      result_map ->\n        IO.inspect(result_map[\"domain\"], label: \"domain\")\n        IO.inspect(result_map[\"domain_id\"], label: \"domain_id\")\n        IO.inspect(result_map[\"status\"], label: \"status\")\n        IO.inspect(result_map[\"create_date\"], label: \"create_date\")\n        IO.inspect(result_map[\"update_date\"], label: \"update_date\")\n        IO.inspect(result_map[\"expire_date\"], label: \"expire_date\")\n        IO.inspect(result_map[\"domain_age\"], label: \"domain_age\")\n        IO.inspect(result_map[\"whois_server\"], label: \"whois_server\")\n        IO.inspect(result_map[\"nameservers\"], label: \"nameservers\")\n\n        registrar = result_map[\"registrar\"]\n        IO.inspect(registrar[\"iana_id\"], label: \"registrar => iana_id\")\n        IO.inspect(registrar[\"name\"], label: \"registrar => name\")\n        IO.inspect(registrar[\"url\"], label: \"registrar => url\")\n\n        registrant = result_map[\"registrant\"]\n        IO.inspect(registrant[\"name\"], label: \"registrant => name\")\n        IO.inspect(registrant[\"organization\"], label: \"registrant => organization\")\n        IO.inspect(registrant[\"street_address\"], label: \"registrant => street_address\")\n        IO.inspect(registrant[\"city\"], label: \"registrant => city\")\n        IO.inspect(registrant[\"region\"], label: \"registrant => region\")\n        IO.inspect(registrant[\"zip_code\"], label: \"registrant => zip_code\")\n        IO.inspect(registrant[\"country\"], label: \"registrant => country\")\n        IO.inspect(registrant[\"phone\"], label: \"registrant => phone\")\n        IO.inspect(registrant[\"fax\"], label: \"registrant => fax\")\n        IO.inspect(registrant[\"email\"], label: \"registrant => email\")\n\n        admin = result_map[\"admin\"]\n        IO.inspect(admin[\"name\"], label: \"admin => name\")\n        IO.inspect(admin[\"organization\"], label: \"admin => organization\")\n        IO.inspect(admin[\"street_address\"], label: \"admin => street_address\")\n        IO.inspect(admin[\"city\"], label: \"admin => city\")\n        IO.inspect(admin[\"region\"], label: \"admin => region\")\n        IO.inspect(admin[\"zip_code\"], label: \"admin => zip_code\")\n        IO.inspect(admin[\"country\"], label: \"admin => country\")\n        IO.inspect(admin[\"phone\"], label: \"admin => phone\")\n        IO.inspect(admin[\"fax\"], label: \"admin => fax\")\n        IO.inspect(admin[\"email\"], label: \"admin => email\")\n\n        tech = result_map[\"tech\"]\n        IO.inspect(tech[\"name\"], label: \"tech => name\")\n        IO.inspect(tech[\"organization\"], label: \"tech => organization\")\n        IO.inspect(tech[\"street_address\"], label: \"tech => street_address\")\n        IO.inspect(tech[\"city\"], label: \"tech => city\")\n        IO.inspect(tech[\"region\"], label: \"tech => region\")\n        IO.inspect(tech[\"zip_code\"], label: \"tech => zip_code\")\n        IO.inspect(tech[\"country\"], label: \"tech => country\")\n        IO.inspect(tech[\"phone\"], label: \"tech => phone\")\n        IO.inspect(tech[\"fax\"], label: \"tech => fax\")\n        IO.inspect(tech[\"email\"], label: \"tech => email\")\n\n        billing = result_map[\"billing\"]\n        IO.inspect(billing[\"name\"], label: \"billing => name\")\n        IO.inspect(billing[\"organization\"], label: \"billing => organization\")\n        IO.inspect(billing[\"street_address\"], label: \"billing => street_address\")\n        IO.inspect(billing[\"city\"], label: \"billing => city\")\n        IO.inspect(billing[\"region\"], label: \"billing => region\")\n        IO.inspect(billing[\"zip_code\"], label: \"billing => zip_code\")\n        IO.inspect(billing[\"country\"], label: \"billing => country\")\n        IO.inspect(billing[\"phone\"], label: \"billing => phone\")\n        IO.inspect(billing[\"fax\"], label: \"billing => fax\")\n        IO.inspect(billing[\"email\"], label: \"billing => email\")\n    end\n  end\nend<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"814\" src=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-19.jpeg\" alt=\"\" class=\"wp-image-5048\" srcset=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-19.jpeg 752w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-19-277x300.jpeg 277w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-19-46x50.jpeg 46w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-19-600x649.jpeg 600w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-19-320x346.jpeg 320w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Launch the interactive shell to run the code<\/h1>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">iex -S mix<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then, run the below to query WHOIS data for the domain <strong>locaproxy.com<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Ip2whoisdemo.lookup(\"locaproxy.com\")<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"1022\" src=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-18.jpeg\" alt=\"\" class=\"wp-image-5047\" srcset=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-18.jpeg 752w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-18-221x300.jpeg 221w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-18-37x50.jpeg 37w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-18-600x815.jpeg 600w, https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-18-320x435.jpeg 320w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s how easy it is to query WHOIS data using Elixir with the IP2Location.io Erlang library.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intro Elixir is a dynamic, functional programming language designed for building scalable and maintainable applications. It runs on the Erlang [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_category":[439],"doc_tag":[465,472,409,404,468,400],"class_list":["post-5779","docs","type-docs","status-publish","hentry","doc_category-developer-hub","doc_tag-elixir","doc_tag-erlang","doc_tag-ip-geolocation-api","doc_tag-ip2location-io","doc_tag-ip2whois","doc_tag-sdk"],"year_month":"2026-07","word_count":868,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"hexasoft","author_nicename":"hexasoft","author_url":"https:\/\/blog.ip2location.com\/author\/hexasoft\/"},"doc_category_info":[{"term_name":"Developer Hub","term_url":"https:\/\/blog.ip2location.com\/article-categories\/developer-hub\/"}],"doc_tag_info":[{"term_name":"Elixir","term_url":"https:\/\/blog.ip2location.com\/article-tags\/elixir\/"},{"term_name":"Erlang","term_url":"https:\/\/blog.ip2location.com\/article-tags\/erlang\/"},{"term_name":"IP geolocation API","term_url":"https:\/\/blog.ip2location.com\/article-tags\/ip-geolocation-api\/"},{"term_name":"IP2Location.io","term_url":"https:\/\/blog.ip2location.com\/article-tags\/ip2location-io\/"},{"term_name":"IP2WHOIS","term_url":"https:\/\/blog.ip2location.com\/article-tags\/ip2whois\/"},{"term_name":"SDK","term_url":"https:\/\/blog.ip2location.com\/article-tags\/sdk\/"}],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to use IP2WHOIS SDK in Elixir |<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use IP2WHOIS SDK in Elixir |\" \/>\n<meta property=\"og:description\" content=\"Intro Elixir is a dynamic, functional programming language designed for building scalable and maintainable applications. It runs on the Erlang [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ip2location\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-05T16:57:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"751\" \/>\n\t<meta property=\"og:image:height\" content=\"391\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ip2location\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/\",\"url\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/\",\"name\":\"How to use IP2WHOIS SDK in Elixir |\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.ip2location.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/image-16.jpeg\",\"datePublished\":\"2025-06-05T00:00:00+00:00\",\"dateModified\":\"2026-06-05T16:57:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.ip2location.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/image-16.jpeg\",\"contentUrl\":\"https:\\\/\\\/blog.ip2location.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/image-16.jpeg\",\"width\":751,\"height\":391},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/how-to-use-ip2whois-sdk-in-elixir\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Articles & Tutorials\",\"item\":\"https:\\\/\\\/blog.ip2location.com\\\/knowledge-base\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use IP2WHOIS SDK in Elixir\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/#website\",\"url\":\"https:\\\/\\\/blog.ip2location.com\\\/\",\"name\":\"IP2Location.com\",\"description\":\"Free IP Geolocation Articles and Tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.ip2location.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/#organization\",\"name\":\"IP2Location.com\",\"url\":\"https:\\\/\\\/blog.ip2location.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.ip2location.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/normal-logo-white.png\",\"contentUrl\":\"https:\\\/\\\/blog.ip2location.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/normal-logo-white.png\",\"width\":639,\"height\":150,\"caption\":\"IP2Location.com\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.ip2location.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/ip2location\\\/\",\"https:\\\/\\\/x.com\\\/ip2location\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/ip2location\",\"https:\\\/\\\/www.pinterest.com\\\/ip2location\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCkHGCUXc3pcrbp0wOtpwbMw\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/IP2Location\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to use IP2WHOIS SDK in Elixir |","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/","og_locale":"en_US","og_type":"article","og_title":"How to use IP2WHOIS SDK in Elixir |","og_description":"Intro Elixir is a dynamic, functional programming language designed for building scalable and maintainable applications. It runs on the Erlang [&hellip;]","og_url":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/","article_publisher":"https:\/\/www.facebook.com\/ip2location\/","article_modified_time":"2026-06-05T16:57:03+00:00","og_image":[{"width":751,"height":391,"url":"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@ip2location","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/","url":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/","name":"How to use IP2WHOIS SDK in Elixir |","isPartOf":{"@id":"https:\/\/blog.ip2location.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/#primaryimage"},"image":{"@id":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg","datePublished":"2025-06-05T00:00:00+00:00","dateModified":"2026-06-05T16:57:03+00:00","breadcrumb":{"@id":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/#primaryimage","url":"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg","contentUrl":"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2025\/06\/image-16.jpeg","width":751,"height":391},{"@type":"BreadcrumbList","@id":"https:\/\/blog.ip2location.com\/knowledge-base\/how-to-use-ip2whois-sdk-in-elixir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Articles & Tutorials","item":"https:\/\/blog.ip2location.com\/knowledge-base\/"},{"@type":"ListItem","position":2,"name":"How to use IP2WHOIS SDK in Elixir"}]},{"@type":"WebSite","@id":"https:\/\/blog.ip2location.com\/#website","url":"https:\/\/blog.ip2location.com\/","name":"IP2Location.com","description":"Free IP Geolocation Articles and Tutorials","publisher":{"@id":"https:\/\/blog.ip2location.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.ip2location.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/blog.ip2location.com\/#organization","name":"IP2Location.com","url":"https:\/\/blog.ip2location.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.ip2location.com\/#\/schema\/logo\/image\/","url":"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2022\/12\/normal-logo-white.png","contentUrl":"https:\/\/blog.ip2location.com\/wp-content\/uploads\/2022\/12\/normal-logo-white.png","width":639,"height":150,"caption":"IP2Location.com"},"image":{"@id":"https:\/\/blog.ip2location.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ip2location\/","https:\/\/x.com\/ip2location","https:\/\/www.linkedin.com\/company\/ip2location","https:\/\/www.pinterest.com\/ip2location","https:\/\/www.youtube.com\/channel\/UCkHGCUXc3pcrbp0wOtpwbMw","https:\/\/en.wikipedia.org\/wiki\/IP2Location"]}]}},"_links":{"self":[{"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/docs\/5779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/comments?post=5779"}],"version-history":[{"count":1,"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/docs\/5779\/revisions"}],"predecessor-version":[{"id":6750,"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/docs\/5779\/revisions\/6750"}],"wp:attachment":[{"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/media?parent=5779"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/doc_category?post=5779"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/blog.ip2location.com\/wp-json\/wp\/v2\/doc_tag?post=5779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- URL input box at the bottom -->
<form method="GET" action="">
    <label for="targeturl-bottom"><b>Enter URL:</b></label>
    <input type="text" id="targeturl-bottom" name="u" value="https://blog.ip2location.com/wp-json/wp/v2/docs/5779" required><br><small>
    <label for="useWeserv-bottom">Disable Weserv Image Reduction:</label>
    <input type="checkbox" id="useWeserv-bottom" name="useWeserv" value="false"><br>
    <label for="stripJS-bottom">Strip JavaScript:</label>
    <input type="checkbox" id="stripJS-bottom" name="stripJS" value="true"><br>
    <label for="stripImages-bottom">Strip Images:</label>
    <input type="checkbox" id="stripImages-bottom" name="stripImages" value="true"><br>
    <label for="stripFnts-bottom">Stripout Font Forcing:</label>
    <input type="checkbox" id="stripFnts-bottom" name="stripFnts" value="true"><br>
    <label for="stripCSS-bottom">Strip CSS:</label>
    <input type="checkbox" id="stripCSS-bottom" name="stripCSS" value="true"><br>
    <label for="stripVideos-bottom">Strip Videos:</label>
    <input type="checkbox" id="stripVideos-bottom" name="stripVideos" value="true"><br>
    <label for="removeMenus-bottom">Remove Headers and Menus:</label>
    <input type="checkbox" id="removeMenus-bottom" name="removeMenus" value="true"><br></small>
<!-- New form elements Sandwich Strip -->
        <label for="start"><small>Remove from after:</label>
        <input type="text" id="start" name="start" value="<body>">
        <label for="end"><small>to before:</label>
        <input type="text" id="end" name="end">
        <input type="checkbox" id="applySandwichStrip" name="applySandwichStrip" value="1" onclick="submitForm()"> ApplySandwichStrip<br></small>
    <button type="submit">Fetch</button>
</form><!-- Header banner at the bottom -->
<p><h1><a href="http://clevelandohioweatherforecast.com/pFad/v4index.php?u=" title="pFad">pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>Saves Data!</i></a></h1><br><em>--- a PPN by Garber Painting Akron. <b> With Image Size Reduction </b>included!</em></p><p>Fetched URL: <a href="https://blog.ip2location.com/wp-json/wp/v2/docs/5779" target="_blank">https://blog.ip2location.com/wp-json/wp/v2/docs/5779</a></p><p>Alternative Proxies:</p><p><a href="http://clevelandohioweatherforecast.com/php-proxy/index.php?q=https://blog.ip2location.com/wp-json/wp/v2/docs/5779" target="_blank">Alternative Proxy</a></p><p><a href="http://clevelandohioweatherforecast.com/pFad/index.php?u=https://blog.ip2location.com/wp-json/wp/v2/docs/5779&useWeserv=true" target="_blank">pFad Proxy</a></p><p><a href="http://clevelandohioweatherforecast.com/pFad/v3index.php?u=https://blog.ip2location.com/wp-json/wp/v2/docs/5779&useWeserv=true" target="_blank">pFad v3 Proxy</a></p><p><a href="http://clevelandohioweatherforecast.com/pFad/v4index.php?u=https://blog.ip2location.com/wp-json/wp/v2/docs/5779&useWeserv=true" target="_blank">pFad v4 Proxy</a></p>