今回は副業と業務でツイッターのSearchAPIの仕様について調べたのでその結果をメモしておきます。
この記事の想定読者
- Twitter APIを使ってツイートの収集をしてみたい
- そのために、Twitter APIの種類について基本的なことを知りたい
この記事ではTwitter API利用の中でも、ツイートを収集することのみにフォーカスしたもので自動フォロー・DM・いいね系のAPI利用については言及しません。
ツイッターのAPIの違いについて
参照:https://zenn.dev/mochi_gu_ma/articles/24eb0a241fa783
まずAPIのバージョンについてですが2021年11月からTwitterAPIは事前審査が無くなりました。この事前審査が無いもので取得したものについてはV2のAPIとなります。対して2021年11月以前に申請して取得したAPIについてはV1.1という扱いになっています。
通常のSearchAPIの検索制限
V1.1・V2.0ともにRecentSearchというツイート検索APIが用意されています。これがTweepyなどで関数から叩けるデフォルトのツイート検索APIになるわけですが、この通常の検索API(RecentSearch)ではツイートは過去10日間しか遡ることができず、また検索漏れも多く全数がヒットしません。
なので個人でデータ収集する分には問題ありませんが、ビジネスレベルでの分析におけるデータ収集には少し難があると言えます。
10日以上過去のツイートを取得するためには
上述したように通常の検索API(RecentSearch)ではツイートは過去10日間しか遡ることができないので、それ以上前のツイートを収集したい場合には「30 day reseach」と「Full-archive search」を使用する必要があります。また自身のアカウントのツイートアクティビティに関してもAPIから取得することが可能になります。
参照:公式ドキュメント↓
これらの「30 day reseach」と「Full-archive search」は有料のAPIに区分されるもので、2022年8月現在月額149$(約20,000円)の使用料金が発生します。つまり、過去10日以上前のツイートの収集は基本的に有料(149$/月)です。
例外
AcadmicResearch
ただ例外として、商用目的ではない研究目的であればAcadmicResearchという区分で「Full-archive search」が使用可能になります。つまり卒業論文などでツイートを収集したいといった場合であればツイッター社にその旨を申請することで過去10日以上前のツイートの収集が可能です。
sandbox
そしてもう1つ例外があって、それはsandboxプランを使用することです。このsandboxというのがV
1.1のAPI、つまり2021年11月以前に取得したAPIにおいて付与されているもので、sandboxでは「30 day reseach」と「Full-archive search」を少しだけ無料で使用することが可能です。つまり、10日以上前のツイートでもV1.1のAPI鍵があれば少しだけ無料で収集することが可能です。
Sandboxには具体的には、以下のようなツイート取得の上限があります。
- 直近30日分のツイートは最大で25,000件/月
- 過去の全てのツイートは最大で5,000件/月
まとめ
・2021年11月以降の取得したAPI鍵では過去10日以上前のツイートは収集できない
・2021年11月以前に取得したAPI鍵であれば過去10日以上前のツイートも少しだけ集められる
・過去10日以上前のツイートを大量に収集したい場合はAcadmicResearch申請をするか、ツイッターに20,000円/月課金する必要がある
コメント
[…] Twitterで過去ツイートを収集するためのAPIの種類と使い分けについて […]