← Zurück zum Nachruf-Schreibtisch

Expired Domains automatisch finden mit Python

Veröffentlicht von Peter Nagy · KI-gestützt · 8. August 2026 · 5 Min. Lesezeit

Automatisierte Expired-Domain-Suche ersetzt das manuelle Aktualisieren von Listen durch ein Python-Skript, das Drop-Listen abfragt, nach Metriken filtert und dich alarmiert. Du nutzt requests, BeautifulSoup und einen simplen Cron-Job. Das ist nicht ausgefallen, spart aber Stunden. Und wenn du eine Niete findest, kannst du sie später immer noch begraben.

Was genau macht automatisierte Expired-Domain-Suche?

Sie verwandelt eine langweilige, repetitive Aufgabe in ein Skript, das du einmal einrichtest und dann laufen lässt. Du schreibst Python-Code, der öffentliche Listen mit abgelaufenen Domains abruft, jeden Namen gegen deine Regeln prüft und dir eine Nachricht schickt, wenn etwas passt. Kein Aufstehen um 3 Uhr morgens mehr, um zu sehen, ob die 4-Buchstaben-.io endlich freigegeben wurde.

Der Kern ist simpel: abrufen, filtern, alarmieren. Du kannst das auf einem günstigen VPS oder deinem eigenen Rechner per Cron-Job laufen lassen. Das Ganze ist an einem Nachmittag gebaut, selbst wenn du kein Profi-Entwickler bist.

Voraussetzungen: Was brauchst du, bevor du das Skript schreibst?

Ein paar Basics. Du brauchst Python 3.8 oder neuer und einen Texteditor. Außerdem ein kostenloses Konto bei einem Domain-API-Dienst wie WhoisXMLAPI oder RDAP, um Registrierungsdaten zu prüfen. Budget: null Euro, außer du willst höhere Rate-Limits bezahlen.

Du brauchst außerdem einen klaren Filter. Wisse, wonach du suchst: Wortanzahl, Länge, Endung, Backlinks oder eine bestimmte Nische. Schreib es auf, bevor du code schreibst, sonst endest du mit einem Skript, das dich bei jeder x-beliebigen Domain alarmiert.

Schritt 1: Wie rufst du Listen mit abgelaufenen Domains ab?

Starte mit öffentlichen Drop-Listen. Dienste wie ExpiredDomains.net und NameJet veröffentlichen tägliche Listen, auch wenn sie nicht immer leicht zu scrapen sind. Nutze requests und BeautifulSoup, um das HTML zu holen und die Tabellenzeilen zu parsen.

import requests
from bs4 import BeautifulSoup

url = "https://www.expireddomains.net/expired-domains/"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

Das liefert dir die rohe Seite. Dann extrahierst du die Domainnamen aus der Tabelle. Die meisten Listen haben eine ähnliche Struktur, also reichen ein paar find_all-Aufrufe. Sei höflich mit Rate-Limits, sonst wirst du blockiert.

Schritt 2: Wie filterst du Domains mit Python?

Filter sind der Kern. Schreibe eine Funktion, die eine Domain nimmt und je nach Regeln True oder False zurückgibt. Zum Beispiel nur .com-Domains mit genau 6 Buchstaben und ohne Bindestrich.

def is_worth_checking(domain):
    name, ext = domain.split(".")
    return ext == "com" and len(name) == 6 and "-" not in name

Du kannst auch nach Keywords filtern. Wenn du Fitness-Domains suchst, halte eine Liste relevanter Wörter bereit und prüfe, ob eines vorkommt. Nutze re für Regex, falls du komplexere Muster brauchst.

Schritt 3: Wie prüfst du Verfügbarkeit und Metriken?

Sobald du eine gefilterte Liste hast, musst du wissen, ob die Domain wirklich abläuft. Nutze RDAP, um den Registrierungsstatus zu prüfen. Die rdap-Bibliothek macht das einfach.

import rdap

def check_status(domain):
    data = rdap.query(domain)
    return data.get("status", [])

Wenn der Status "pending delete" oder "redemption period" enthält, läuft sie wahrscheinlich ab. Du kannst auch Backlinks über eine freie API wie Open PageRank prüfen, brauchst dafür aber einen API-Key. Halte die Checks leicht, denn zu viele Anfragen bremsen dich aus.

Schritt 4: Wie planst du das Skript automatisch ein?

Nutze Cron auf Linux oder den Task Scheduler auf Windows. Lass das Skript einmal täglich laufen oder alle paar Stunden, wenn du heiße Drops jagst. Eine einfache Cron-Zeile sieht so aus:

0 6 * * * cd /pfad/zum/skript && python3 hunt.py

Das läuft jeden Morgen um 6 Uhr. Du bekommst Ergebnisse vor dem täglichen Ansturm. Du kannst auch die schedule-Bibliothek nutzen, wenn du alles in Python lassen willst.

Schritt 5: Wie bekommst du Alerts, wenn etwas gefunden wird?

E-Mail, Telegram oder Slack. Am einfachsten ist Telegram, weil du eine Nachricht mit einem simplen POST-Request senden kannst. Erstelle einen Bot, hole die Chat-ID und nutze requests.post, um eine Nachricht zu schicken, wenn dein Filter etwas findet.

import requests

def send_alert(domain):
    token = "DEIN_BOT_TOKEN"
    chat_id = "DEINE_CHAT_ID"
    text = f"Gefunden: {domain}"
    url = f"https://api.telegram.org/bot{token}/sendMessage"
    requests.post(url, data={"chat_id": chat_id, "text": text})

Jetzt bekommst du Pings aufs Handy, ohne das Skript anzufassen. Denk daran, das Bot-Token geheim zu halten.

Schritt 6: Wie gehst du mit den Ergebnissen um und entscheidest, was du kaufst?

Wenn der Alert kommt, musst du trotzdem manuell prüfen. Nutze einen Registrar wie Namecheap oder GoDaddy, um den genauen Preis zu sehen, und checke die Wayback Machine für historische Inhalte. Nicht jede abgelaufene Domain ist die Registrierungsgebühr wert.

Wenn du eine kaufst und sie sich als Niete entpuppt, kannst du dein totes Projekt für einen Dollar begraben. Das ist ein günstiger Weg, loszulassen. Und wenn du Inspiration oder ein Schnäppchen suchst, stöbere im Friedhof, um zu sehen, was andere aufgegeben haben.

Was kann bei der automatisierten Suche schiefgehen?

Einiges. Dein Skript kann brechen, wenn die Website ihre HTML-Struktur ändert. Du kannst rate-limitet oder IP-gesperrt werden. Du kannst zu aggressiv filtern und gute Namen verpassen, oder zu locker und in Junk ertrinken.

Außerdem ist der Domain-Markt schnell. Ein Name, der frei aussieht, kann von jemand anderem registriert werden, bevor dein Cron-Job läuft. Das ist normal. Baue einen Retry oder eine Wartezeit ein und verliebe dich nicht in eine einzelne Domain.

Musst du das wirklich automatisieren?

Wenn du Drops einmal pro Woche checkst, nein. Aber wenn du täglich Listen aktualisierst, spart ein Skript Stunden. Es lässt dich auch schneller handeln, wenn ein guter Name auftaucht. Geschwindigkeit zählt bei der Expired-Domain-Suche, denn gute Namen verschwinden in Minuten.

Der Nachteil: Automatisierung kann dich in dem Glauben wiegen, produktiv zu sein. Bist du nicht. Du filterst nur schneller. Die eigentliche Arbeit steckt in der manuellen Prüfung.

Wie geht es von hier aus weiter?

Starte klein. Wähle eine Quelle, einen Filter und eine Alarmmethode. Bring das zum Laufen, bevor du Komplexität hinzufügst. Dann erweitere auf mehr Quellen oder Filter. Das Skript muss nicht perfekt sein, es muss nur laufen.

Und wenn du am Ende eine Domain hast, die du nicht willst, lass sie nicht vergammeln. Begrabe sie auf dead.domains und gib jemand anderem die Chance auf ein zweites Leben. Das ist der Kreislauf digitalen Eigentums, und er ist seltsam befriedigend.

Schau auf dead.domains vorbei, um zu sehen, was schon begraben wurde.

FAQ

Ist es legal, Listen mit abgelaufenen Domains zu scrapen?

Ja, solange du robots.txt und Rate-Limits respektierst. Öffentliche Listen sind zum Ansehen gedacht, aber zu schnelles Scrapen kann zu einer Sperre führen. Verwende angemessene Verzögerungen und einen sauberen User-Agent. Wenn eine Seite eine kostenpflichtige API anbietet, ziehe in Betracht, diese zu nutzen, um rechtliche Probleme zu vermeiden.

Welche Python-Bibliothek eignet sich am besten zum Parsen von HTML?

BeautifulSoup ist die häufigste Wahl, weil sie leicht zu lernen ist und gut mit unordentlichem HTML funktioniert. Für komplexeres Parsing kannst du lxml oder Scrapy verwenden. Starte mit BeautifulSoup und wechsle erst, wenn du an Leistungsgrenzen stößt.

Wie oft sollte ich mein Expired-Domain-Skript laufen lassen?

Einmal täglich reicht für die meisten Nischen. Wenn du auf hochwertige Drops jagst, lass es alle paar Stunden laufen. Bedenke, dass häufigere Läufe die Chance auf Rate-Limits erhöhen. Balanciere also Geschwindigkeit und Sicherheit.

Kann ich den gesamten Kaufprozess automatisieren?

Teilweise. Du kannst die Verfügbarkeitsprüfung und sogar das Vorbestellen automatisieren, aber die eigentliche Registrierung erfordert meist eine manuelle Bestätigung. Einige Registrar bieten APIs für automatisierte Käufe an, aber oft gibt es Mindestguthaben oder Freigaben. Erwarte keine vollautomatische Pipeline.

Was soll ich tun, wenn mein Skript nicht mehr funktioniert?

Überprüfe zuerst die HTML-Struktur der Website. Layouts ändern sich oft, also können deine Selektoren brechen. Füge Fehlerbehandlung hinzu, damit das Skript das Problem protokolliert und dich alarmiert. Dann aktualisiere die Selektoren und starte es neu. Das ist normale Wartung.