Intrare: API
API-ul instrumentului de verificare DR: fiecare parametru și câmp, explicat
Referință pentru forma solicitării și pentru cele două câmpuri pe care le conține fiecare răspuns autentificat. Rândurile specifice acțiunii variază, așa că testați o singură apelare înainte de a analiza datele.

Serviciul este un API REST care returnează JSON. CORS este deschis. O pagină browser poate apela API-ul direct. Cheile încep cu sk_ și se obțin din pagina de cont după autentificarea cu Google.
URL-ul de bază este https://rankupedia.com/api.php. Autentificați-vă cu key=sk_... în șirul de interogare sau cu antetul Authorization: Bearer sk_..., în funcție de preferințele clientului dvs. Patru acțiuni nu necesită autentificare: domain, overview, stats și suggest.
Un instrument de verificare DR este util doar odată ce puteți analiza output-ul său. Exemplul de mai jos este cel mai mic caz util, iar secțiunile următoare acoperă părțile în care oamenii greșesc.
Un apel, annotat
Acțiunea gratuită overview. Înlocuiți domeniul cu al dvs.
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"Anatomia unei solicitări
Alegeți acțiunea
Valoarea action selectează operația și prețul. Acțiunile gratuite sunt listate în tabelul de costuri.
Denumiți ținta
Valoarea q este un domeniu simplu, precum nytimes.com, fără un protocol sau un cale.
Adăugați acreditările dacă acțiunea este plătită
Fie key în șirul de interogare, fie antetul Bearer. Anteturile țin cheile departe de jurnalele serverului și de istoricul browserului.
Paginare și sortare
page și per taie rezultatele, iar sort cu order le aranjează. Paginarea se oprește la 50.000 de rânduri.
Pregătirea listei de domenii înainte de primul apel
Multe rezultate ciudate încep cu input-ul, nu cu serverul. Curățați lista o dată, apoi trimiteți-o.
Eliminați orice lucru care nu este un domeniu simplu. O adresă lipită cu un cale adaugă caractere pe care valoarea q nu le așteaptă, așa că eliminați protocolul, calea și orice slash final.
Eliminați protocolul și calea
Transformați https://shop.example.org/blog/ în shop.example.org înainte de apel. Valoarea q acceptă un domeniu simplu, așa că calea este eliminată aici, nu trimisă.
Foaiele de calcul ascund aceste detalii în interiorul unei celule. Un filtru rapid pentru slash-uri și două puncte prinde majoritatea lor.
Scrieți numele cu litere mici și eliminați duplicatele
Numele de domenii nu sunt sensibile la majuscule, așa că Example.COM și example.com indică o singură țintă. Trimiterea ambelor consumă credite de două ori pentru un singur răspuns.
Eliminați duplicatele înainte de a număra apelurile. O listă de 2.100 de nume cu 300 de duplicate necesită două apeluri bulk_dr brute, dar odată ce este deduplicată, cele 1.800 de nume unice se încadrează într-unul singur.
Decideți între domeniul root și un subdomeniu
Un subdomeniu precum blog.example.org este un nume propriu în lista dvs. Decideți despre care anume este întrebarea înainte de a trimite orice.
Dacă întrebarea acoperă întregul site, trimiteți numele root. Dacă acoperă un singur subdomeniu, testați exact acel nume și citiți răspunsul ca aparținând exclusiv acelui subdomeniu.
Scrieți decizia în notele jobului, astfel încât următorul rul, poate de către o altă persoană, să aplice aceeași regulă.
Parametri de interogare
| Parametru | Semnificație | Note |
|---|---|---|
| action | Ce operație să ruleze | Obligatoriu; consultați tabelul de costuri |
| q | Domeniul țintă | Exemplu: nytimes.com |
| key | Cheie API | Sau utilizați antetul Bearer |
| page | Numărul paginii de rezultate | Paginarea profundă este limitată la 50.000 |
| per | Rânduri pe pagină | Acceptă valori între 10 și 5000; un singur apel este o singură taxă, indiferent de numărul de rânduri |
| sort | Coloana după care să se sorteze | Coloanele disponibile depind de acțiune |
| order | asc sau desc | Utilizați împreună cu sort |
| domains | Listă pentru bulk_dr | Maxim 2.000 de domenii de fiecare dată, prin GET sau prin body POST |

Navigarea printr-o listă lungă
Acțiunile de listare returnează rânduri în pagini. Doi parametri controlează segmentul: page alege care segment, iar per stabilește câte rânduri conține. Per acceptă valori între 10 și 5000.
Alegeți mai întâi dimensiunea paginii. Un per mai mare reduce numărul de apeluri, iar facturarea numără apeluri, nu rânduri.
Sortați înainte de a pagina
Sort și order decid care rânduri ajung pe prima pagină. Setează ambele la fiecare apel într-o serie, astfel încât fiecare pagină să provină din aceeași ordonare.
Folosește desc pe o coloană de metrică când vrei rândurile mai puternice primele, și asc când cauți cele mai slabe. Numele coloanelor disponibile depind de acțiune.
Confirmă ordinea cu un test mic de două pagini înainte de a avea încredere într-un rul lung.
Oprește-te la limita de 50.000 de rânduri
Paginarea profundă se oprește la 50.000 de rânduri. Dincolo de acest punct, apelul nu returnează nimic nou, așa că un buclă care continuă să paginneze este risipire de credite.
Îngustează întrebarea sau împarte jobul în rulări mai mici. O a doua interogare cu o țintă diferită este de obicei mai curată decât o paginare mai profundă.
O limită de adâncime este o proprietate a listării, așa că se aplică fiecărui client care o apelează.
Încheie bucla pe o pagină scurtă
Oprește-te când o pagină returnează mai puține rânduri decât per. Acesta este de obicei semnul că listarea s-a epuizat.
Combină acest test cu verificarea soldului din intrarea de depanare, astfel încât bucla să se încheie pe ultima pagină sau pe un sold scăzut, oricare vine primul.
Câmpuri prezente în fiecare răspuns
ok
Un boolean. True înseamnă că apelul s-a completat. False înseamnă că nu s-a completat, iar statusul HTTP îți spune de ce.
_credits
Apare la apelurile autentificate. Raportează costul acestui apel și soldul tău rămas în credite, ceea ce îți permite să oprești o buclă înainte ca soldul să se epuizeze.
Numele câmpurilor la nivel de rând pentru fiecare acțiune sunt vizibile într-un răspuns live. Nu le reproducem în această intrare pentru a nu se deforma față de serviciu.
Testarea unui apel înainte de a scrie o buclă
Alege un domeniu pe care îl cunoști
Alege un site al cărui profil îl poți evalua din propriile pagini. Un domeniu pe care îl cunoști face ca un număr ciudat să fie ușor de remarcat.
Trimite un apel gratuit
Rulează overview sau domain fără cheie. Răspunsul arată forma reală a JSON-ului, care este mai fiabilă decât orice descriere, inclusiv aceasta.
Trimite un apel plătit cu pagina cea mai mică
Folosește per=10 pe o acțiune de listare. Vei vedea câmpurile de rând și valoarea _credits înainte de a scala.
Citește _credits, apoi scalează
Înmulțește costul unui apel cu numărul de apeluri din planul tău. Dacă totalul este mai mare decât soldul, micșorează planul înainte ca bucla să înceapă.
Înainte de a deploy-ui un client
- Verifică ok înainte de a citi orice alt câmp
- Loghează _credits la fiecare apel
- Tratează datele ca un snapshot lunar
- Gestionează 401 și 402 separat, vezi intrarea de depanare
- Ține cheia departe de codul front-end

Note despre batch-uri
Acțiunea bulk_dr acceptă până la 2.000 de domenii per apel. Trimite-le ca o valoare de query domains, sau ca un body POST când lista este prea lungă pentru un URL.
compare acceptă până la 20 de domenii, iar intersect acceptă între 2 și 10. Intersect răspunde la o singură întrebare: care site-uri linkuiesc către toate domeniile pe care le numești.
Deoarece facturarea este per apel, batch-urile mai mari sunt întotdeauna mai ieftine pe rând. De asemenea, eșuează ca o singură unitate. Chunk-uiește pe o dimensiune pe care o poți retry-ui.
Listele lungi pot fi într-un body POST. Citește ok înainte de orice altceva în răspuns, deoarece un batch respins nu are rânduri pe care să le poți folosi.
Citirea JSON-ului fără presupuneri
Parsers-ul se strică pe câmpurile pe care un răspuns le omite. Codul care se așteaptă la fiecare cheie pe fiecare rând este fragil, iar un singur rând scurt poate opri un întreg job.
Tratează câmpurile lipsă ca pe ceva normal
Câmpurile de rând depind de acțiune, așa că un câmp prezent într-o listare poate fi absent din alta. Dă fiecărui câmp o valoare default și continuă.
Loghează care câmp a lipsit, nu doar că ceva a eșuat. Acest log arată dacă schema sau codul tău propriu s-a schimbat.
Păstrează răspunsurile brute pentru un eșantion
Salvează JSON-ul brut al primelor câteva apeluri în fiecare job nou. Când un număr pare greșit ulterior, textul salvat rezolvă întrebarea mai rapid decât memoria.
Stochează eșantionul cu data și numele acțiunii. Un reîmprospătare lunară înseamnă că același apel poate returna rânduri diferite luna viitoare.
Acțiuni pe familii
| Familie | Acțiuni | Utilizare tipică |
|---|---|---|
| Gratuit | domain, overview, stats, suggest | Căutări rapide și autocomplete |
| Scorare | bulk_dr, compare, dr_distribution | Filtrarea listelor și seturi de peer-uri |
| Listare | refdomains, backlinks, anchors, toppages, anchor_cloud | Auditarea unui singur site |
| Căutare | search, keyword, intersect | Găsirea celor care linkuiesc cu un anchor dat sau către mai mulți rivali |
Numele câmpurilor la nivel de rând diferă în funcție de acțiune și nu sunt listate aici. Apelează endpoint-ul cu o acțiune gratuită pe un domeniu pe care îl cunoști și citește JSON-ul, care este singura sursă autoritativă.
Întrebări despre parametri pe care le pun developerii
Patru întrebări despre parametri acoperă majoritatea primei săptămâni cu API-ul.
Am nevoie de cheie pentru fiecare apel?
Nu. Acțiunile domain, overview, stats și suggest nu necesită cheie. Acțiunile plătite necesită una, trimisă fie ca parametrul key, fie ca antet Bearer.
Pot trimite cheia în URL?
Da, parametrul key funcționează în șirul de interogare. Antetul ține cheia departe de adresa în sine, ceea ce multe echipe preferă pentru jurnale și link-uri partajate.
Ce fac dacă vreau per peste 5000?
Intervalul documentat este 10 până la 5000. Valorile în afara lui cad în afara a ceea ce această intrare descrie, așa că ține valoarea în interiorul intervalului și pagina pentru mai multe.
Contează majusculele și minusculele în q?
Numele de domenii nu sunt sensibile la majuscule, așa că scrie valoarea cu litere mici înainte de a o trimite. O singură scriere face rezultatele mai ușor de comparat între rulări.