Webhooks für abgelaufene Domains

Expired-Domains-Webhooks, die einen POST senden, wenn eine Domain passt — oder sich ein Preis bewegt

Abonnieren Sie mit demselben Pro-Key wie bei der Public API. Karma.Domains sendet ein signiertes JSON-Event an Zapier, Make, n8n, IFTTT oder jede öffentliche HTTPS-URL, wenn ein Filter trifft, eine Auktion sich ändert oder Sie eine Notiz, einen Favoriten oder eine Benutzeraufgabe aktualisieren.

30 Abonnements
5.000 Zustellungen pro Tag
3 Abo-Arten
60/min Geteiltes Rate-Limit
KI fragen
  • ChatGPT
  • Claude
  • Gemini
  • Grok
  • Perplexity

Zapier, Make, n8n oder IFTTT verbinden

Legen Sie in Ihrem Tool einen Webhook-Trigger an, kopieren Sie dessen HTTPS-URL und registrieren Sie sie mit POST /v1/webhooks. Derselbe Aufruf gilt für jeden Client — nur die URL ändert sich.

Erfordert den Pro-Plan oder höher. Schlüssel in Profil → Entwickler erstellen oder zurücksetzen. Behandeln Sie ihn wie ein Passwort.

Abonnements 30 pro Konto
Zustellungen 5.000 pro UTC-Tag
Rate-Limit 60 Anfragen/Minute pro Key (geteilt mit Public API und MCP)

Zapier — Webhooks by Zapier, Catch Hook

  1. Erstellen Sie einen Zap und wählen Sie Webhooks by Zapier als Trigger. Wählen Sie Catch Hook.
  2. Kopieren Sie die HTTPS-Webhook-URL, die Zapier anzeigt.
  3. Senden Sie POST /v1/webhooks mit Ihrem Pro-Key, dieser URL, einem kind und den gewünschten Events. Testen Sie den Zap nach der ersten Zustellung.
curl https://api.karma.domains/v1/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "filter",
    "url": "https://hooks.zapier.com/hooks/catch/123456/abcdef",
    "events": ["domain.matched_filter"],
    "bases": ["expired", "auctions"],
    "filter": { "karmascore_min": 60 }
  }'

Drei Arten zu abonnieren

Ein Event ist ein Report, außer bei Benutzeraufgaben — dort ein Event pro Aufgabe. Das Secret kommt nur zurück, wenn Sie das Abonnement anlegen oder es rotieren.

Filter-Treffer

kind=filter sendet domain.matched_filter, wenn ein Report dieselben Filter wie POST /v1/reports/search zu erfüllen beginnt. Der Cursor startet beim Abonnieren, ältere Zeilen werden nicht nachgeliefert. Ein Report, der nach dem Verlassen des Filters wieder passt, kann erneut feuern.

Abonnieren

curl https://api.karma.domains/v1/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "filter",
    "url": "https://hooks.example.com/karma",
    "events": ["domain.matched_filter"],
    "bases": ["expired", "auctions"],
    "filter": { "karmascore_min": 60 }
  }'

Event, das Sie erhalten

{
  "id": "evt_example",
  "type": "domain.matched_filter",
  "version": "1",
  "subscription_id": "sub_example",
  "object": {
    "domain": "example.com",
    "report_id": "665f0example",
    "report_type": "expired"
  },
  "data": { "current": { "changed_at": 1710000000 } },
  "links": { "report": "https://karma.domains/app/reports/expired/report-665f0example/" }
}

Ein bestimmter Report

kind=reports beobachtet bis zu 100 Reports. Auktions-Events decken Preis, Gebotszahl, bald endend und beendet ab. Notiz-, Tag- und Favoriten-Events feuern nur für das Konto, das die Änderung gemacht hat — ein anderes Konto, das denselben Report wegen des Preises beobachtet, erhält sie nicht. ending_soon_seconds ist nur nötig, wenn Sie auction.ending_soon wählen.

Abonnieren

curl https://api.karma.domains/v1/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "reports",
    "url": "https://hooks.example.com/karma",
    "events": ["auction.price_changed", "report.note_changed"],
    "reports": [{ "report_type": "auctions", "report_id": "665f0example" }]
  }'

Event, das Sie erhalten

{
  "id": "evt_example",
  "type": "auction.price_changed",
  "version": "1",
  "subscription_id": "sub_example",
  "object": {
    "domain": "example.com",
    "report_id": "665f0example",
    "report_type": "auctions"
  },
  "data": {
    "current": { "price": 120, "bid_count": 4 },
    "previous": { "price": 100, "bid_count": 3 },
    "changes": { "price_delta": 20, "bid_count_delta": 1 }
  }
}

Benutzeraufgaben

kind=user hat keinen Filter und keine Report-Liste. usertask.created feuert einmal, wenn eine Aufgabe gespeichert wird. usertask.completed feuert einmal, wenn sie fertig ist. Fortschritts-Ticks werden nicht gesendet. Die Payload nennt die Aufgabe und die Report-Anzahl — nicht jede Domain in der Aufgabe.

Abonnieren

curl https://api.karma.domains/v1/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "user",
    "url": "https://hooks.example.com/karma",
    "events": ["usertask.created", "usertask.completed"]
  }'

Event, das Sie erhalten

{
  "id": "evt_example",
  "type": "usertask.completed",
  "version": "1",
  "subscription_id": "sub_example",
  "object": {
    "task_id": "665f0task",
    "report_type": "expired"
  },
  "data": {
    "current": { "task_name": "French plumbing", "reports_count": 12 }
  }
}

Zustellungen sind mit Standard Webhooks signiert. Jeder POST enthält webhook-id, webhook-timestamp und webhook-signature. Das whsec_-Secret kommt einmal zurück, beim Anlegen und beim Rotieren. Senden Sie POST /v1/webhooks/{id}/ping, um ein webhook.ping zuzustellen und die URL zu bestätigen.

Häufig gestellte Fragen

Ist das derselbe Key wie bei der Public API?

Ja. Ein Pro-Key aus Profil → Entwickler für REST, MCP und Webhooks. Anlegen und Aktualisieren von Abonnements zählt zum geteilten Limit von 60 Anfragen pro Minute.

Welche Limits gelten für Webhooks?

30 Abonnements pro Konto und 5.000 Zustellungen pro UTC-Tag. Über dem Tageslimit wird das Abonnement quota_paused bis zum nächsten UTC-Tag. Sie können ein Abonnement selbst per PATCH pausieren.

Welche Events kann ich abonnieren?

kind=filter akzeptiert nur domain.matched_filter. kind=reports akzeptiert auction.price_changed, auction.bid_count_changed, auction.ending_soon, auction.ended, report.note_changed, report.tags_changed und report.favorite_changed. kind=user akzeptiert usertask.created und usertask.completed.

Warum fehlt Majestic (oder eine andere Metrik) im Event?

Report-Daten kommen im Hintergrund, nicht auf einmal. Ein Filter, der eine Metrik nicht verlangt, kann treffen, bevor diese Metrik existiert. Ein Report mit niedriger Priorität erhält sie möglicherweise nie.

Soll ich eine nötige Metrik in den Filter setzen?

Ja, wenn Sie nur Reports wollen, die sie schon haben. Dieselbe Regel verengt die Menge und kann das Event verzögern, bis die Metrik gesammelt ist. Bei abgelaufenen Domains zählt die Verzögerung — der Name kann den Feed verlassen, während Sie warten. Wenn Sie das früheste Signal brauchen, lassen Sie die Metrik weg und prüfen Sie sie nach dem POST.

In welcher Reihenfolge erscheinen Metriken gewöhnlich?

Zuerst Auktionsdaten, dann Karma Metric, dann Karma Score und Archivinhalt, dann SEO-Metriken (Majestic, Moz, Ahrefs und der Rest), dann Google-Daten. Es gibt keine feste Wartezeit. Ein späterer Schritt kann übersprungen werden.

Gehen Notiz- und Favoriten-Events an alle, die diesen Report beobachten?

Nein. Diese Events gehen nur an Abonnements des Kontos, das Notiz, Tags oder Favorit geändert hat. Eine Beobachtung desselben Reports für Preis-Updates bleibt bei den Auktions-Events.

Wo ist das Request-Schema?

Typen und eine Try-it-Konsole sind in der Swagger UI. Die Seite Public API behandelt Suche, Reports und den Rest von REST.

Derselbe Bestand wie in der App — an Ihre URL

Registrieren Sie einen HTTPS-Endpunkt und empfangen Sie Events

Ein Pro-Key. 30 Abonnements. 5.000 Zustellungen pro Tag.

Pro Plan erforderlich
30 Abonnements
5.000 Zustellungen pro Tag
API-Schlüssel holen

Lieber selbst abrufen? Zur Public API

Lieber Chat? Zum MCP-Server