Ahrefs APIでどんな情報が取得できるの？APIのエンドポイント概要[SEOツール]


SEO対策に日々頭を悩ませる皆さま。こんにちは！
先日、2019年9月下旬に行われた[Googleアップデート](https://webmaster-ja.googleblog.com/2019/10/core-updates.html)の結果はいかがでしたか？

私の関わっているサイトの順位は特に変化ありませんでした！

SEOに携わっていると、[Ahrefs](https://ahrefs.com/)の名前はどこかで聞いたことがあるでしょう。
SEO対策の肝の一つと言われている**被リンクの情報を網羅しているサービス**です。
どのドメインやページから被リンクを貰えているか一目で分かる優れものです。

こちら、見やすいダッシュボードとデータのエクスポート機能に対応していますが、
**API**も提供しています！定期的にデータを取得するならこちらを使っていきたいですね！
(※ダッシュボードの利用料とは別に料金がかかります。)

しかし、**AhrefsのAPIドキュメントが完全には日本語対応しておらず**、
どのエンドポイントを使えば欲しい情報が取得できるのかわかりにくいです。
そこで今回はどのエンドポイントでどういう情報が取得できるのかや、使い道を説明していきます！


# Ahrefs API エンドポイント概要

## ahrefs_rank
URLを基準にのAhrefsの独自のランク順位を取得できます。
MODEをdomainに設定すれば配下ページの順位も取得できます。

## anchors
アンカーテキストを基準に被リンクの数と参照元ページやドメインの情報を取得できます。
#### 使い方の例
このAPIを使えば、例えばあなたのサイトが「詐欺サイト」というアンカーテキストで被リンクを貼られている事が分かります。
更に、その「詐欺サイト」というアンカーテキストを使った被リンクが50件存在する事がわかります...！危険な数字です！
また、その被リンクが貼られているページが30ページほど存在する事もこのAPIで分かります。こんなにネガキャンされている記事があると心配になりますね！
...でも、焦るのはお待ちください。被リンクが貼られているドメインが1ドメインしかない事もこのエンドポイントでわかります。
つまり、とあるドメインにて逆恨みされてるだけの可能性が高い事が分かります。よかったですね！
でも、**もし、多数のドメインでネガティブなアンカーテキストで被リンクを貼られているのなら、サイトを誤解されている可能性があります。**そんな時はコンテンツの改善を考えた方がいいですね！

## anchors_refdomains
アンカーとドメインを基準に、被リンクの数とアンカーの数を取得できます。
気を付けて頂きたいのは**「被リンク」と「アンカーリンク」はイコールではありません！**
「被リンク」にはアンカーリンクの他に frame や canonical 等で発生するものもあります。
このAPIでは被リンクの内、何個がアンカーリンクなのか確認する事ができます。


## backlinks
被リンクがどのページからどのページに向けられて貼られているのか確認できます。
被リンクを受けているページ、リンクが貼られているページ。
リンクが貼られているページのAhrefsのランクとドメインのランク。
リンクが貼られているページの内部リンク数と外部リンク数。
リンクが貼られているページのバイト数、タイトル。
被リンクがアンカーリンクだった時のアンカーテキストなどの有益な情報が取れます！


## backlinks_new_lost
新規の被リンク、及び失った被リンクに対して上の`backlinks`で取得でき情報を確認できます。
#### 使い方の例
このAPIは定期的に情報を取得して効果を発揮します！
そうする事でとあるドメインから**被リンクを失った事を早い段階で気がつく事ができます。**
もしそのドメインランクが高かった場合、この損失は痛手になりそうだと予想ができます！
その後のアクションでは、サイトの運営者に連絡して被リンクを戻してもらう等できれば、脅威を去る事ができますね！

## backlinks_new_lost_counters
ページを基準に、新規の被リンク、及び失った被リンクの数を取得できます。
日付と対象となるページのURLも一緒に取得できます。
#### 使い方の例
上の`backlinks_new_lost`のエンドポイントではなく、こちらを定期的に取得して、
被リンクが損失した数が上昇した時に上のエンドポイントを使えばコストを抑えられるかもしれません！


## backlinks_one_per_domain
被リンクを基準に、どのページからどのページに向けられて貼られているのか確認できます。
但し、参照元のドメインの中でAhrefランクが一番高い被リンクの情報１つのみを基準とします。
#### 使い方の例
**ヘッダーやフッターのような共通テンプレート部分に貼られた重複するような被リンクが省かれるので、データが見やすくなります！**


## broken_backlinks
リンク切れを基準に、それが貼られているページの情報を取得できます。
#### 使い方の例
**リンク切れはSEOにネガティブな影響を与えると言われています。**
その被リンクを外してもらうか、被リンクの宛先がバグで404や5XXエラーになっていないか確認しましょう。

## broken_links
ターゲットのドメインに含まれているリンク切れを基準に、それの貼られているページ情報を取得できます。
#### 使い方の例
自分のサイトの中のリンク切れは限りなく０にしたいものです！修正する基準として使えますね！

## domain_rating
ドメインレートが取得できます。

## linked_anchors
アンカーテキストのリンクを基準に、内部リンクと外部リンクの数を取得できます。

## linked_domains
ドメインが持つ外部ドメインへの一覧が取得できます。
外部リンクしているドメインと、そのドメインに向けられたリンクの数。
そのドメインに向けられたリンクが貼られたページの数が取得できます。
また、そのドメインのレーティングも取得できます。

## linked_domains_by_type
上の`linked_domains`と同じ項目が取得でき、更にタイプでの絞り込みができます。
gov判定のドメインや、edu判定のドメインにリンクされているか絞り込めます。


## metrics
ページのもつ大まかな情報を取得できます。
被リンクの数。被リンクの貼られているページの数。
パス的にAhrefsが認識している配下ページの数。エラーではないページの数。
アンカーによる被リンクの数。画像による被リンクの数。
nofollowな被リンクの数。
gov、edu、rss判定からのページからの被リンクの数。
ターゲットのリンクの数。被リンクの数。など取得できます！
まずは全てのページのこれの情報を定期的に取得しておきたいところですね！

## metrics_extended
上の`matrics`に加えて、ターゲットページに関する追加のマトリックスが含まれます。

## pages
Ahrefsがクロールした時に取得したページの情報です。
Ahrefsのランク、ステータスコード、ページサイズ、
内部リンクの数、外部リンクの数、タイトルなどが取得できます。

## pages_extended
上の`pages`の情報に加えて
被リンクの総数、dofollow / nofollowリンクなど、
クロールされたページに関する追加情報が含まれます。

## pages_info
上の`pages`の情報に加えて
メタ情報。H1情報。H2情報。画像のAlt情報などが取れます。


## refdomains
被リンクの貼られているドメインの一覧を取得できます。
ドメインの名前。被リンクの数。被リンクが含まれたページの数。
ドメインのレーティングが取れます。

## refdomains_by_type
上の`refdomains`情報に加えて
タイプによる情報のフィルターができ、ステータス情報が付与されます。
ステータスの中にはドメインがgov,edu属性を持っているかなどが含まれています。

## refdomains_new_lost
新規、及び失った参照ドメインの情報が含まれています。
#### 使い方の例
ドメインランクも取得できるので、もし高いところから外されていたら、
再度付けてもらうなどのオペレーションができますね！

## refdomains_new_lost_counters
新規、及び失った参照ドメインの合計数が取得できます。

## refips
ターゲットへのリンクを参照してIPアドレスを返します。

## subscription_info
残り何回APIが使えるかがわかります。**エンジニアにはとても大事**ですね！


## まとめ
いかがだったでしょうか？自分の欲しいデータが取得できそうですか？
SEOで大事だと言われている被リンクの要素のほとんどが取得できるのではないかと思います！
もし、すでにAhrefsのAPIを使用していて、**「自分の所ではこういうユースケースで使っている」**などがありましたら、
コメントをもらえたら嬉しいです！

まだまだ私も手探りな状況ですが、ツールを有効活用して順位を上げていきましょう！