Docs
搜索文档...⌘K

限制消耗量

Ahrefs API 仅在符合条件的付费套餐中提供。 在所有其他套餐中,你仍可使用一组数量有限的免费测试查询

免费测试查询以及 Rank TrackerManagementPublic部分其他 端点之外,所有请求都会消耗 API 单位。 如果某个端点是免费的,你会在其文档页面看到相关说明;否则,它会消耗单位。

每次请求的单位消耗按如下方式计算:

max(base_cost, per_row_cost * num_rows)

每个请求的 base_cost50 单位per_row_cost 是以下各项成本的总和:返回结果中出现的、或在 where / order_by 参数中出现的每个不重复字段的成本。 如果某个字段在多个参数中出现,只计算一次。

字段的默认成本为 1 单位。 不过,某些指标更昂贵,可能会消耗 510 单位。 这些例外情况会在各端点的字段说明中注明。 从缓存中返回的请求不消耗单位。

每个 API 请求都会通过以下响应头表明其单位消耗情况:

  • x-api-rows 返回的行数。
  • x-api-units-cost-row 每行的单位成本。
  • x-api-units-cost-total 根据行数和每行成本计算得出,该请求预计消耗的单位总数。
  • x-api-units-cost-total-actual 该请求实际消耗的单位总数。
  • x-api-cache 该请求是否由缓存响应。 可取值之一:hit miss no_cache

info

估算请求成本的一个好方法是:先用免费目标运行一次,然后查看 x-api-units-cost-total 字段的值。 使用 curl 命令时,如需显示响应头,可以使用 -v--verbose 选项。

示例 1

Site Explorer - 域名评分 端点(/site-explorer/domain-rating)请求为例。

它不接受 selectwhereorder_by 参数,并且只返回一行数据,包含 domain_ratingahrefs_rank 两个字段,每行成本为 2 单位。

总行成本(每行成本乘以行数)小于基础成本。 因此,该请求的成本为基础值 50 单位

示例 2

再以一个更复杂的请求为例:Site Explorer - 反向链接 端点(/site-explorer/all-backlinks),该端点支持配置 selectwhereorder_by 参数。

假设该请求选择了两个字段:

select=title,traffic

筛选表达式中包含两个字段:

where={"and":[{"field":"traffic","is":["gt",1000]},{"field":"refdomains_source","is":["gt",10]}]}

以及一个排序字段:

order_by=traffic:desc

在这些参数中,共涉及三个不重复字段,其中 titlerefdomains_source 各消耗 1 单位,而 traffic 消耗 10 单位。 因此,每行成本为 1 + 1 + 10 = 12 单位。

假设该请求返回 500 行。 那么,总行成本(12 * 500 = 6000 单位)将超过基础成本。 因此,该请求的成本为 6000 单位