Ingang: API
DR-checker API: elke parameter en elk veld uitgelegd
Referentie voor de vorm van het verzoek en de twee velden die elke geauthenticeerde respons bevat. Actiespecifieke rijen verschillen, dus test één call voordat je de respons verwerkt.

De service is een REST API die JSON retourneert. CORS is open. Een browserpagina kan deze direct aanroepen. Sleutels beginnen met sk_ en zijn te vinden op de accountpagina na inloggen via Google.
De basis-URL is https://rankupedia.com/api.php. Authenticeer met key=sk_... in de querystring of met de header Authorization: Bearer sk_..., afhankelijk van wat je client voorkeur heeft. Vier acties hebben geen authenticatie nodig: domain, overview, stats en suggest.
Een DR-checker is alleen nuttig als je de output kunt verwerken. Het onderstaande voorbeeld is het kleinste bruikbare geval, en de secties daarna behandelen de onderdelen die mensen vaak verkeerd begrijpen.
Eén call, geannoteerd
De gratis overview-actie. Vervang het domein door dat van jezelf.
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 van een verzoek
Kies de actie
De waarde van action bepaalt de bewerking en de prijs. Gratis acties staan in de kostenoverzicht.
Noem het doel
De waarde van q is een plat domein, zoals nytimes.com, zonder protocol of pad.
Voeg referenties toe als de actie betaald is
Ofwel key in de querystring of de Bearer-header. Headers houden sleutels buiten serverlogs en browsergeschiedenis.
Paginatie en sortering
page en per snijden de resultaten af en sort met order sorteert ze. Paginatie stopt bij 50.000 rijen.
De domeinlijst voorbereiden voor de eerste call
Veel vreemde resultaten beginnen bij de invoer in plaats van de server. Maak de lijst één keer schoon en stuur hem daarna.
Verwijder alles wat geen plat domein is. Een geplakt adres met een pad voegt tekens toe die de q-waarde niet verwacht, dus verwijder het protocol, het pad en een eventuele trailing slash.
Verwijder het protocol en het pad
Zet https://shop.example.org/blog/ om in shop.example.org voordat je de call doet. De q-waarde accepteert een plat domein, dus het pad wordt hier verwijderd in plaats van verzonden.
Spreadsheets verbergen deze details in een cel. Een snelle filter op slashes en dubbele punten vangt er de meeste.
Maak de namen lowercase en verwijder dubbele entries
Domeinnamen zijn niet hoofdlettergevoelig, dus Example.COM en example.com verwijzen naar één doel. Het verzenden van beide kost credits twee keer voor één antwoord.
Verwijder duplicaten voordat je het aantal calls telt. Een lijst van 2.100 namen met 300 duplicaten vereist twee bulk_dr-calls in ruwe vorm, maar na deduplicatie passen de 1.800 unieke namen in één call.
Kies tussen het rootdomein en een subdomein
Een subdomein zoals blog.example.org is een eigen naam in je lijst. Beslis over welk subdomein je vraag gaat voordat je iets verstuurt.
Als de vraag de hele site dekt, stuur dan de root-naam. Als het één subdomein betreft, test die exacte naam en lees het antwoord alsof het alleen voor dat subdomein geldt.
Schrijf de beslissing in de notities van de taak, zodat de volgende run, misschien door een andere persoon, dezelfde regel toepast.
Queryparameters
| Parameter | Betekenis | Opmerkingen |
|---|---|---|
| action | Welke bewerking moet worden uitgevoerd | Verplicht; zie het kostenoverzicht |
| q | Doeldomein | Voorbeeld: nytimes.com |
| key | API-sleutel | Of gebruik de Bearer-header |
| page | Paginanummer van de resultaten | Diepe paginatie is beperkt tot 50.000 |
| per | Rijen per pagina | Accepteert 10 tot 5000; één call is één charge, bij elk aantal rijen |
| sort | Kolom om op te sorteren | Beschikbare kolommen zijn afhankelijk van de actie |
| order | asc of desc | Gebruik samen met sort |
| domains | Lijst voor bulk_dr | Maximaal 2.000 domeinen per keer, via GET of een POST-body |

Paginatie door een lange lijst
Lijstacties retourneren rijen in pagina's. Twee parameters bepalen de slice: page kiest welke slice, en per stelt in hoeveel rijen die bevat. Per accepteert waarden van 10 tot 5000.
Kies eerst de paginagrootte. Een grotere per vermindert het aantal calls, en facturatie telt calls in plaats van rijen.
Sorteer voordat je pagineert
Sort en order bepalen welke rijen op pagina één landen. Stel beide in bij elke call in een serie, zodat elke pagina uit dezelfde volgorde komt.
Gebruik desc op een metriek-kolom als je de sterkste rijen eerst wilt, en asc als je op zoek bent naar de zwakste. De beschikbare kolomnamen zijn afhankelijk van de actie.
Bevestig de volgorde met een kleine test van twee pagina's voordat je een lange run vertrouwt.
Stop bij de limiet van 50.000 rijen
Diepe paginatie stopt bij 50.000 rijen. Daarna retourneert de call niets nieuws, dus een lus die blijft pagineren verspillt credits.
Verfijn de vraag of splitst de taak in kleinere runs. Een tweede query met een ander doel is meestal schoner dan een diepere pagina.
Een limiet op de diepte is een eigenschap van de lijst, dus deze geldt voor elke client die deze aanroept.
Eindig de lus op een korte pagina
Stop wanneer een pagina minder rijen retourneert dan per. Dat is het gebruikelijke teken dat de lijst op is.
Combineer die test met de balanscontrole in de troubleshooting-entry, zodat de lus eindigt op de laatste pagina of bij een laag saldo, afhankelijk van wat eerst komt.
Velden aanwezig in elke respons
ok
Een boolean. True betekent dat de call is voltooid. False betekent dat dit niet zo is, en de HTTP-statuscode vertelt je waarom.
_credits
Verschijnt bij geauthenticeerde calls. Het rapporteert de kosten van deze call en je resterende saldo in credits, waardoor je een lus kunt stoppen voordat het saldo op is.
De veldnamen op rijniveau voor elke actie zijn zichtbaar in een live respons. We reproduceren ze niet in deze entry zodat deze niet kan afwijken van de service.
Een call testen voordat je een lus schrijft
Kies een domein dat je kent
Kies een site waarvan je het profiel kunt beoordelen via de eigen pagina's. Een domein dat je kent maakt een vreemd getal makkelijk opmerken.
Stuur één gratis call
Voer overview of domain uit zonder key. De respons toont de echte vorm van de JSON, wat betrouwbaarder is dan elke beschrijving, inclusief deze.
Stuur één betaalde call met de kleinste pagina
Gebruik per=10 op een listing-actie. Je ziet de rijvelden en de _credits-waarde voordat je opschaleert.
Lees _credits, schaal daarna op
Vermenigvuldig de kosten van één call met het aantal calls in je plan. Als het totaal hoger is dan het saldo, verklein dan het plan voordat de lus begint.
Voordat je een client implementeert
- Controleer ok voordat je andere velden leest
- Log _credits bij elke call
- Behandel de data als een maandelijkse snapshot
- Behandel 401 en 402 apart, zie de troubleshooting-entry
- Houd de sleutel buiten front-end code

Opmerkingen over batchen
De actie bulk_dr accepteert maximaal 2.000 domeinen per call. Stuur ze als een domains-querywaarde, of als een POST-body wanneer de lijst te lang is voor een URL.
compare accepteert maximaal 20 domeinen en intersect accepteert 2 tot 10. Intersect beantwoordt één vraag: welke sites linken naar alle domeinen die je noemt.
Omdat facturatie per call is, zijn grotere batches altijd goedkoper per rij. Ze falen ook als één eenheid. Chunk op een grootte die je kunt retryen.
Lange lijsten kunnen in een POST-body. Lees ok voordat je iets anders in de respons leest, omdat een afgewezen batch geen rijen bevat die je kunt gebruiken.
De JSON lezen zonder aannames
Parsers breken op velden die een respons weglaat. Code die verwacht dat elke key op elke rij aanwezig is, is fragiel, en één korte rij kan een hele taak stoppen.
Behandel ontbrekende velden als normaal
Rijvelden zijn afhankelijk van de actie, dus een veld aanwezig in één listing kan afwezig zijn in een andere. Geef elk veld een standaardwaarde en ga door.
Log welk veld ontbrak, niet alleen dat er iets misging. Die log laat zien of het schema of je eigen code is gewijzigd.
Houd ruwe responsen voor een sample
Sla de ruwe JSON van de eerste paar calls in elke nieuwe taak op. Wanneer een getal later verkeerd lijkt, regelt de opgeslagen tekst de vraag sneller dan geheugen.
Sla het sample op met de datum en actienaam. Een maandelijkse refresh betekent dat dezelfde call volgende maand andere rijen kan retourneren.
Acties per familie
| Familie | Acties | Typisch gebruik |
|---|---|---|
| Gratis | domain, overview, stats, suggest | Snelle opzoekingen en autocomplete |
| Scoring | bulk_dr, compare, dr_distribution | Lijsten screenen en peer sets |
| Listing | refdomains, backlinks, anchors, toppages, anchor_cloud | Eén site auditen |
| Zoeken | search, keyword, intersect | Vinden wie linkt met een bepaalde anchor of naar meerdere concurrenten |
Veldnamen op rijniveau verschillen per actie en worden hier niet vermeld. Roep het endpoint aan met een gratis actie op een domein dat je kent en lees de JSON, dat is de enige gezaghebbende bron.
Parameter-vragen die ontwikkelaars stellen
Vier parameter-vragen dekken de meeste van de eerste week met de API.
Heb ik voor elke call een key nodig?
Nee. De acties domain, overview, stats en suggest hebben geen key nodig. Betaalde acties vereisen er een, verzonden als de key-parameter of als een Bearer-header.
Kan ik de key in de URL sturen?
Ja, de key-parameter werkt in de querystring. De header houdt de sleutel buiten de URL zelf, wat veel teams liever hebben voor logs en gedeelde links.
Wat als ik per boven de 5000 wil?
Het gedocumenteerde bereik is 10 tot 5000. Waarden daarbuiten vallen buiten wat deze entry beschrijft, dus houd de waarde binnen het bereik en pagineer voor meer.
Maakt hoofdlettergebruik uit in q?
Domeinnamen zijn niet hoofdlettergevoelig, dus maak de waarde lowercase voordat je hem verstuurt. Eén spelling maakt resultaten makkelijker vergelijkbaar over runs.