僕は本業で接客業をしていて、Instagramの運用をさせてもらっています。SNSの運用といえば閲覧数などのデータ収集は必須な作業です。ただ、毎日毎日エクセルなどに手入力でデータを書いていくのは非効率でめんどくさいのでやりたくない。じゃあ自動取得すればいいじゃんっていうことで調べると安くても5000円もの費用がかかるという感じ。
となると頼れるのは自分とAIしかいないわけで、インサイトを自動取得するプログラムを作るしかないと思いました。そんなわけで今回はインサイトを自動取得する方法を調べていきたいと思います。
今回やりたいこと

今回やりたいことはInstagramのインサイトを自動取得してスプレッドシートに記録することです。毎日勝手に記録さえしておいてくれれば分析はいつでもできるので、ひとまず今回の目標はここにしたいと思います。
方法をChatGPTに聞く

何から調べるか迷ったので、ひとまずChatGPTに聞いてみることにしました。すると「Instagram Graph APIとGASを使うことでできる」と行ってきました。具体的には以下の手順を踏めばよいと回答が得られました。
- Instagramアカウントをプロアカウントにする
- facebookページを作って、Instagramアカウントを紐づけ
- Meta for Developers でアプリを作る
- 長期有効アクセストークンを取得する
- コードを作成し、トリガーを設定する
ちょっと何言ってるか分からないところがありますが、まずはInstagram Graph APIが何なのかを調べていきます。
Instagram Graph APIとは

まず分からないのがInstagram Graph API。これって何?とChatGPTに聞くと、

との回答が得られました。ざっくり言うとプログラムでInstagramに「このデータ送って~」と要求する窓口のようなもののです。
ちゃんと無料

ChatGPTはこのデータ取得方法しか提示してこなかったので気になるのは料金ですが、きちんと無料で使えるようなので安心です。
ちなみにスクレイピングは禁止
APIを使うほかにパッと出てくる方法はスクレイピングですが、これはMeta社が禁止しています。スクレイピングがばれるとアカウントの停止などの処置が下るのでAPIを使うしかありません。
Instagram Graph APIでどんなデータが得られるのか?
APIを使うしかないところで「どんなデータが得られるの?」となったので調べてみたところ結果は下記。たくさんのデータを取得できるみたいですが、種類がありすぎて何が何だか分からないものもあります。
アカウントのデータ
得られるデータは下記。(最新の情報はこちら)
| accounts_engaged | ユーザがアクションを行った数(投稿やリールなど全てのアクション) |
| comments | 投稿やリールなどへのコメント数 |
| engaged_audience_demographics | よくわからない。 |
| follows_and_unfollows | 期間内にフォローしたアカウント数とフォローをやめたアカウントの数 |
| follower_demographics | よくわからない。 |
| likes | 投稿やリールなどのいいね数 |
| profile_links_taps | ビジネス住所や通話ボタンなどのタップ数 |
| reach | コンテンツを閲覧したユーザ数 |
| replies | ストーリーから受け取った返信の数 |
| saved | 投稿やリールなどの保存数 |
| shares | 投稿やリールなどの共有数 |
| total_interactions | インタラクションの合計数 |
| views | コンテンツが表示された回数 |
フィード投稿のデータ
フィード投稿の得られるデータは下記。(最新の情報はこちら)
| follows | 自分のアカウントをフォローしているユーザ数 |
| comments | 投稿に対するコメント数 |
| likes | 投稿に対するいいね数 |
| profile_activity | 投稿に反応後に、自分のプロフィールを訪問した人がとるアクションの数 |
| profile_visits | プロフィールへの訪問数 |
| reach | 投稿を閲覧したユーザ数。同じユーザの数も含まれる。 |
| saved | 投稿が保存された回数 |
| shares | 投稿のシェア数 |
| total_interactions | 投稿の「いいね!」、保存、コメント、シェアの数から、「いいね!」、未保存、削除されたコメントの数を差し引いた数値 |
| views | 投稿の閲覧数 |
リール動画のデータ
リール動画の得られるデータは下記。(最新の情報はこちら)
| comments | リールに対するコメント数 |
| ig_reels_avg_watch_time | リールが再生された平均時間 |
| ig_reels_video_view_total_time | リールが再生された合計時間 |
| likes | リールに対するいいね数 |
| reach | リールを閲覧したユーザ数。同じユーザの数も含まれる。 |
| saved | リールを保存された回数 |
| shares | リールのシェア数 |
| total_interactions | リールの「いいね!」、保存、コメント、シェアの数から、「いいね!」、未保存、削除されたコメントの数を差し引いた数値 |
| views | リールの閲覧数 |
ストーリーのデータ
ストーリーの得られるデータは下記。(最新の情報はこちら)
| follows | 自分のアカウントをフォローしているユーザ数 |
| navigation | ストーリーから実行されたアクションの合計数。 |
| profile_activity | ストーリーに反応後に、自分のプロフィールを訪問した人がとるアクションの数。 |
| profile_visits | プロフィールへの訪問数 |
| replies | ストーリーのIGメディアオブジェクトへの返信数 |
| reach | ストーリーを閲覧したユーザ数。同じユーザの数も含まれる。 |
| shares | ストーリーのシェア数 |
| total_interactions | ストーリーの「いいね!」、保存、コメント、シェアの数から、「いいね!」、未保存、削除されたコメントの数を差し引いた数値 |
| views | ストーリーの閲覧数 |
プログラミング言語はGASでいけそう

今回の目標を達成するにあたって必要な機能は主に下記のとおりです。
- APIを使ったデータのやりとり
- スプレッドシートへの書き込み
スプレッドシートへの書き込みは一度実装したことがあるのでGASが個人的に一番やりやすそうで、かつGASはデータのやり取りもできるということから言語はGASでいくことにしました。
これから実装をして、完成したら別の記事で投稿します。
