Einstieg: API
DR-Checker-Tool-API: jeder Parameter und jedes Feld, erklärt
Referenz für die Request-Struktur und die zwei Felder, die jede authentifizierte Antwort enthält. Die Zeilen variieren je nach Aktion, also testen Sie einen Aufruf, bevor Sie die Daten parsen.

Der Dienst ist eine REST-API, die JSON zurückgibt. CORS ist offen. Eine Browser-Seite kann sie direkt aufrufen. Schlüssel beginnen mit sk_ und werden auf der Kontoseite nach dem Google-Login generiert.
Die Basis-URL ist https://rankupedia.com/api.php. Authentifizieren Sie sich mit key=sk_... in der Query-String oder mit dem Header Authorization: Bearer sk_..., je nachdem, was Ihr Client bevorzugt. Vier Aktionen benötigen keinen Schlüssel: domain, overview, stats und suggest.
Ein DR-Checker-Tool ist nur dann nützlich, wenn Sie seine Ausgabe parsen können. Das folgende Beispiel ist der kleinste nützliche Fall, und die Abschnitte danach behandeln die Teile, bei denen die Leute Fehler machen.
Ein Aufruf, annotiert
Die kostenlose Aktion overview. Ersetzen Sie die Domain durch Ihre eigene.
curl "https://rankupedia.com/api.php?action=overview&q=nytimes.com"
# authenticated listing, 100 rows per page:
curl -H "Authorization: Bearer sk_live_..." \
"https://rankupedia.com/api.php?action=refdomains&q=nytimes.com&per=100&page=1&order=desc"Anatomie einer Anfrage
Wählen Sie die Aktion
Der Wert action wählt den Vorgang und den Preis aus. Kostenlose Aktionen sind in der Kostentabelle aufgeführt.
Nennen Sie das Ziel
Der Wert q ist eine nackte Domain wie nytimes.com, ohne Schema oder Pfad.
Fügen Sie Anmeldeinformationen hinzu, wenn die Aktion kostenpflichtig ist
Entweder key im Query-String oder der Bearer-Header. Header halten Schlüssel aus Server-Logs und Browser-Verlauf.
Seite und Sortierung
page und per schneiden die Ergebnisse zu und sort mit order ordnet sie an. Die Paginierung endet bei 50.000 Zeilen.
Vorbereitung der Domain-Liste vor dem ersten Aufruf
Viele seltsame Ergebnisse beginnen mit der Eingabe statt mit dem Server. Bereinigen Sie die Liste einmal und senden Sie sie dann.
Entfernen Sie alles, was keine nackte Domain ist. Eine eingefügte Adresse mit einem Pfad fügt Zeichen hinzu, die der q-Wert nicht erwartet, also entfernen Sie das Schema, den Pfad und den abschließenden Slash.
Entfernen Sie das Schema und den Pfad
Wandeln Sie https://shop.example.org/blog/ in shop.example.org um, bevor Sie den Aufruf tätigen. Der q-Wert erwartet eine nackte Domain, daher wird der Pfad hier entfernt, anstatt ihn zu senden.
Tabellenkalkulationen verbergen diese Details in einer Zelle. Ein schneller Filter für Schrägstriche und Doppelpunkte fängt die meisten davon ab.
Kleinbuchstaben verwenden und Duplikate entfernen
Domain-Namen sind nicht case-sensitiv, also bezeichnen Example.COM und example.com ein einzelnes Ziel. Das Senden beider Varianten verbraucht zweimal Credits für eine einzige Antwort.
Entfernen Sie Duplikate, bevor Sie die Aufrufe zählen. Eine Liste mit 2.100 Namen und 300 Duplikaten benötigt zwei bulk_dr-Aufrufe im Rohformat, aber nach der Deduplizierung passen die 1.800 eindeutigen Namen in einen einzigen Aufruf.
Entscheiden Sie zwischen Root-Domain und Subdomain
Eine Subdomain wie blog.example.org ist in Ihrer Liste ein eigener Name. Entscheiden Sie, worum es in Ihrer Frage geht, bevor Sie etwas senden.
Wenn die Frage die gesamte Website betrifft, senden Sie den Root-Namen. Wenn sie eine einzelne Subdomain betrifft, testen Sie genau diesen Namen und lesen Sie die Antwort als zu ihr gehörig.
Notieren Sie die Entscheidung in den Notizen des Jobs, damit der nächste Lauf, vielleicht von einer anderen Person, dieselbe Regel anwendet.
Abfrageparameter
| Parameter | Bedeutung | Hinweise |
|---|---|---|
| action | Welcher Vorgang ausgeführt werden soll | Erforderlich; siehe die Kostentabelle |
| q | Ziel-Domain | Beispiel: nytimes.com |
| key | API-Schlüssel | Oder verwenden Sie den Bearer-Header |
| page | Seitennummer der Ergebnisse | Tiefe Paginierung ist auf 50.000 beschränkt |
| per | Zeilen pro Seite | Akzeptiert Werte von 10 bis 5000; ein Aufruf ist eine Abrechnung, unabhängig von der Zeilenzahl |
| sort | Spalte, nach der sortiert werden soll | Verfügbare Spalten hängen von der Aktion ab |
| order | asc oder desc | Zusammen mit sort verwenden |
| domains | Liste für bulk_dr | Maximal 2.000 Domains pro Aufruf, via GET oder POST-Body |

Durch lange Auflistungen paginieren
Auflistungsaktionen geben Zeilen in Seiten zurück. Zwei Parameter steuern den Ausschnitt: page wählt den Ausschnitt aus, und per legt fest, wie viele Zeilen er enthält. Per akzeptiert Werte von 10 bis 5000.
Wählen Sie zuerst die Seitengröße. Ein größeres per reduziert die Anzahl der Aufrufe, und die Abrechnung zählt Aufrufe, nicht Zeilen.
Sortieren Sie, bevor Sie paginieren
Sort und order entscheiden, welche Zeilen auf Seite eins landen. Legen Sie beides bei jedem Aufruf in einer Reihe fest, damit jede Seite aus derselben Reihenfolge stammt.
Verwenden Sie desc bei einer Metrik-Spalte, wenn Sie die stärksten Zeilen zuerst sehen möchten, und asc, wenn Sie nach den schwächsten suchen. Die verfügbaren Spaltennamen hängen von der Aktion ab.
Bestätigen Sie die Reihenfolge mit einem kleinen Test von zwei Seiten, bevor Sie einer langen Laufzeit vertrauen.
Stoppen Sie bei der 50.000-Zeilen-Grenze
Tiefe Paginierung endet bei 50.000 Zeilen. Danach gibt der Aufruf nichts Neues zurück, also verschwendet eine Schleife, die weiter paginiert, Credits.
Verengen Sie die Frage oder teilen Sie den Job in kleinere Läufe auf. Eine zweite Abfrage mit einem anderen Ziel ist meist sauberer als eine tiefere Paginierung.
Eine Begrenzung der Tiefe ist eine Eigenschaft der Auflistung, also gilt sie für jeden Client, der sie aufruft.
Beenden Sie die Schleife bei einer kurzen Seite
Stoppen Sie, wenn eine Seite weniger Zeilen zurückgibt als per. Das ist das übliche Zeichen dafür, dass die Auflistung erschöpft ist.
Kombinieren Sie diesen Test mit der Saldo-Prüfung im Fehlerbehebungseintrag, damit die Schleife auf der letzten Seite oder bei einem niedrigen Saldo endet, je nachdem, was zuerst eintritt.
Felder, die in jeder Antwort vorhanden sind
ok
Ein Boolean. True bedeutet, dass der Aufruf abgeschlossen wurde. False bedeutet, dass er nicht abgeschlossen wurde, und der HTTP-Status sagt Ihnen warum.
_credits
Erscheint bei authentifzierten Aufrufen. Es meldet die Kosten dieses Aufrufs und Ihren verbleibenden Saldo in Credits, was es Ihnen ermöglicht, eine Schleife zu stoppen, bevor der Saldo aufgebraucht ist.
Die Zeilenfeldnamen für jede Aktion sind in einer Live-Antwort sichtbar. Wir reproduzieren sie hier nicht, damit dieser Eintrag nicht vom Dienst abweichen kann.
Einen Aufruf testen, bevor Sie eine Schleife schreiben
Wählen Sie eine bekannte Domain
Wählen Sie eine Seite, deren Profil Sie anhand ihrer eigenen Seiten beurteilen können. Eine Domain, die Sie kennen, macht eine seltsame Zahl leicht erkennbar.
Senden Sie einen kostenlosen Aufruf
Führen Sie overview oder domain ohne Schlüssel aus. Die Antwort zeigt die echte Struktur des JSON, was zuverlässiger ist als jede Beschreibung, einschließlich dieser hier.
Senden Sie einen kostenpflichtigen Aufruf mit der kleinsten Seite
Verwenden Sie per=10 bei einer Auflistungsaktion. Sie sehen die Zeilenfelder und den _credits-Wert, bevor Sie skalieren.
Lesen Sie _credits, dann skalieren
Multiplizieren Sie die Kosten eines Aufrufs mit der Anzahl der Aufrufe in Ihrem Plan. Wenn die Summe größer als der Saldo ist, reduzieren Sie den Plan, bevor die Schleife beginnt.
Vor der Bereitstellung eines Clients
- Prüfen Sie ok, bevor Sie andere Felder lesen
- Protokollieren Sie _credits bei jedem Aufruf
- Betrachten Sie die Daten als monatlichen Snapshot
- Behandeln Sie 401 und 402 separat, siehe den Fehlerbehebungseintrag
- Halten Sie den Schlüssel aus dem Frontend-Code

Hinweise zum Batchen
Die Aktion bulk_dr akzeptiert bis zu 2.000 Domains pro Aufruf. Senden Sie sie als domains-Query-Wert oder als POST-Body, wenn die Liste zu lang für eine URL ist.
compare nimmt bis zu 20 Domains und intersect nimmt 2 bis 10. Intersect beantwortet eine Frage: Welche Sites verlinken auf alle von Ihnen genannten Domains.
Da die Abrechnung pro Aufruf erfolgt, sind größere Batches pro Zeile immer günstiger. Sie schlagen jedoch als eine Einheit fehl. Chunken Sie nach einer Größe, die Sie wiederholen können.
Lange Listen können in einem POST-Body gesendet werden. Lesen Sie ok vor allem anderen in der Antwort, da ein abgelehnter Batch keine Zeilen enthält, die Sie verwenden können.
Das JSON ohne Annahmen lesen
Parser brechen bei Feldern, die eine Antwort auslässt. Code, der jedes Schlüssel auf jeder Zeile erwartet, ist fragil, und eine kurze Zeile kann einen ganzen Job stoppen.
Behandeln Sie fehlende Felder als normal
Zeilenfelder hängen von der Aktion ab, also kann ein Feld in einer Auflistung vorhanden sein, in einer anderen jedoch fehlen. Geben Sie jedem Feld einen Standardwert und fahren Sie fort.
Protokollieren Sie, welches Feld fehlte, nicht nur, dass etwas fehlgeschlagen ist. Dieses Protokoll zeigt, ob sich das Schema oder Ihr eigener Code geändert hat.
Rohantworten für eine Stichprobe speichern
Speichern Sie das Roh-JSON der ersten wenigen Aufrufe in jedem neuen Job. Wenn eine Zahl später falsch aussieht, klärt der gespeicherte Text die Frage schneller als das Gedächtnis.
Speichern Sie die Stichprobe mit ihrem Datum und Aktionsnamen. Ein monatlicher Refresh bedeutet, dass derselbe Aufruf nächsten Monat andere Zeilen zurückgeben kann.
Aktionen nach Familie
| Familie | Aktionen | Typische Verwendung |
|---|---|---|
| Kostenlos | domain, overview, stats, suggest | Schnelle Abfragen und Autovervollständigung |
| Bewertung | bulk_dr, compare, dr_distribution | Listen- und Peer-Sets filtern |
| Auflistung | refdomains, backlinks, anchors, toppages, anchor_cloud | Audit einer einzelnen Site |
| Suche | search, keyword, intersect | Finden, wer mit einem bestimmten Anchor oder zu mehreren Konkurrenten verlinkt |
Zeilenfeldnamen unterscheiden sich je nach Aktion und sind hier nicht aufgeführt. Rufen Sie den Endpunkt mit einer kostenlosen Aktion auf einer bekannten Domain auf und lesen Sie das JSON, das die einzige autoritative Quelle ist.
Parameterfragen, die Entwickler stellen
Vier Parameterfragen decken die meiste Zeit der ersten Woche mit der API ab.
Brauche ich für jeden Aufruf einen Schlüssel?
Nein. Die Aktionen domain, overview, stats und suggest benötigen keinen Schlüssel. Kostenpflichtige Aktionen benötigen einen, entweder als key-Parameter oder als Bearer-Header.
Kann ich den Schlüssel in der URL senden?
Ja, der key-Parameter funktioniert im Query-String. Der Header hält den Schlüssel aus der Adresse selbst, was viele Teams für Logs und freigegebene Links bevorzugen.
Was ist, wenn ich per über 5000 haben möchte?
Der dokumentierte Bereich ist 10 bis 5000. Werte außerhalb dieses Bereichs fallen außerhalb dessen, was dieser Eintrag beschreibt, also halten Sie den Wert innerhalb des Bereichs und paginieren Sie für mehr.
Spielt die Groß- und Kleinschreibung in q eine Rolle?
Domain-Namen sind nicht case-sensitiv, also machen Sie den Wert kleinbuchstabig, bevor Sie ihn senden. Eine Schreibweise macht Ergebnisse leichter über Läufe hinweg vergleichbar.