Tony Wang7 分で読めますRotten Tomatoes をスクレイピングする方法【2026年版】(API & Python)
2026年版:Rotten Tomatoes の Tomatometer と Audience Score を取得する方法を解説 — DIY、ノーコード、構造化 API の3通りに加え、実際の法的リスクとライセンス費用についても紹介します。
2026年時点で Rotten Tomatoes をスクレイピングする最速の方法は、映画・TV シリーズ・シーズン・エピソードについて、タイトル詳細、Tomatometer、Audience Score、レビューの抜粋を同じリクエスト形式で返す正規化された JSON を、構造化 API から呼び出すことです。自分で Rotten Tomatoes のページを解析したり、Fandango 自身の開発者承認プロセスを待ったりする必要はありません。Rotten Tomatoes は英語圏の web の大部分にとって「これは見る価値があるか」を判断するデフォルトの参照先ですが、公式 API は無料でも、すぐに使えるものでもなく、運営元の規約は自動収集を明確に禁止しています。このガイドでは3つのアプローチすべてを取り上げ、それぞれが何を返し、どこで破綻し、法的な実態がどうなっているかを最初に示します。
なぜ Rotten Tomatoes のデータをスクレイピングするのか?
Rotten Tomatoes の Tomatometer と Audience Score は、下流の膨大な受容度リサーチの基盤となっており、次のような用途を支えています。
- センチメントとレビューの集約 — 生のレビューから自分で再導出することなく、あるタイトルの批評家・観客のコンセンサスを取得できます。
- ストリーミングカタログの品質シグナル — おすすめやライセンス取得の前に、あるタイトルに信頼シグナル(Tomatometer や「Certified Fresh」)を付与できます。
- 批評家と観客の乖離リサーチ — Tomatometer と Audience Score を比較し、報道と一般の反応が大きく分かれるタイトルを見つけられます。
- 市場・公開状況のリサーチ — 「上映中」や「ベスト TV」リストを閲覧し、新作がスコアを獲得していく様子を追跡できます。
- 他の評価ソースとの相互参照 — Rotten Tomatoes の2スコアシステムを TMDB のカタログメタデータや Metacritic の Metascore と組み合わせることで、単一のソースよりも全体的な受容度像を把握できます。
Rotten Tomatoes をスクレイピングするのは合法か?
選択肢1: Python での DIY(そしてなぜ破綻するか)
Rotten Tomatoes の映画・TV ページは React でレンダリングされており、スコアデータはマークアップと並んで JSON ペイロードに埋め込まれています。そのため DIY スクレイパーは、通常ヘッドレスブラウザを動かすか、その埋め込まれた状態を掘り起こす必要があります。
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://www.rottentomatoes.com/m/inception",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Tomatometer and Audience Score render client-side from a score-details
# JSON blob embedded in the page — there's no clean <script type="application/ld+json">
# AggregateRating block to lean on the way there is on some other review sites
これは動作を確認できても、すぐに破綻します。
- 利用規約が名指しでスクレイピングを禁じており、このシリーズの中でも最も厳格な禁止事項です。 Fandango の利用規約はロボット、スパイダー、クローラー、「データ収集または抽出ソフトウェア」を名指しで挙げ、さらに明示的な AI/ML 学習制限も課しています — 議論の余地はありません。
- クリーンな構造化データのフォールバックがない。
AggregateRatingの JSON-LD ブロックを公開している他のサイトと異なり、Rotten Tomatoes の Tomatometer と Audience Score はクライアント側でレンダリングされるコンポーネントの状態の中にあります。つまり、ヘッドレスブラウザを動かすか、ドキュメント化されておらず予告なく変わる内部ペイロードの形をリバースエンジニアリングするしかありません。 - 4種類の異なるコンテンツタイプ、4種類の異なるページ構造。 映画、TV シリーズ、シーズン、エピソードはそれぞれ異なる形でレンダリングされ、映画ページ用に調整したパーサーは通常 TV 用に別途の対応が必要になります。
- レビューはカーソルベースの「もっと見る」リクエストの裏でページネーションされる。 批評家・観客のレビュー抜粋は初期 HTML にすべて含まれているわけではなく、最初のページ以上を取得するには内部のページネーション呼び出しを再現する必要があります。
選択肢2: ノーコード/既製ツール
Rotten Tomatoes の単発取得向けにマーケットプレイスのスクレイパーアクターは存在し、少数のタイトルをスプレッドシートに書き出す用途には十分です。ただし DIY スクレイピングと同じ利用規約上のリスクを抱えており、実運用のパイプラインにおけるスケジューリングやマルチプラットフォームのスキーマ問題を解決するものでもありません。ライセンス済みの代替手段2つ — Fandango 自身の Developer NetworkとFabric Origin の B2B API — は、いずれも有料サブスクリプションと承認プロセスが必要で、無料または即日登録できる経路はありません。
選択肢3: 構造化された Rotten Tomatoes API
5桁の年間ライセンス費用や60日の承認待ちなしで再現可能なワークフローを組みたいなら、Rotten Tomatoes スクレイピング API はページ解析の保守なしで正規化された JSON を返します。まずタイトルを検索してパスを取得します。
curl "https://api.crawlora.net/api/v1/rottentomatoes/search?query=inception" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "inception",
"limit": 2,
"results": [
{
"title": "Inception",
"path": "/m/inception",
"url": "https://www.rottentomatoes.com/m/inception",
"release_year": "2010",
"tomatometer_score": 87,
"tomatometer_sentiment": "POSITIVE"
}
]
}
}
続いて、パスを使って Python で映画・シリーズ・人物の詳細を取得します。
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/rottentomatoes"
hits = requests.get(f"{base}/search", headers=h, params={"query": "inception"}).json()["data"]["results"]
movie = requests.get(f"{base}/movie", headers=h, params={"path": hits[0]["path"]}).json()["data"]
reviews = requests.get(f"{base}/movie/reviews", headers=h, params={"path": hits[0]["path"], "type": "critics", "limit": 10}).json()["data"]
映画詳細は Tomatometer と Audience Score をそれぞれ別のオブジェクトとして返します(実際のフィールドです — ドキュメントを確認してください)。
{
"code": 200,
"msg": "OK",
"data": {
"title": "Inception",
"path": "/m/inception",
"url": "https://www.rottentomatoes.com/m/inception",
"media_type": "Movie",
"critics_score": { "score_percent": "87%" },
"audience_score": { "score_percent": "91%" },
"public_page_derived": true
}
}
TV も同じ仕組みですが、シリーズ/シーズン/エピソードの階層構造になっています — 番組本体には /rottentomatoes/series、あるシーズンには /rottentomatoes/season、単一のエピソードには /rottentomatoes/episode を使います。
series = requests.get(f"{base}/series", headers=h, params={"path": "/tv/breaking_bad"}).json()["data"]
season = requests.get(f"{base}/season", headers=h, params={"path": "/tv/breaking_bad/s01"}).json()["data"]
episode = requests.get(f"{base}/episode", headers=h, params={"path": "/tv/breaking_bad/s01/e01"}).json()["data"]
{
"code": 200,
"msg": "OK",
"data": {
"title": "Breaking Bad",
"path": "/tv/breaking_bad",
"url": "https://www.rottentomatoes.com/tv/breaking_bad",
"media_type": "TvSeries",
"number_of_seasons": 5,
"critics_score": { "score_percent": "96%" },
"audience_score": { "score_percent": "97%" },
"public_page_derived": true
}
}
/rottentomatoes/person はキャスト・クルーのフィルモグラフィーをタイトルごとの批評家スコアとともに返します。/rottentomatoes/browse/movies と /rottentomatoes/browse/tv は、キュレーションされたリスト(上映中の映画、ベスト TV 番組など)を sort と limit でフィルタして返します。タイトル(またはレビュー)1件につき1行を保存し、検索・閲覧の取得をスケジュールで再実行しましょう。
収集できるもの
タイトル検索(タイトル、パス、URL、公開年、Tomatometer スコアとセンチメント)。映画・シリーズ・シーズン・エピソード詳細(別オブジェクトとしての Tomatometer と Audience Score のパーセンテージ、メディアタイプ、シーズン/エピソード数、親シリーズ・親シーズンの参照、放送日)。タイトルごとの批評家・観客のレビュー抜粋(表示名とレビュー抜粋、カーソルページネーション)。人物詳細(名前、生年月日、出身地、最高評価タイトル、タイトルごとの批評家スコア付きフィルモグラフィー)。上映中の映画やトップ TV 番組のキュレーションされた閲覧リスト。公開されている集約データとレビューデータのみです。
制約
- このシリーズの中で最も厳格な利用規約。 Fandango はロボット、スパイダー、クローラー、データ抽出ソフトウェアを明示的に名指ししており、さらに AI/ML 学習用途も別途禁止しています — プロジェクトの範囲は集約スコアと有限で出典を明記したレビューサンプルにとどめ、規模を伴う用途にはライセンス済みアクセスを利用してください。
- 無料の公式 API はなく、両方のライセンス経路も有料かつ承認制。 Fandango 自身の Developer Network はおよそ年間6万ドルから、審査は最大60日かかると言われています。Fabric Origin の B2B の代替も有料サブスクリプションとアカウント承認が必要です。
- クリーンな JSON-LD フォールバックがない。 スコアは構造化データブロックではなくクライアント側のコンポーネント状態からレンダリングされるため、DIY のパース方法はヘッドレスブラウザか、ドキュメント化されていないペイロードのリバースエンジニアリングのいずれかになります。
- レビューはカーソルの裏でページネーションされる。 あるタイトルの完全なレビューサンプルを得るには、1回のページ読み込みではなく
page_info.end_cursorに沿った反復呼び出しが必要です。 - レビュアーの身元が特定可能。 批評家・観客のレビュー抜粋は名前付きのレビュアーに紐づいています。レビューの収集は、他の実名レビューのスクレイピングと同じ個人データの観点で扱い、レビュー全文の一括再公開は避けてください。
どこで使われるか
- 受容度リサーチ — ジャンルや公開時期を横断して Tomatometer と Audience Score を比較し、批評家と観客の乖離を研究できます。
- カタログの品質シグナル — ストリーミングやディスカバリー製品でタイトルを紹介・ライセンス取得する前に信頼スコアを付与できます。
- スタジオ・公開状況の追跡 — 新作が劇場や TV で公開される際のスコアの推移を追跡できます。
- 複数ソースの拡充 — Rotten Tomatoes の2スコアシステムを、TMDB のカタログメタデータや Metacritic の批評家/ユーザースコアと1つのパイプラインで組み合わせられます。
出典
収集を始める
まずは無料でお試しください: 任意の公開 URL を無料ウェブスクレイパーに通すか、アンチボットチェッカーでサイトがボットをブロックするかどうかを確認できます。サインアップ不要です。
プレイグラウンドで検索・映画・シリーズ・人物のエンドポイントを試し、API ドキュメントでスキーマを確認し、料金をご覧ください。Rotten Tomatoes は批評家と観客があるタイトルをどう評価したかを教えてくれます。TMDB はクリーンなカタログメタデータとアートワークを補い、Metacritic は比較対象となる第二の批評家/ユーザー評価システムを追加します — 2つを組み合わせることで、単一のソースよりも全体的な受容度像が得られます。あわせてウェブスクレイピング API の選び方とウェブスクレイピングは合法かもご覧ください。
よくある質問
Rotten Tomatoes に公開 API はありますか?
Rotten Tomatoes は Fandango Developer Network を運営していますが、セルフサービスでも無料でもありません。新規申請者は利用目的を記した提案書を提出する必要があり、審査には最大60日かかり、スコアとレビュー抜粋へのアクセスのライセンス費用はおよそ年間6万ドルからと言われています。
Rotten Tomatoes をスクレイピングするのは合法ですか?
Fandango の利用規約は、ロボット、スパイダー、クローラー、データ抽出ソフトウェアの使用を明確に禁止しており、さらに Rotten Tomatoes のコンテンツを AI/ML モデルの学習に使用することも別途禁止しています。ライセンス済みの API や Fabric Origin の B2B API 以外での自動収集には、実際の利用規約上のリスクが伴います — このシリーズで扱うプラットフォームの中でも特に厳格な部類に入ります。
Rotten Tomatoes からはどのようなデータを取得できますか?
タイトル検索結果、Tomatometer と Audience Score を含む映画・シリーズ・シーズン・エピソードの詳細、批評家・観客のレビュー抜粋、タイトルごとのスコア付きキャスト・クルーのフィルモグラフィー、そして上映中の映画やトップ TV 番組などのキュレーションされた閲覧リストです。
Tomatometer と Audience Score の違いは何ですか?
Tomatometer はプロの批評家によるレビューのうち肯定的なものの割合(批評家のコンセンサススコア)です。Audience Score は、認証済みのチケット購入者や登録ユーザーのうち、あるタイトルを肯定的に評価した人の割合です。この2つはしばしば乖離するため、両者を比較することが Rotten Tomatoes データの最も一般的な使い方の一つになっています。
Rotten Tomatoes の公式 API に代わる無料の選択肢はありますか?
無料の公式プランはありません。Fabric Origin は、Fandango に直接申請する代わりの選択肢として、映画・番組・シーズン・エピソードをカバーする有料・承認制の B2B 向け Rotten Tomatoes API をライセンス提供していますが、こちらもサブスクリプションとアカウント承認が必要です。
映画だけでなく TV 番組の Rotten Tomatoes データを取得するにはどうすればよいですか?
Rotten Tomatoes は TV をシリーズ/シーズン/エピソードの階層構造として扱います。シリーズエンドポイントは番組レベルの Tomatometer と Audience Score、シーズン数を返します。シーズンエンドポイントはそのシーズンのスコアを返します。エピソードエンドポイントは放送日や親シリーズ・親シーズンを含むエピソードごとの詳細を返します。
集約スコアだけでなく、個々の批評家・観客のレビューも取得できますか?
はい。レビュー抜粋はタイトルごとに、批評家と観客のタイプ別に取得でき、カーソルでページネーションされます。レビュー本文は実名のレビュアーに紐づいているため、収集は一括再公開ではなく、出典を明記した有限のサンプルとして扱ってください。