Zużycie jednostek
Ahrefs API jest dostępne w wybranych planach płatnych. We wszystkich pozostałych planach nadal będziesz mieć dostęp do ograniczonego zestawu bezpłatnych zapytań testowych.
Wszystkie żądania poza bezpłatnymi zapytaniami testowymi oraz endpointami Rank Tracker, Management, Public i niektórymi innymi zużywają jednostki API. Jeśli endpoint jest bezpłatny, zobaczysz o tym informację na jego stronie dokumentacji; w przeciwnym razie zużywa jednostki.
Zużycie jednostek na jedno żądanie jest obliczane następująco:
max(base_cost, per_row_cost * num_rows)
Wartość base_cost dla każdego żądania wynosi 50 jednostek. per_row_cost to suma kosztów każdego unikalnego pola, które pojawia się w zwracanym wyniku albo w parametrach where lub order_by. Jeśli pole pojawia się w wielu parametrach, jest liczone tylko raz.
Domyślny koszt pola to 1 jednostka. Niektóre metryki są jednak droższe i mogą zużywać 5 lub 10 jednostek. Takie wyjątki są odnotowane w opisie pól każdego endpointu. Żądania obsłużone z pamięci podręcznej nie zużywają jednostek.
Każde żądanie API wskazuje sposób naliczania zużycia jednostek za pomocą następujących nagłówków odpowiedzi:
x-api-rowsLiczba zwróconych wierszy.x-api-units-cost-rowKoszt jednostek na wiersz.x-api-units-cost-totalŁączna liczba jednostek, jaką żądanie powinno zużyć na podstawie liczby wierszy i kosztu na wiersz.x-api-units-cost-total-actualŁączna liczba jednostek, jaką żądanie faktycznie zużyło.x-api-cacheInformacja, czy żądanie zostało obsłużone z pamięci podręcznej. Jedna z wartości:hitmissno_cache
info
Dobrym sposobem na oszacowanie kosztu żądania jest uruchomienie go z użyciem bezpłatnego celu i sprawdzenie wartości pola x-api-units-cost-total. Aby wyświetlić nagłówki odpowiedzi podczas korzystania z polecenia curl, możesz użyć opcji -v lub --verbose.
Przykład 1
Rozważmy żądanie do punktu końcowego Site Explorer – Ocena domeny (/site-explorer/domain-rating).
Nie obsługuje parametrów select, where ani order_by i zwraca jeden wiersz zawierający dwa pola — domain_rating i ahrefs_rank — przy koszcie 2 jednostek na wiersz.
Łączny koszt wierszy (koszt na wiersz pomnożony przez liczbę wierszy) jest niższy niż koszt bazowy. W związku z tym koszt tego żądania wynosi bazowo 50 jednostek.
Przykład 2
Rozważmy bardziej złożone żądanie do punktu końcowego Site Explorer – Linki zwrotne (/site-explorer/all-backlinks), które umożliwia konfigurację parametrów select, where i order_by.
Załóżmy, że w tym żądaniu wybrano dwa pola:
select=title,traffic
dwa pola w wyrażeniu filtru:
where={"and":[{"field":"traffic","is":["gt",1000]},{"field":"refdomains_source","is":["gt",10]}]}
oraz pole sortowania:
order_by=traffic:desc
W tych parametrach występują trzy unikalne pola: title i refdomains_source kosztują po 1 jednostce, natomiast traffic kosztuje 10 jednostek. Zatem koszt na wiersz wynosi 1 + 1 + 10 = 12 jednostek.
Załóżmy, że żądanie zwraca 500 wierszy. Wówczas łączny koszt wierszy (12 * 500 = 6000 jednostek) przekracza koszt bazowy. W związku z tym koszt tego żądania wynosi 6000 jednostek.