Sari la conținut
Rankupedia
RankupediaÎnregistrare

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.

Pod de piatră reprezentând URL-ul de bază API cu un muncitor care ține o cheie de fier pentru autentificare

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.

bash
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

01

Alegeți acțiunea

Valoarea action selectează operația și prețul. Acțiunile gratuite sunt listate în tabelul de costuri.

02

Denumiți ținta

Valoarea q este un domeniu simplu, precum nytimes.com, fără un protocol sau un cale.

03

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.

04

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

ParametruSemnificațieNote
actionCe operație să rulezeObligatoriu; consultați tabelul de costuri
qDomeniul țintăExemplu: nytimes.com
keyCheie APISau utilizați antetul Bearer
pageNumărul paginii de rezultatePaginarea profundă este limitată la 50.000
perRânduri pe paginăAcceptă valori între 10 și 5000; un singur apel este o singură taxă, indiferent de numărul de rânduri
sortColoana după care să se sortezeColoanele disponibile depind de acțiune
orderasc sau descUtilizați împreună cu sort
domainsListă pentru bulk_drMaxim 2.000 de domenii de fiecare dată, prin GET sau prin body POST
Muncitor care folosește o riglă mare pentru a măsura rânduri de cutii de lemn pe o bandă rulantă

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.

Ce nu documentăm aici

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ă

01

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.

02

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.

03

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.

04

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
Grădinar care scutură o sită pentru a filtra pietrele comune din grămezi de pietre

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

FamilieAcțiuniUtilizare tipică
Gratuitdomain, overview, stats, suggestCăutări rapide și autocomplete
Scorarebulk_dr, compare, dr_distributionFiltrarea listelor și seturi de peer-uri
Listarerefdomains, backlinks, anchors, toppages, anchor_cloudAuditarea unui singur site
Căutaresearch, keyword, intersectGăsirea celor care linkuiesc cu un anchor dat sau către mai mulți rivali
Limitele acestei intrări

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.