Also see: How to get external IPv6 address in Python
You can use the free IPify service together with requests to get your current IPv4 address:
#!/usr/bin/env python3 import requests def get_current_ipv4(): """Get the current external IPv4 address or return None if no connection to the IPify service is possible""" try: return requests.get("https://api4.ipify.org", timeout=5).text except requests.exceptions.ConnectionError as ex: return None # Usage example print(get_current_ipv4()) # Prints e.g. 95.216.138.188