Twitterは何故API制限をしなければならなくなったのか、あるいは今後もユーザー不利な制限を行い続けなければいけないのか

そもそもの経緯

イーロン・マスク氏のTweetによると、「データスクレイピングとマニピュレーション(機械的な操作)に対応するためツイート取得に対する制限を行った」としています。

そして、データスクレイピングは過日、Twitterが発表したTwitter APIのProプランが月額5,000ドルという、あまりにも以前と比較して高コストなプランになってしまいました。
Twitter中毒の日本のマーケティング界隈の片隅に居る自分としては、周囲の企業達からも「安くでツイートを分析できる方法無い?」と聞かれていたので、まさにタイムリーな出来事、という事なので、何故このような事態になってしまったのか、そしてTwitterはこの問題とどう向き合っていかなければいけないかという件について考察してみます。

Twitterで何故スクレイピングをしなければならないのか

Twitterでスクレイピングを行うという行為は、「誰かのツイートを取得して、その取得されたデータを基に何らかのアクションを行う」ためのことになります。

  • ハッシュタグやキーワードで呟いてもらうSNSキャンペーンの独自実施に関するレポーティングと、リワード(◯名様に△△をプレゼント系)の抽選を行うため
  • マーケティングにおいて、自社製品・競合製品に関するツイートの内容を分析してレポーティング
  • 特定のツイートに反応したBotの作成
  • ツイートをビッグデータのデータソースとした大規模な分析基盤の構築、及びそれによるAI向けデータソース作成・マーケティング分析や研究等

つまり、データ分析・AIやBot開発においてTwitterでのデータ取得がビジネスとして有用であるため、過去よりとんでもないユーザーが旧来のTwitter APIを利用してツイートを取得していました。
LLM(大規模言語モデル)の学習や、スパムのBotは特に高頻度でAPIのリクエストを行うと考えられるため、これらによるTwitter資産のタダ乗り対策として新しいAPIの料金体系が発表された…という形ですが、あまりに料金が高額すぎるため、常識的な範囲内で検索等のAPIを利用したいユーザーからは多くの反発を産みました。

とはいえ、それらユーザーは個人の趣味ではなく、仕事で今までAPIを利用していたため、客に「TwitterのAPIが月額70万になったので来月から100万プラスで請求します」とは言えず、なんとかして無料(安価)で既存と同じデータを取得できる方法を模索した結果、スクレイピングに辿り着きます。

スクレイピングはローコードツールと相性が良い

例えば以下のApifyというローコード系PaaSでは以下のようなTwitterスクレイピングのテンプレートが転がっており、誰でも気軽にスクレイピングを実行できる状態でした。
https://apify.com/quacker/twitter-scraper
※ログインが必須になった事により現在は利用できなくなっている旨が記載されています。

更に言うとヘッドレスブラウザと呼ばれる、Chrome(Chromium)等をサーバー側で立ち上げて、あたかも人間がブラウザを通じて操作しているかのように装う仕組みも存在するため、IDとパスワードを用いてログインしているユーザーに対しても制限を行わざるを得ない、という対応が現在行われているツイート取得に対する制限の理由となります。

この状況を解決するための手段(Twitter目線)

Twitter社から見て、このようなデータスクレイピングに対する対応として考えられるのは次の通りです。

  • 常にTwitterAPI、およびフロントエンドの仕様を変更し続け、スクレイピングされ辛いよう難読化を行う
  • 高頻度データ取得に対する制限を継続して続ける
  • スクレイピングを行っている悪質な事業者に対する刑事告訴による見せしめ
  • 検索等、高負荷なデータ取得の方法をそもそも一般ユーザーに提供しなくなる
  • API料金の引き下げ

まず、Twitter APIの仕様変更や難読化はスジとしてあり得ないです。現在Twitterは様々なAPIの変更を断行しているものの、事あるごとに不具合を生み出してユーザーがイーロン・マスクに不満をリプライでぶつける状態になっているため、そもそも運用保守に関するコストが高すぎて割に合わないはずです。

また、刑事告訴は「特定のラインを超えたから」という判断を作ってしまうため、全体から見た負荷削減は達成できないどころか、そもそも刑事告訴事態が困難である可能性も高いです(スクレイピングに対する刑事告訴は岡崎市立中央図書館事件では不起訴に終わったなど、国や時事的な事情もありますが判例が弱いです。)。

つまり、現実的に起こりうるシナリオとしては以下の通りであると踏んでいます。

  1. スクレイピングによって高負荷になっているフロントエンド用APIをそもそも利用できなくして、APIの利用料金を引き下げたり、制限を緩和する
    • キーワード検索を「おすすめツイート」しか利用できなくする等、網羅性を落としてデータ分析として使えないものにする
    • ほぼ際限なく遡れていた検索を、直近7日間等に制限する
    • 総量規制ではなく時間単位のレートリミットにする等、極端に負荷を掛けないであろうユーザーに対して安価にAPIを提供する
  2. スクレイピング対策の難読化をある程度続けつつ、APIの利用料金を引き下げたり、制限を緩和する
    • 不定期にフロントエンドの仕様を変更して、スクレイピングが難しくなるようにする
    • APIの料金も引き下げる
  3. マネタイズやAI開発・研究として使い物にならなくなるまでTwitterのシステムや社会的あり方を破壊してすべてがめちゃくちゃになる

結局スクレイピングはいたちごっこなので、ユーザーが取得できるデータは機械的に取得できてしまいます。
ユーザーがある程度納得するレベルでUXを低下させつつ、なおかつAPIの料金体系を従量制で利用者が納得できる落とし所で提供しないと「明日を生きるためにTwitterをスクレイピングする」人達を排除することができません。
あるいは、「SNSにタダ乗りしているビジネスユーザー」を敵とみなして、検索の精度を落としたり、その他負荷の要因になっているAPIの価値を落とす事も手段ではあると思うのですが、同時にユーザーが大きく離れる要因になるはずなので、可能性としては1か2で落ち着くんじゃないかなーと考えています。