Docs
Rechercher dans la documentation...⌘K

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-rows Le nombre de lignes renvoyées.
  • x-api-units-cost-row Le coût en unités par ligne.
  • x-api-units-cost-total Le 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-actual Le total d’unités effectivement consommées par la requête.
  • x-api-cache Indique 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.