本ページは、Steamの情報をPythonで取得・分析するためのまとめページです。
SteamのAppID確認、公式Web API、Storefrontの appdetails / appreviews、同時接続数(CCU)の自前収集、SteamSpyによる補助データ取得まで、目的別に記事を整理しています。
Steamには、公式Web APIで取得できる情報、Steamストア側のJSONレスポンスから取得できる情報、第三者サービスを使う補助情報があります。それぞれ取得できる内容や注意点が異なるため、この記事では「何をしたいか」から適切な記事へ進めるように整理します。
まずSteamデータ取得を始める場合は、SteamのAppIDを確認する方法から読むのがおすすめです。
このページで分かること
- Steamデータ取得で最初に必要なAppIDの確認方法
- Steam公式Web APIで取得できる情報
- Steam Storefrontの
appdetailsで取得できるストア情報 - Steam Storefrontの
appreviewsで取得できるレビュー情報 - 同時接続数(CCU)を自前で時系列収集する方法
- SteamSpyを補助データとして使う方法
- 各データ取得方法の注意点と使い分け
Steamデータ取得の全体像
Steam関連のデータ取得では、大きく以下のような取得元を使い分けます。
| 取得元 | 主な用途 | 特徴 |
|---|---|---|
| Steam公式Web API | アプリ一覧、同時接続数、実績、ニュース | 公式API。APIキーが必要なものと不要なものがある |
Steam Storefront appdetails | 価格、発売日、対応OS、ジャンル、カテゴリ、画像 | ストア情報の取得に便利。仕様変更に注意 |
Steam Storefront appreviews | レビュー本文、好評・不評、投稿日時、プレイ時間 | レビュー分析の中核。cursorによるページングが必要 |
| SteamSpy | 推定オーナー数、タグ、補助的なCCU指標 | 第三者サービス。取得できない場合があるためOptional扱い |
| 自前収集ログ | 同時接続数の時系列推移 | 公式APIの現在値を定期取得して保存する |
レビュー分析を目的にする場合は、appreviews でレビュー本文を取得し、appdetails でタイトルの基本情報を補い、必要に応じて公式Web APIやCCUログ、SteamSpyを組み合わせる流れが扱いやすいです。
目的別に探す
やりたいことが決まっている場合は、以下から該当する記事へ進んでください。
| やりたいこと | 読む記事 | 内容 |
|---|---|---|
| SteamのAppIDを確認したい | SteamのAppIDを確認する方法|URL・検索・API・Python一括取得 | URL、検索、API、PythonでAppIDを確認する |
| Steam Web APIキーを取得したい | Steam Web APIキーの取得方法|登録・保管・Pythonでの接続確認 | APIキーの発行、安全な保管、接続確認 |
| 公式Web APIを使いたい | Steam公式Web APIの使い方|アプリ一覧・同時接続・実績・ニュースをPythonで取得 | GetAppList、同時接続数、実績、ニュースを取得する |
| 価格や発売日を取得したい | Steam appdetailsの使い方|価格・発売日・対応OS・ジャンルをPythonで取得 | ストア基本情報、価格、発売日、対応OS、ジャンルを取得する |
| レビュー本文を取得したい | Steam appreviewsの使い方|レビュー本文・評価サマリーをPythonで取得 | レビュー本文、好評・不評、投稿日時、プレイ時間を取得する |
| 同時接続数の推移を見たい | Steam同時接続数を自前収集して可視化する方法|CCUをPythonで定期取得 | CCUを定期取得し、CSV保存・移動平均・可視化する |
| 推定オーナー数やタグを見たい | SteamSpyの使い方|推定オーナー数・タグ・CCU指標をPythonで取得 | SteamSpyを補助データとして使う。取得できない場合の代替方法も扱う |
最初に確認する:AppID
Steamのデータ取得では、多くの場合 AppID が必要です。AppIDはSteam上のアプリに割り当てられた数値IDで、ゲーム本体、DLC、体験版、サウンドトラックなどにもそれぞれ存在します。
たとえば、SteamストアURLが以下の形式なら、/app/ の直後にある数値がAppIDです。
https://store.steampowered.com/app/2246340/Monster_Hunter_Wilds/この例では 2246340 がAppIDです。
AppIDを間違えると、ゲーム本体ではなくDLCやサウンドトラックを取得してしまう可能性があります。レビュー分析や同時接続数分析を行う前に、必ず対象タイトルのAppIDを確認してください。
SteamのAppIDを確認する方法|URL・検索・API・Python一括取得
公式Web APIで取得できる情報
Steam公式Web APIでは、アプリ一覧、同時接続数、実績、ニュースなどを取得できます。一部のAPIはキーなしでも利用できますが、実績スキーマなどAPIキーが必要なものもあります。
| 取得したい情報 | 主なAPI | 補足 |
|---|---|---|
| アプリ一覧 | ISteamApps/GetAppList | AppID候補の確認に使えるが、件数が多く注意が必要 |
| 現在の同時接続数 | ISteamUserStats/GetNumberOfCurrentPlayers | 取得時点のスナップショット |
| 実績解除率 | GetGlobalAchievementPercentagesForApp | 実績ごとのグローバル解除率 |
| 実績スキーマ | GetSchemaForGame | 実績名・説明・アイコンなど。APIキーが必要 |
| ニュース | ISteamNews/GetNewsForApp | アップデートや告知の確認に使える |
公式Web APIの基本的な使い方は以下の記事で解説しています。
appdetailsで取得できるストア情報
Steam Storefrontの appdetails を使うと、対象タイトルのストア情報を取得できます。レビュー分析記事でアプリ概要を作るときに便利です。
| 取得できる情報 | 例 | 用途 |
|---|---|---|
| タイトル名 | ゲーム名 | 分析対象の確認 |
| 価格・割引 | 通常価格、セール価格、割引率 | セール時期や価格帯の補助情報 |
| 発売日 | リリース日、未発売判定 | 発売直後・長期運用後の評価比較 |
| 対応OS | Windows、Mac、Linux | 動作環境や不満点の背景確認 |
| ジャンル | アクション、RPGなど | 同ジャンル比較 |
| カテゴリ | シングルプレイヤー、Steam実績など | 機能やプレイ形態の把握 |
| 画像URL | ヘッダー画像、スクリーンショット | 記事カードや概要表の補助 |
appdetails は公式Web APIとして細かく保証された仕様ではないため、欠損処理や例外処理を入れて使うのがおすすめです。
Steam appdetailsの使い方|価格・発売日・対応OS・ジャンルをPythonで取得
appreviewsで取得できるレビュー情報
Steam Storefrontの appreviews を使うと、レビュー本文や評価サマリーを取得できます。Steamレビュー分析では、もっとも重要な取得元のひとつです。
| 取得できる情報 | 主な用途 |
|---|---|
| レビュー本文 | テキスト分析、要約、トピック抽出 |
| 好評・不評 | 高評価レビューと低評価レビューの比較 |
| 投稿日時 | 月次・日次のレビュー件数推移 |
| プレイ時間 | 短時間プレイヤーと長時間プレイヤーの比較 |
| 購入区分 | Steam購入かどうかの確認 |
| 早期アクセス情報 | 正式リリース前後の評価比較 |
| 評価サマリー | 総レビュー数、好評数、不評数の確認 |
レビュー本文を複数ページ取得する場合は、cursor を使ったページングが必要です。取得条件によって結果が変わるため、言語、期間、レビュー種別を明記して分析することが重要です。
Steam appreviewsの使い方|レビュー本文・評価サマリーをPythonで取得
同時接続数を時系列で見る
Steam公式Web APIの GetNumberOfCurrentPlayers では、取得時点の同時接続数を取得できます。ただし、過去履歴をまとめて取得できるわけではありません。
アップデート後、セール期間、イベント期間などの変化を見たい場合は、一定間隔で同時接続数を取得し、CSVなどに保存しておく必要があります。
Steam同時接続数を自前収集して可視化する方法|CCUをPythonで定期取得
レビュー件数や好評率とCCU推移を合わせて見ることで、「レビューでは不満が目立つがプレイヤー数は戻っている」「好評率は高いがプレイヤー数は伸びていない」といった解釈がしやすくなります。
SteamSpyは補助データとして使う
SteamSpyを使うと、推定オーナー数やタグ情報などを取得できる場合があります。ただし、SteamSpyは第三者サービスであり、取得できない場合や、推定値として扱うべき情報が含まれます。
そのため、SteamSpyは必須データ源ではなく、取得できた場合に使う補助データとして扱うのがおすすめです。取得できない場合でも、appdetails、appreviews、公式Web APIで多くの分析は可能です。
SteamSpyの使い方|推定オーナー数・タグ・CCU指標をPythonで取得
Steamデータ取得時の注意点
Steam関連データを取得するときは、以下の点に注意してください。
- AppIDを必ず確認する
DLC、体験版、サウンドトラックなどにもAppIDがあるため、対象がゲーム本体か確認します。 - 取得元によって意味が違う
公式Web API、Storefront、SteamSpyでは、取得できる情報や更新頻度、信頼性が異なります。 - 非公式・第三者ソースに依存しすぎない
appdetails、appreviews、SteamSpyは仕様変更や取得失敗の可能性があります。 - 短時間に大量リクエストしない
複数タイトルや大量レビューを取得する場合は、適度に間隔を空けます。 - 取得条件を記録する
言語、期間、国コード、レビュー種別などを記録しておくと、後で再現しやすくなります。 - レビュー本文の扱いに注意する
本文の長文転載や過度な再配布は避け、分析・引用は必要最小限にします。 - 推定値は推定値として扱う
SteamSpyの推定オーナー数などは、厳密な実数として扱わないようにします。
レビュー分析での基本的な流れ
Steamレビュー分析を行う場合は、以下の流れが扱いやすいです。
- 対象タイトルのAppIDを確認する
appdetailsで価格、発売日、ジャンルなどの基本情報を取得するappreviewsでレビュー本文と評価サマリーを取得する- 必要に応じて公式Web APIでニュースや同時接続数を取得する
- 長期的なCCU推移を見たい場合は、自前で定期収集する
- SteamSpyが取得できる場合は、推定オーナー数やタグを補助情報として加える
- レビュー本文を可視化・テキスト分析・トピック抽出する
この流れにすると、単なるレビュー本文の集計だけでなく、価格、ジャンル、時期、プレイヤー数、ニュースなどを踏まえた分析がしやすくなります。
次に読む記事
初めてSteamデータ取得を行う場合は、以下の順番で読むと理解しやすいです。
- SteamのAppIDを確認する方法|URL・検索・API・Python一括取得
- Steam Web APIキーの取得方法|登録・保管・Pythonでの接続確認
- Steam公式Web APIの使い方|アプリ一覧・同時接続・実績・ニュースをPythonで取得
- Steam appdetailsの使い方|価格・発売日・対応OS・ジャンルをPythonで取得
- Steam appreviewsの使い方|レビュー本文・評価サマリーをPythonで取得
- Steam同時接続数を自前収集して可視化する方法|CCUをPythonで定期取得
- SteamSpyの使い方|推定オーナー数・タグ・CCU指標をPythonで取得
まとめ
このページでは、Steamの情報を取得する方法を、公式Web API、Storefront、SteamSpy、自前収集ログに分けて整理しました。
Steamデータ取得では、最初にAppIDを正しく確認し、目的に応じて取得元を使い分けることが重要です。ストア情報は appdetails、レビュー本文は appreviews、同時接続数の現在値は公式Web API、時系列推移は自前収集、推定オーナー数やタグはSteamSpyを補助的に使うと整理しやすくなります。
今後は、これらの取得データを使って、Steamレビュー分析やゲーム別の評価傾向比較につなげていきます。