đŸ•ˇī¸ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 44 (from laksa006)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

â„šī¸ Skipped - page is already crawled

📄
INDEXABLE
✅
CRAWLED
1 day ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://www.ipify.org/
Last Crawled2026-04-16 14:14:37 (1 day ago)
First Indexed2015-06-18 00:01:05 (10 years ago)
HTTP Status Code200
Meta Titleipify - A Simple Public IP Address API
Meta Descriptionipify API is a simple public IP address API, easy enough to integrate into any application in seconds.
Meta Canonicalnull
Boilerpipe Text
Code samples This section contains some common usage patterns from a variety of programming languages. Want something included that isn't listed here? Email us ! Bash #!/bin/bash ip=$(curl -s https://api.ipify.org) echo "My public IP address is: $ip" NGS (Next Generation Shell) ip=`curl -s https://api.ipify.org` echo("My public IP address is: $ip") Python # This example requires the requests library be installed. You can learn more # about the Requests library here: http://docs.python-requests.org/en/latest/ from requests import get ip = get('https://api.ipify.org').text print('My public IP address is: {}'.format(ip)) Ruby require "net/http" ip = Net::HTTP.get(URI("https://api.ipify.org")) puts "My public IP Address is: " + ip PHP <?php $ip = file_get_contents('https://api.ipify.org'); echo "My public IP address is: " . $ip; ?> Java try (java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A")) { System.out.println("My current IP address is " + s.next()); } catch (java.io.IOException e) { e.printStackTrace(); } Perl use strict; use warnings; use LWP::UserAgent; my $ua = new LWP::UserAgent(); my $ip = $ua->get('https://api.ipify.org')->content; print 'My public IP address is: '. $ip; C# var httpClient = new HttpClient(); var ip = await httpClient.GetStringAsync("https://api.ipify.org"); Console.WriteLine($"My public IP address is: {ip}"); VB.NET Dim httpClient As New System.Net.Http.HttpClient Dim ip As String = Await httpClient.GetStringAsync("https://api.ipify.org") Console.WriteLine($"My public IP address is: {ip}") NodeJS var http = require('http'); http.get({'host': 'api.ipify.org', 'port': 80, 'path': '/'}, function(resp) { resp.on('data', function(ip) { console.log("My public IP address is: " + ip); }); }); Go package main import ( "io/ioutil" "net/http" "os" ) func main() { res, _ := http.Get("https://api.ipify.org") ip, _ := ioutil.ReadAll(res.Body) os.Stdout.Write(ip) } Racket (require net/url) (define ip (port->string (get-pure-port (string->url "https://api.ipify.org")))) (printf "My public IP address is: ~a" ip) Lisp ;This example requires the drakma http package installed. ;It can be found here: http://www.weitz.de/drakma (let ((stream (drakma:http-request "https://api.ipify.org" :want-stream t))) (let ((public-ip (read-line stream))) (format t "My public IP address is: ~A" public-ip))) Xojo Dim s As New HTTPSecureSocket Dim t As String = s.Get("https://api.ipify.org",10) MsgBox "My public IP Address is: " + t Scala val addr = scala.io.Source.fromURL("https://api.ipify.org").mkString println(s"My public IP address is: $addr") Javascript <script type="application/javascript"> function getIP(json) { document.write("My public IP address is: ", json.ip); } </script> <script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script> jQuery <script type="application/javascript"> $(function() { $.getJSON("https://api.ipify.org?format=jsonp&callback=?", function(json) { document.write("My public IP address is: ", json.ip); } ); }); </script> C# using System; using System.Net; namespace Ipify.Examples { class Program { public static void Main (string[] args) { WebClient webClient = new WebClient(); string publicIp = webClient.DownloadString("https://api.ipify.org"); Console.WriteLine("My public IP Address is: {0}", publicIp); } } } Elixir :inets.start {:ok, {_, _, inet_addr}} = :httpc.request('http://api.ipify.org') :inets.stop nim import HttpClient var ip = newHttpClient().getContent("https://api.ipify.org") echo("My public IP address is: ", ip) PowerShell $ip = Invoke-RestMethod -Uri 'https://api.ipify.org?format=json' "My public IP address is: $($ip.ip)" Lua socket_http = require "http.compat.socket" body = assert(socket_http.request("https://api.ipify.org")) print(body) PureBasic InitNetwork() *Buffer = ReceiveHTTPMemory("https://api.ipify.org?format=json") If *Buffer ParseJSON(0, PeekS(*Buffer, MemorySize(*Buffer), #PB_UTF8)) FreeMemory(*Buffer) Debug GetJSONString(GetJSONMember(JSONValue(0), "ip")) EndIf LiveCode put "My public IP address is" && url "https://api.ipify.org" Objective-C NSURL *url = [NSURL URLWithString:@"https://api.ipify.org/"]; NSString *ipAddress = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSLog(@"My public IP address is: %@", ipAddress); Swift import Foundation let url = URL(string: "https://api.ipify.org") do { if let url = url { let ipAddress = try String(contentsOf: url) print("My public IP address is: " + ipAddress) } } catch let error { print(error) } Arduino if (client.connect("api.ipify.org", 80)) { Serial.println("connected"); client.println("GET / HTTP/1.0"); client.println("Host: api.ipify.org"); client.println(); } else { Serial.println("connection failed"); } AutoIT $b = TimerInit() $Read = InetRead("https://api.ipify.org",1) $sData = BinaryToString($Read) MsgBox(64,"Information","Your IP Address: " & $sData & @CRLF & "Elapsed Time: " & StringLeft(TimerDiff($b) / 1000,4) & " seconds.") SAS language filename ipresp "%sysfunc(pathname(work))\ipify-response.html"; proc http url="https://api.ipify.org" method=GET out=ipresp ; run; data null; length ip $ 20; infile ipresp recfm=f lrecl=32000 encoding='utf-8' truncover; input ip :$20.; **Create a macro variable "IP" with the ip address: ; call symput('IP',cats(ip)); **Print the ip address to the log: ; put 'NOT' 'E: >>>>>>>>>>>> Official IP: ' ip '
Markdown
[![ipify logo](https://www.ipify.org/static/images/logo.png)](https://www.ipify.org/) # ipify API [IP Geolocation API ![](https://www.ipify.org/static/svg/chevron-right.svg)](https://geo.ipify.org/ "IP Geolocation API") [About]() [API usage]() [Code samples]() [Libraries]() ![ipify map](https://www.ipify.org/static/images/ipify-map.png) ## A Simple Public IP Address API ### Want to get started right away? Don't wait, run one of the code samples below in your terminal and check it out\! IPv4 ``` $ curl 'https://api.ipify.org?format=json' {"ip":"185.103.110.182"} ``` IPv4(v6) ``` $ curl 'https://api64.ipify.org?format=json' {"ip":"2a00:1450:400f:80d::200e"} ``` ### If you need to get the geolocation data by IP, please refer to our [IP Geolocation API](https://geo.ipify.org/docs) ## Why ipify? Ever needed to get your public IP address programmatically? Maybe you're provisioning new cloud servers and need to know your IP -- maybe you're behind a corporate firewall and need to tunnel information -- whatever the reason: sometimes having a public IP address API is useful\! ### You should use ipify because: 1 You can use it without limit (even if you're doing millions of requests per minute. 2 It works flawlessly with both IPv4 and IPv6 addresses, so no matter what sort of technology you're using, there won't be issues. 3 It's always online and available, and its infrastructure is powered by Heroku, which means that regardless of whether the server running the API dies, or if there's an enormous tornado which destroys half of the east coast, ipify will still be running\! 4 ipify is completely open source (check out the [GitHub repository](https://github.com/rdegges/ipify-api "ipify on GitHub")). 5 No visitor information is ever logged. Period. 6 Lastly, ipify is open source so there's no need to worry about the domain name disappearing in three years or anything like that: ipify is here to stay\! ## API Usage Using ipify is ridiculously simple. You have three options. You can get your public IP directly (in plain text), you can get your public IP in JSON format, or you can get your public IP information in JSONP format (useful for Javascript developers). ### IPv4 | | | | |---|---|---| | API URL | Response Type | Sample Output (IPv4) | | `https://api.ipify.org` | `text` | `98.207.254.136` | | `https://api.ipify.org?format=json` | `json` | `{"ip":"98.207.254.136"}` | | `https://api.ipify.org?format=jsonp` | `jsonp` | `callback({"ip":"98.207.254.136"});` | | `https://api.ipify.org?format=jsonp&callback=getip` | `jsonp` | `getip({"ip":"98.207.254.136"});` | ### IPv6 The api6.ipify.org is used for IPv6 request only. If you don't have an IPv6 address, the request will fail. | | | | |---|---|---| | API URL | Response Type | Sample Output (IPv6) | | `https://api6.ipify.org` | `text` | `2a00:1450:400f:80d::200e` | | `https://api6.ipify.org?format=json` | `json` | `{"ip":"2a00:1450:400f:80d::200e"}` | | `https://api6.ipify.org?format=jsonp` | `jsonp` | `callback({"ip":"2a00:1450:400f:80d::200e"});` | | `https://api6.ipify.org?format=jsonp&callback=getip` | `jsonp` | `getip({"ip":"2a00:1450:400f:80d::200e"});` | ### Universal: IPv4/IPv6 | | | | |---|---|---| | API URL | Response Type | Sample Output (IPv4/IPv6) | | `https://api64.ipify.org` | `text` | `98.207.254.136 or 2a00:1450:400f:80d::200e` | | `https://api64.ipify.org?format=json` | `json` | `{"ip":"98.207.254.136"} or {"ip":"2a00:1450:400f:80d::200e"}` | | `https://api64.ipify.org?format=jsonp` | `jsonp` | `callback({"ip":"98.207.254.136"}); or callback({"ip":"2a00:1450:400f:80d::200e"});` | | `https://api64.ipify.org?format=jsonp&callback=getip` | `jsonp` | `getip({"ip":"98.207.254.136"}); or getip({"ip":"2a00:1450:400f:80d::200e"});` | ## Code samples This section contains some common usage patterns from a variety of programming languages. Want something included that isn't listed here? [Email us](mailto:service.desk@ipify.org)\! ### Bash ``` #!/bin/bash ip=$(curl -s https://api.ipify.org) echo "My public IP address is: $ip" ``` ### NGS (Next Generation Shell) ``` ip=`curl -s https://api.ipify.org` echo("My public IP address is: $ip") ``` ### Python ``` # This example requires the requests library be installed. You can learn more # about the Requests library here: http://docs.python-requests.org/en/latest/ from requests import get ip = get('https://api.ipify.org').text print('My public IP address is: {}'.format(ip)) ``` ### Ruby ``` require "net/http" ip = Net::HTTP.get(URI("https://api.ipify.org")) puts "My public IP Address is: " + ip ``` ### PHP ``` <?php $ip = file_get_contents('https://api.ipify.org'); echo "My public IP address is: " . $ip; ?> ``` ### Java ``` try (java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A")) { System.out.println("My current IP address is " + s.next()); } catch (java.io.IOException e) { e.printStackTrace(); } ``` ### Perl ``` use strict; use warnings; use LWP::UserAgent; my $ua = new LWP::UserAgent(); my $ip = $ua->get('https://api.ipify.org')->content; print 'My public IP address is: '. $ip; ``` ### C\# ``` var httpClient = new HttpClient(); var ip = await httpClient.GetStringAsync("https://api.ipify.org"); Console.WriteLine($"My public IP address is: {ip}"); ``` ### VB.NET ``` Dim httpClient As New System.Net.Http.HttpClient Dim ip As String = Await httpClient.GetStringAsync("https://api.ipify.org") Console.WriteLine($"My public IP address is: {ip}") ``` ### NodeJS ``` var http = require('http'); http.get({'host': 'api.ipify.org', 'port': 80, 'path': '/'}, function(resp) { resp.on('data', function(ip) { console.log("My public IP address is: " + ip); }); }); ``` ### Go ``` package main import ( "io/ioutil" "net/http" "os" ) func main() { res, _ := http.Get("https://api.ipify.org") ip, _ := ioutil.ReadAll(res.Body) os.Stdout.Write(ip) } ``` ### Racket ``` (require net/url) (define ip (port->string (get-pure-port (string->url "https://api.ipify.org")))) (printf "My public IP address is: ~a" ip) ``` ### Lisp ``` ;This example requires the drakma http package installed. ;It can be found here: http://www.weitz.de/drakma (let ((stream (drakma:http-request "https://api.ipify.org" :want-stream t))) (let ((public-ip (read-line stream))) (format t "My public IP address is: ~A" public-ip))) ``` ### Xojo ``` Dim s As New HTTPSecureSocket Dim t As String = s.Get("https://api.ipify.org",10) MsgBox "My public IP Address is: " + t ``` ### Scala ``` val addr = scala.io.Source.fromURL("https://api.ipify.org").mkString println(s"My public IP address is: $addr") ``` ### Javascript ``` <script type="application/javascript"> function getIP(json) { document.write("My public IP address is: ", json.ip); } </script> <script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script> ``` ### jQuery ``` <script type="application/javascript"> $(function() { $.getJSON("https://api.ipify.org?format=jsonp&callback=?", function(json) { document.write("My public IP address is: ", json.ip); } ); }); </script> ``` ### C\# ``` using System; using System.Net; namespace Ipify.Examples { class Program { public static void Main (string[] args) { WebClient webClient = new WebClient(); string publicIp = webClient.DownloadString("https://api.ipify.org"); Console.WriteLine("My public IP Address is: {0}", publicIp); } } } ``` ### Elixir ``` :inets.start {:ok, {_, _, inet_addr}} = :httpc.request('http://api.ipify.org') :inets.stop ``` ### nim ``` import HttpClient var ip = newHttpClient().getContent("https://api.ipify.org") echo("My public IP address is: ", ip) ``` ### PowerShell ``` $ip = Invoke-RestMethod -Uri 'https://api.ipify.org?format=json' "My public IP address is: $($ip.ip)" ``` ### Lua ``` socket_http = require "http.compat.socket" body = assert(socket_http.request("https://api.ipify.org")) print(body) ``` ### PureBasic ``` InitNetwork() *Buffer = ReceiveHTTPMemory("https://api.ipify.org?format=json") If *Buffer ParseJSON(0, PeekS(*Buffer, MemorySize(*Buffer), #PB_UTF8)) FreeMemory(*Buffer) Debug GetJSONString(GetJSONMember(JSONValue(0), "ip")) EndIf ``` ### LiveCode ``` put "My public IP address is" && url "https://api.ipify.org" ``` ### Objective-C ``` NSURL *url = [NSURL URLWithString:@"https://api.ipify.org/"]; NSString *ipAddress = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSLog(@"My public IP address is: %@", ipAddress); ``` ### Swift ``` import Foundation let url = URL(string: "https://api.ipify.org") do { if let url = url { let ipAddress = try String(contentsOf: url) print("My public IP address is: " + ipAddress) } } catch let error { print(error) } ``` ### Arduino ``` if (client.connect("api.ipify.org", 80)) { Serial.println("connected"); client.println("GET / HTTP/1.0"); client.println("Host: api.ipify.org"); client.println(); } else { Serial.println("connection failed"); } ``` ### AutoIT ``` $b = TimerInit() $Read = InetRead("https://api.ipify.org",1) $sData = BinaryToString($Read) MsgBox(64,"Information","Your IP Address: " & $sData & @CRLF & "Elapsed Time: " & StringLeft(TimerDiff($b) / 1000,4) & " seconds.") ``` ### SAS language ``` filename ipresp "%sysfunc(pathname(work))\ipify-response.html"; proc http url="https://api.ipify.org" method=GET out=ipresp ; run; data null; length ip $ 20; infile ipresp recfm=f lrecl=32000 encoding='utf-8' truncover; input ip :$20.; **Create a macro variable "IP" with the ip address: ; call symput('IP',cats(ip)); **Print the ip address to the log: ; put 'NOT' 'E: >>>>>>>>>>>> Official IP: ' ip ' ``` `` `` ``
Readable Markdown
## Code samples This section contains some common usage patterns from a variety of programming languages. Want something included that isn't listed here? [Email us](mailto:service.desk@ipify.org)\! ### Bash ``` #!/bin/bash ip=$(curl -s https://api.ipify.org) echo "My public IP address is: $ip" ``` ### NGS (Next Generation Shell) ``` ip=`curl -s https://api.ipify.org` echo("My public IP address is: $ip") ``` ### Python ``` # This example requires the requests library be installed. You can learn more # about the Requests library here: http://docs.python-requests.org/en/latest/ from requests import get ip = get('https://api.ipify.org').text print('My public IP address is: {}'.format(ip)) ``` ### Ruby ``` require "net/http" ip = Net::HTTP.get(URI("https://api.ipify.org")) puts "My public IP Address is: " + ip ``` ### PHP ``` <?php $ip = file_get_contents('https://api.ipify.org'); echo "My public IP address is: " . $ip; ?> ``` ### Java ``` try (java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A")) { System.out.println("My current IP address is " + s.next()); } catch (java.io.IOException e) { e.printStackTrace(); } ``` ### Perl ``` use strict; use warnings; use LWP::UserAgent; my $ua = new LWP::UserAgent(); my $ip = $ua->get('https://api.ipify.org')->content; print 'My public IP address is: '. $ip; ``` ### C\# ``` var httpClient = new HttpClient(); var ip = await httpClient.GetStringAsync("https://api.ipify.org"); Console.WriteLine($"My public IP address is: {ip}"); ``` ### VB.NET ``` Dim httpClient As New System.Net.Http.HttpClient Dim ip As String = Await httpClient.GetStringAsync("https://api.ipify.org") Console.WriteLine($"My public IP address is: {ip}") ``` ### NodeJS ``` var http = require('http'); http.get({'host': 'api.ipify.org', 'port': 80, 'path': '/'}, function(resp) { resp.on('data', function(ip) { console.log("My public IP address is: " + ip); }); }); ``` ### Go ``` package main import ( "io/ioutil" "net/http" "os" ) func main() { res, _ := http.Get("https://api.ipify.org") ip, _ := ioutil.ReadAll(res.Body) os.Stdout.Write(ip) } ``` ### Racket ``` (require net/url) (define ip (port->string (get-pure-port (string->url "https://api.ipify.org")))) (printf "My public IP address is: ~a" ip) ``` ### Lisp ``` ;This example requires the drakma http package installed. ;It can be found here: http://www.weitz.de/drakma (let ((stream (drakma:http-request "https://api.ipify.org" :want-stream t))) (let ((public-ip (read-line stream))) (format t "My public IP address is: ~A" public-ip))) ``` ### Xojo ``` Dim s As New HTTPSecureSocket Dim t As String = s.Get("https://api.ipify.org",10) MsgBox "My public IP Address is: " + t ``` ### Scala ``` val addr = scala.io.Source.fromURL("https://api.ipify.org").mkString println(s"My public IP address is: $addr") ``` ### Javascript ``` <script type="application/javascript"> function getIP(json) { document.write("My public IP address is: ", json.ip); } </script> <script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script> ``` ### jQuery ``` <script type="application/javascript"> $(function() { $.getJSON("https://api.ipify.org?format=jsonp&callback=?", function(json) { document.write("My public IP address is: ", json.ip); } ); }); </script> ``` ### C\# ``` using System; using System.Net; namespace Ipify.Examples { class Program { public static void Main (string[] args) { WebClient webClient = new WebClient(); string publicIp = webClient.DownloadString("https://api.ipify.org"); Console.WriteLine("My public IP Address is: {0}", publicIp); } } } ``` ### Elixir ``` :inets.start {:ok, {_, _, inet_addr}} = :httpc.request('http://api.ipify.org') :inets.stop ``` ### nim ``` import HttpClient var ip = newHttpClient().getContent("https://api.ipify.org") echo("My public IP address is: ", ip) ``` ### PowerShell ``` $ip = Invoke-RestMethod -Uri 'https://api.ipify.org?format=json' "My public IP address is: $($ip.ip)" ``` ### Lua ``` socket_http = require "http.compat.socket" body = assert(socket_http.request("https://api.ipify.org")) print(body) ``` ### PureBasic ``` InitNetwork() *Buffer = ReceiveHTTPMemory("https://api.ipify.org?format=json") If *Buffer ParseJSON(0, PeekS(*Buffer, MemorySize(*Buffer), #PB_UTF8)) FreeMemory(*Buffer) Debug GetJSONString(GetJSONMember(JSONValue(0), "ip")) EndIf ``` ### LiveCode ``` put "My public IP address is" && url "https://api.ipify.org" ``` ### Objective-C ``` NSURL *url = [NSURL URLWithString:@"https://api.ipify.org/"]; NSString *ipAddress = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSLog(@"My public IP address is: %@", ipAddress); ``` ### Swift ``` import Foundation let url = URL(string: "https://api.ipify.org") do { if let url = url { let ipAddress = try String(contentsOf: url) print("My public IP address is: " + ipAddress) } } catch let error { print(error) } ``` ### Arduino ``` if (client.connect("api.ipify.org", 80)) { Serial.println("connected"); client.println("GET / HTTP/1.0"); client.println("Host: api.ipify.org"); client.println(); } else { Serial.println("connection failed"); } ``` ### AutoIT ``` $b = TimerInit() $Read = InetRead("https://api.ipify.org",1) $sData = BinaryToString($Read) MsgBox(64,"Information","Your IP Address: " & $sData & @CRLF & "Elapsed Time: " & StringLeft(TimerDiff($b) / 1000,4) & " seconds.") ``` ### SAS language ``` filename ipresp "%sysfunc(pathname(work))\ipify-response.html"; proc http url="https://api.ipify.org" method=GET out=ipresp ; run; data null; length ip $ 20; infile ipresp recfm=f lrecl=32000 encoding='utf-8' truncover; input ip :$20.; **Create a macro variable "IP" with the ip address: ; call symput('IP',cats(ip)); **Print the ip address to the log: ; put 'NOT' 'E: >>>>>>>>>>>> Official IP: ' ip ' ```
Shard44 (laksa)
Root Hash4263545923241431044
Unparsed URLorg,ipify!www,/ s443