Споживання лімітів
Ahrefs API доступний на відповідних платних тарифах. На всіх інших тарифах у вас все одно буде доступ до обмеженого набору безкоштовних тестових запитів.
Усі запити, окрім безкоштовних тестових запитів та ендпоїнтів Rank Tracker, Management, Public і деяких інших, споживають одиниці API. Якщо ендпоїнт безкоштовний, ви побачите про це примітку на сторінці його документації; інакше він споживає одиниці.
Споживання одиниць на один запит обчислюється так:
max(base_cost, per_row_cost * num_rows)
base_cost кожного запиту становить 50 одиниць. per_row_cost — це сума вартостей кожного унікального поля, яке присутнє або в поверненому результаті, або в параметрах where чи order_by. Якщо поле з’являється в кількох параметрах, воно враховується один раз.
Стандартна вартість поля — 1 одиниця. Однак деякі метрики дорожчі й можуть споживати 5 або 10 одиниць. Такі винятки зазначено в описі полів кожного ендпоїнта. Запити, що обслуговуються з кешу, не споживають одиниць.
Кожен запит API повідомляє про споживання одиниць через такі заголовки відповіді:
x-api-rowsКількість повернених рядків.x-api-units-cost-rowВартість за рядок у одиницях.x-api-units-cost-totalЗагальна кількість одиниць, яку запит має витратити на основі кількості рядків і вартості за рядок.x-api-units-cost-total-actualЗагальна кількість одиниць, яку запит фактично витратив.x-api-cacheЧи було запит обслуговано з кешу. Одне з:hitmissno_cache
info
Хороший спосіб оцінити вартість запиту — виконати його з безплатною ціллю і перевірити значення поля x-api-units-cost-total. Щоб відобразити заголовки відповіді під час використання команди curl, можна скористатися опцією -v або --verbose.
Приклад 1
Розгляньмо запит до ендпойнта Site Explorer - Рейтинг домену (/site-explorer/domain-rating).
Він не підтримує параметри select, where або order_by і повертає один рядок із двома полями — domain_rating і ahrefs_rank, із вартістю 2 одиниці за рядок.
Сумарна вартість рядків (вартість за рядок, помножена на кількість рядків) менша за базову вартість. Тому цей запит коштує базову суму — 50 одиниць.
Приклад 2
Розгляньмо складніший запит до ендпойнта Site Explorer - Беклінки (/site-explorer/all-backlinks), який дозволяє налаштовувати параметри select, where і order_by.
Припустімо, у цьому запиті вибрано два поля:
select=title,traffic
два поля у виразі фільтра:
where={"and":[{"field":"traffic","is":["gt",1000]},{"field":"refdomains_source","is":["gt",10]}]}
та поле сортування:
order_by=traffic:desc
У цих параметрах є три унікальні поля: title і refdomains_source коштують по 1 одиниці кожне, а traffic — 10 одиниць. Отже, вартість за рядок: 1 + 1 + 10 = 12 одиниць.
Припустімо, запит повертає 500 рядків. Тоді сумарна вартість рядків (12 * 500 = 6000 одиниць) перевищує базову вартість. Тому вартість цього запиту — 6000 одиниць.