I'm writing a script that does dynamic DNS updates for me, but my server is behind a router, and so I need to use a web service to determine my public IP.

So far I've found this one which returns just your plain IP. I was looking around trying to find a couple of alternatives to use in my script supposing that that one is down, but I can't find any others that return just the IP as plaintext.

These ones return some HTML, but I really don't want to bother parsing HTML when what the script needs to do is such a simple task.

Does anyone know of some other reliable services which return only your public IP in plaintext?


Famous one – I can haz IP:

$ curl icanhazip.com

And that's it.

  • True. It's actually the first one I really remember.
    – slhck
    May 5 '12 at 16:56
  • 2
    icanhazip.com is not very reliable. Once every few times, the site doesn't answer at all. Aug 21 '12 at 14:06
  • I have to second the unreliability of icanhazip. Some time ago the service also migrated to CloudFlare which sometimes presents a captcha. Jun 3 '20 at 18:32

I use http://checkip.amazonaws.com/

curl -s http://checkip.amazonaws.com/

(This form miscounts the above 82 characters as 15 characters, so I have to enter an extra sentence.)

  • 2
    I had to stop using this service last week, possibly because my ISP started doing something weird. Now I use ipinfo.io/ip , which is free to use for up to 1k queries/day; see ipinfo.io/developers . Jul 29 '15 at 17:07

Or you could host your own. Use a free hosting company, and using PHP use a code like this:



  • 2
    Of course I could do that, but surely there must already be plenty of services out there which do this already. May 5 '12 at 16:50
  • 1
    exactly what I was looking for! Maybe I don't want some one else logging my IPs or spamming some other log
    – wuxmedia
    Oct 6 '18 at 11:30
  • 1
    'free hosting' will most likely be logging something
    – Maciek Rek
    Aug 14 '19 at 11:42

see page http://wtfismyip.com, http://wtfismyip.com/text actually on. Get ip address in the form of text. XML or JSON formats too.

or get http://checkip.dyndns.com/ but format is "Current IP Address: xxx.xxx.xxx.xxx"

  • Well thank F@ck for that! Mar 8 '21 at 13:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.