Limiti di consumo
L'API di Ahrefs è disponibile sui piani a pagamento idonei. In tutti gli altri piani, avrai comunque accesso a un insieme limitato di query di test gratuite.
Tutte le richieste, ad eccezione delle query di test gratuite e degli endpoint Rank Tracker, Management, Public e alcuni altri, consumano unità API. Se un endpoint è gratuito, vedrai una nota in merito nella sua pagina di documentazione; altrimenti consuma unità.
Il consumo di unità per richiesta viene calcolato come segue:
max(base_cost, per_row_cost * num_rows)
Il base_cost di ogni richiesta è di 50 unità. Il per_row_cost è la somma dei costi di ogni campo univoco che compare nel risultato restituito oppure nei parametri where o order_by. Se un campo compare in più parametri, viene conteggiato una sola volta.
Il costo predefinito di un campo è 1 unità. Tuttavia, alcune metriche sono più costose e possono consumare 5 o 10 unità. Tali eccezioni sono indicate nella descrizione dei campi di ogni endpoint. Le richieste servite dalla cache non consumano unità.
Ogni richiesta API indica il proprio comportamento di consumo delle unità tramite le seguenti intestazioni di risposta:
x-api-rowsIl numero di righe restituite.x-api-units-cost-rowIl costo in unità per riga.x-api-units-cost-totalIl totale di unità che la richiesta dovrebbe consumare in base al numero di righe e al costo per riga.x-api-units-cost-total-actualIl totale di unità che la richiesta ha effettivamente consumato.x-api-cacheIndica se la richiesta è stata servita dalla cache. Uno tra:hitmissno_cache
info
Un buon modo per stimare il costo di una richiesta è eseguirla con un target gratuito e controllare il valore del campo x-api-units-cost-total. Per visualizzare gli header della risposta quando usi il comando curl, puoi usare l'opzione -v o --verbose.
Esempio 1
Considera una richiesta all'endpoint Site Explorer - Domain Rating (/site-explorer/domain-rating).
Non accetta parametri select, where o order_by e restituisce una singola riga contenente due campi, domain_rating e ahrefs_rank, con un costo per riga di 2 unità.
Il costo totale delle righe (costo per riga moltiplicato per il numero di righe) è inferiore al costo base. Pertanto, questa richiesta costa l'importo base di 50 unità.
Esempio 2
Considera una richiesta più complessa all'endpoint Site Explorer - Backlinks (/site-explorer/all-backlinks), che consente di configurare i parametri select, where e order_by.
Supponiamo che questa richiesta abbia due campi selezionati:
select=title,traffic
due campi nell'espressione di filtro:
where={"and":[{"field":"traffic","is":["gt",1000]},{"field":"refdomains_source","is":["gt",10]}]}
e un campo di ordinamento:
order_by=traffic:desc
Tra questi parametri ci sono tre campi univoci, di cui title e refdomains_source costano 1 unità ciascuno, mentre traffic costa 10 unità. Quindi, il costo per riga è 1 + 1 + 10 = 12 unità.
Supponiamo che la richiesta restituisca 500 righe. In tal caso, il costo totale delle righe (12 * 500 = 6000 unità) supera il costo base. Pertanto, il costo di questa richiesta è 6000 unità.