Limites de consommation
L’API Ahrefs est disponible avec les offres payantes éligibles. Avec toutes les autres offres, vous aurez toujours accès à un ensemble limité de requêtes de test gratuites.
Toutes les requêtes, à l'exception des requêtes de test gratuites et des points de terminaison Rank Tracker, Management, Public et quelques autres, consomment des unités d'API. Si un point de terminaison est gratuit, vous verrez une note à ce sujet sur sa page de documentation ; sinon, il consomme des unités.
La consommation d’unités par requête est calculée comme suit :
max(base_cost, per_row_cost * num_rows)
Le base_cost de chaque requête est de 50 unités. Le per_row_cost correspond à la somme des coûts de chaque champ unique apparaissant soit dans le résultat renvoyé, soit dans les paramètres where ou order_by. Si un champ apparaît dans plusieurs paramètres, il n’est compté qu’une seule fois.
Le coût par défaut d’un champ est de 1 unité. Cependant, certaines métriques sont plus coûteuses et peuvent consommer 5 ou 10 unités. Ces exceptions sont indiquées dans la description des champs de chaque point de terminaison. Les requêtes servies depuis le cache ne consomment pas d’unités.
Chaque requête API indique son comportement de consommation d'unités via les en-têtes de réponse suivants :
x-api-rowsLe nombre de lignes renvoyées.x-api-units-cost-rowLe coût en unités par ligne.x-api-units-cost-totalLe total d’unités que la requête devrait consommer en fonction du nombre de lignes et du coût par ligne.x-api-units-cost-total-actualLe total d’unités effectivement consommées par la requête.x-api-cacheIndique si la requête a été servie depuis le cache. L'une des valeurs suivantes :hit,miss,no_cache
info
Une bonne façon d’estimer le coût d’une requête est de l’exécuter avec une cible gratuite et de vérifier la valeur du champ x-api-units-cost-total. Pour afficher les en-têtes de réponse lorsque vous utilisez la commande curl, vous pouvez utiliser l’option -v ou --verbose.
Exemple 1
Prenons une requête vers le point de terminaison Site Explorer - Domain Rating (/site-explorer/domain-rating).
Il n’accepte pas de paramètre select, where ou order_by, et renvoie une seule ligne contenant deux champs (domain_rating et ahrefs_rank), pour un coût par ligne de 2 unités.
Le coût total des lignes (coût par ligne multiplié par le nombre de lignes) est inférieur au coût de base. Par conséquent, cette requête coûte le montant de base de 50 unités.
Exemple 2
Prenons une requête plus complexe vers le point de terminaison Site Explorer - Backlinks (/site-explorer/all-backlinks), qui permet de configurer les paramètres select, where et order_by.
Supposons que cette requête comporte deux champs sélectionnés :
select=title,traffic
deux champs dans l’expression de filtre :
where={"and":[{"field":"traffic","is":["gt",1000]},{"field":"refdomains_source","is":["gt",10]}]}
et un champ de tri :
order_by=traffic:desc
Sur l'ensemble de ces paramètres, il y a trois champs uniques, dont title et refdomains_source coûtent 1 unité chacun, tandis que traffic coûte 10 unités. Ainsi, le coût par ligne est de 1 + 1 + 10 = 12 unités.
Supposons que la requête renvoie 500 lignes. Le coût total des lignes (12 * 500 = 6 000 unités) dépasse alors le coût de base. Par conséquent, le coût de cette requête est de 6 000 unités.