SimilarWeb(シミラーウェブ)という製品をご存知でしょうか?
デジタルのマーケットとそこでの競合他社のスタッツについて調査し、意思決定に必要な情報を提供してくれる製品です。SimilarWebのサイトでは「SimilarWebはデジタル世界の地図です。これで主要な競合他社を迅速に特定し、トレンドを正確に掴み、業界トップのパフォーマンスに対して自社をベンチマークすることができます」とあります。SimilarWeb(シミラーウェブ)を使うことで競合サイトとの比較やあるキーワードで他社は自社と比較してどれくらいの流入を取れているか?などの質問に回答することが出来ます。
今回は、Integrate.ioからSimilarWebのAPIを利用して、どのようにデータを取得し、加工することができるかについてご紹介します。
1. SimilarWeb APIについて
まずAPIの仕様について、こちらのサイトから確認しました。
今回の記事で利用するAPIは以下の2種類です。
Desktop Keyword Analysis > Keyword Competitors (Organic)
Desktop Keyword Analysis > Keyword Competitors (Paid)
サイトには取得されるJSONのサンプルデータがあり、上記のAPIで取得できる項目は以下のようなものがある。
{
"search_term": "wooden door",
"share": 0.00004544731546152074,
"visits": 190.59609562344377,
"change": -0.4384225611154365,
"volume": 0,
"cpc": 0,
"url": "N/A",
"position": 0
},
項目 | 説明 |
search_term | 検索キーワード |
share | シェア |
visits | 訪問回数 |
volume | 検索ボリューム |
cpc | クリックあたりの単価 |
position | 掲載順位 |
2. Integrate.ioでパッケージ作成
ここからは、Integrate.ioを使用して実際にパッケージを作成する手順について紹介します。
Step1 データ接続:Rest APIコンポーネントを使用する
Rest APIコンポーネントを使用し、今回使用するAPIのエンドポイント(Desktop Keyword Analysis > Keyword Competitors (Organic))のURLを設定画面に入力します。
その際、分析するサイトおよびAPIキーを含むパラメータをセットします。
例)Integrate.ioのサイトのキーワードやシェアを取得する場合
https://api.similarweb.com/v1/website/integrate.io/traffic-sources/organic-search?api_key=xxxxx&start_date=2019-01&end_date=2019-01&country=jp&limit=100000&main_domain_only=false&format=json
プレビューを見ると、データは以下のような構造で取得できました。
今回のブログで使用するのは、「meta」と「serach」になります。
「meta」は、指定した条件が格納されたメタ情報です。主にmeta>requestに必要なメタ情報が格納されています。
「search」には、流入キーワードやシェアや訪問回数が多いもの順に配列データとしてBAG形式で取得できます。
Step2 変換:Selectコンポーネントを利用し、取得されたデータを加工する
加工する際のステップとしては2段階で行います。
1. meta > searchに格納されたデータを項目ごとにそれぞれ取得する
2.searchに格納された検索キーワードやシェアを取得する
Step3 ロード:Amazon S3にCSVファイルとして出力する
今回はS3に出力します。(S3への出力の設定方法については、今回は割愛します。)
最終的なパッケージは以下のようになりました。
Step4 データ確認
プレビューで結果を確認します。
添付の画像はマスキングしているためわかりにくいですが、メタデータおよび数値データの両方を取得できました。
3. まとめ
様々なクラウドにおいてAPIで提供される標準的なデータフォーマットとしてJSONは一般的ですが、Xplnetyを使えばJSON形式のデータもプログラミングせずに少しの関数を利用するだけで簡単に加工することが出来ます。
Integrate.ioではこちらのページで紹介されている統合対象のデータソース以外にも様々なデータに接続可能です。