特定のツイートにいいねしたユーザーを抽出する方法【v2】
Data

特定のツイートにいいねしたユーザーを抽出する方法【v2】

Twitter API v2で、特定のツイートにいいねしたユーザーを取得する方法を2021年時点の情報で解説。Pythonのコード例と、取得できるのは最大100件という制限も紹介。

文:(株式会社ガーオン 代表取締役)

SHARE

主なポイント

Twitter API v2を使うと、特定のツイートにいいねしたユーザーの情報や、あるユーザーがいいねした投稿データを無料で取得できます。エンドポイントは /2/tweets/:id/liking_users と /2/users/:id/liked_tweets の2種類です。

2026年11月4日更新:この記事は2021年の手順の記録で、コードは再実行していません。本文の「v2は無料」は当時の話で、現在のX APIは月額プランのない従量課金です。いいねしたユーザーを取得するエンドポイントは公式ドキュメントに載っていますが、件数や認証の条件は公式でご確認ください。

先日公開された新しい Twitter APIのv2 では、特定のツイートにいいねしたユーザーの情報や、あるユーザーがいいねした投稿データを抽出することができるようになりました。

今回はこちらのAPIでデータを取得する下記2つの方法を解説していきます。

機能エンドポイント
Users who have liked a Tweet特定のツイートにいいねしたユーザーを抽出/2/tweets/:id/liking_users
Tweets liked by a user特定のユーザーがいいねした/2/users/:id/liked_tweets

なお当時のv2は無料な一方で取得できるデータが限られていたため、投稿データを完全取得する際は下記のプレミアムAPI(当時)を使っていました。

【難解!?】Twitter APIを使って投稿データを収集する方法

特定の投稿にいいねしたユーザーを抽出する

今回のデータ取得の対象は下記投稿を例に取り上げてみます。

この安倍元首相の投稿には現在15万件以上のいいねがついています。このいいね情報を取得するには、Twitter上では下記のいいねの場所をクリックすると取得することができます。

Twitterの投稿に15万件のいいねがついている画面。2.5万リツイート・5,094件の引用ツイートも表示。

今回はこの情報をAPIで取ってきます。

APIを叩く

import requests
import json

# bearer_tokenを設定(デベロッパーポータルのd ash boardから入手できる)
bearer_token = "xxxxxxxxx"

# headerにbearer tokenを設定
headers = {"Authorization": "Bearer {}".format(bearer_token)}

# 取得したい項目をオプションで設定
# "user.fields"でいいねしたユーザーの情報を取得する
params = {
          "user.fields": "created_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,public_metrics,url,username,verified,withheld"
          }

# ツイートIDを設定
id = "1387227856611069952"

# urlを設定(いいねしたユーザー情報は末尾urlがliking_usersとなる)
url = "https://api.twitter.com/2/tweets/{}/liking_users".format(id)

# 設定情報をリクエスト
res = requests.get(url, headers=headers, params = params)

# jsonとして読み込む
res_text = res.text
likes = json.loads(res_text)

取得できるデータ

実際に取得できるデータは下記となります。

{
    "name": "広報PR代行サービス【PRナビ】| 株式会社ガーオン",
    "verified": False,
    "entities": {
        "url": {
            "urls": [\
                {\
                    "start": 0,\
                    "end": 23,\
                    "url": "https://t.co/QWIMMW7lid",\
                    "expanded_url": "/",\
                    "display_url": "/"\
                }\
            ]
        },
        "description": {
            "urls": [\
                {\
                    "start": 104,\
                    "end": 127,\
                    "url": "https://t.co/zRJSJCTPM2",\
                    "expanded_url": "/blog",\
                    "display_url": "/blog"\
                },\
                {\
                    "start": 138,\
                    "end": 161,\
                    "url": "https://t.co/4LfK0XP6a1",\
                    "expanded_url": "http://prnavi.jp",\
                    "display_url": "prnavi.jp"\
                }\
            ]
        }
    },
    "url": "https://t.co/QWIMMW7lid",
    "username": "PR_NAVi",
    "description": "【まるごと広報代行サービス PRナビ】一部上場企業からスタートアップまで累計400社以上の広報PRを支援 | 企業や団体が発信する日々のプレスリリースを発信中 | SNS等のデータ収集・分析 | PRブログ:https://t.co/zRJSJCTPM2 | リリースサイト:https://t.co/4LfK0XP6a1",
    "profile_image_url": "https://pbs.twimg.com/profile_images/628090809686949888/jeE0Tn_u_normal.png",
    "protected": False,
    "id": "102654697",
    "created_at": "2010-01-07T11:47:13.000Z",
    "public_metrics": {
        "followers_count": 7088,
        "following_count": 7239,
        "tweet_count": 3718,
        "listed_count": 45
    },
    "location": "東京都品川区"
},

locationなどにユーザーが設定した地理情報が含まれているため、ここからいいねしたユーザーの地理分布などを分析できそうです。

しかしこのAPIは取得できるデータがMAX100件(なぜか調子が悪いと100件未満となる)となっているため、今回はいいねしたユーザーのdescription(自己紹介)をワードクラウドにしてみたいと思います。

自己紹介文をワードクラウド化

Twitterいいねユーザーの自己紹介文をワードクラウド化した結果。台湾・趣味・推し・アカウントなどの語が頻出

上記情報に加え地理情報などを見てみても、台湾からいいねされている傾向が強いことが分かります。

MAX100件ということで、何に使えば良いのか分かりませんが、以上が特定の投稿にいいねしたユーザーの情報を取得する方法でした。

次回は、特定のユーザーがいいねした投稿を抽出する方法を解説します。

当社では広報活動のサポートの他、Twitterのデータ取得や分析、各種ダッシュボード作成などもサポートしています。 お問い合せフォーム よりお気軽にお問い合せください。

▼合わせて読みたい

【難解!?】Twitter APIを使って投稿データを収集する方法

感情分析AI「ML-Ask」をPythonで検証|10種類の感情を3行で抽出

朝日新聞の要約AIはヤフートピックスの夢を見るか ~ディープラーニングを用いた令和時代のプレスリリースの作り方~

ソーシャルデータから読み解くボヘミアンラプソディの口コミ形成とメディア露出効果

Amazonの人工知能を使ってSNS等の口コミを感情分析する方法

【記事に繋がる】プレスリリースの書き方 10つのポイント

SHARE