ut
import whois
import requests
import json
def check_domain_expiry(domain):
try:
domain_info = whois.whois(domain)
if isinstance(domain_info.expiration_date, list):
expiration_date = domain_info.expiration_date[0]
else:
expiration_date = domain_info.expiration_date
return expiration_date
except:
return None # Domain might be expired or invalid
def get_majestic_metrics(domain, api_key):
url = f”https://api.majestic.com/api/json?app_api_key={api_key}&cmd=GetIndexItemInfo&items=1&item0={domain}”
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return data.get(“DataTables”, {}).get(“Results”, {}).get(“Data”, [])[0]
return None
def main():
apply_majestic_filter = input(“Do you want to apply Majestic filter? (yes/no): “).strip().lower() == “yes”
api_key = “YOUR_MAJESTIC_API_KEY” if apply_majestic_filter else None
with open(“domains.txt”, “r”) as file:
domains = [line.strip() for line in file.readlines()]
for domain in domains:
expiration = check_domain_expiry(domain)
if expiration is None:
print(f”{domain} appears to be expired!”)
if apply_majestic_filter and api_key:
metrics = get_majestic_metrics(domain, api_key)
if metrics:
print(f”Majestic Metrics for {domain}: {metrics}”)
else:
print(f”No Majestic data available for {domain}”)
else:
print(f”{domain} is not expired. Expiration date: {expiration}”)
if __name__ == “__main__”:
main()