Tony Wang6 分で読めますPlayStation Storeのスクレイピング方法【2026年版】(API & Python)
2026年版PlayStation Storeスクレイピングガイド。ゲーム価格・エディション・セール・検索結果をDIY・ノーコード・構造化APIで取得。法的注意点も解説。
2026年に PlayStation Store のデータをスクレイピングする最も手早い方法は、ストアのページを自分で解析するのではなく、正規化された JSON — ゲーム詳細、価格とエディション、検索結果、閲覧・カテゴリのグリッド、セール棚 — を返す構造化 API を呼び出すことです。PlayStation Store は Steam のようなストアフロントのコンソール専用版で、やること(カタログ、価格、セール)は同じでもエコシステムは完全に別で、PC クライアントに頼ることはできません。Sony にはセルフサービス型の公開 API はなく、自動アクセスについての規約も明確です。このガイドでは3つのアプローチすべてを取り上げ、それぞれが何を返すか、そして法律上の実情を最初に解説します。
なぜ PlayStation Store のデータをスクレイピングするのか?
PlayStation Store のカタログと価格データは、次のような用途を支えます。
- 価格トラッキング —
discounted_priceがbase_priceに対してどう動くかを監視し、セールが始まった瞬間を捉えられます。 - セール・値下げのモニタリング — 手動で確認する代わりに、ストアのセール棚をスケジュールに沿って取得できます。
- コンソールゲーム市場のリサーチ — 出版社の PS4/PS5 カタログ全体で、価格、エディション、DLC/追加コンテンツの構成を比較できます。
- 新作トラッキング — PlayStation で出たばかりの作品を知るために「最新」棚を監視できます。
- クロスプラットフォーム比較 — PlayStation の価格をSteam の価格と組み合わせ、同じタイトルがコンソールと PC でどう値付けされているかを比較できます。
PlayStation Store をスクレイピングするのは合法か?
選択肢1: Python で DIY する(そしてなぜ破綻するか)
PlayStation Store のウェブページは静的な HTML ではなくクライアントサイドの API からレンダリングされるため、DIY のスクレイパーはその内部 API に直接アクセスする必要があります。
import requests
resp = requests.get(
"https://store.playstation.com/en-us/product/UP0001-PPSA01491_00-GAME000000000000",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
# Price, editions, and add-ons are hydrated from an internal GraphQL-backed
# API call the page makes after load — not present in the raw HTML
デモは動きますが、その後破綻します。
- 規約が明確で、それを回避する API のルートがない。 ログインの先にある機能を制限するだけのサイトとは異なり、PlayStation の規約はロボットとスクレイパーを名指しし、さらに AI トレーニング/データマイニングを個別に禁止しています——代わりに「デベロッパーリレーションズに問い合わせる」ような扉はありません。
- 安定した公開スキーマがない。 ストアの内部 API はサードパーティ向けに文書化されておらず、GitHub や PyPI にあるコミュニティ製ラッパーはすべてリバースエンジニアリングされたもので、Sony がストアフロントの内部クライアントを変更すると静かに壊れます。
- 追跡すべき2つの id システム。 ゲームには
concept_id(エディションとプラットフォームをまたぐゲームのハブ)と、エディション/SKU ごとの個別のproduct_idがあります。間違った方を使うと、間違った価格や間違ったプラットフォームのリスティングを取得してしまいます。 - 地域・通貨のファンアウト。 価格、通貨、在庫状況はすべてストアフロントの地域(
cc/国コード、l/ロケール)によって変わります——1回のリクエストは常に1つの地域だけを反映します。
選択肢2: ノーコードツール
コミュニティ製の PlayStation Store API ラッパー(PHP、Python、JS)が存在し、サードパーティのスクレイパー製品も PlayStation対応をうたっていますが、いずれも同じ非公開の内部 API の非公式クライアントであり、DIY と同じ破綻リスクを抱えたまま、実際の障害との間に他人のメンテナンス負担が挟まるだけです。
選択肢3: 構造化された PlayStation Store API
繰り返し実行するワークフローには、Crawlora の PlayStation Store API が正規化された JSON を返し、内部 API をリバースエンジニアリングしてメンテナンスする必要はありません。タイトルを検索するには次のようにします。
curl "https://api.crawlora.net/api/v1/playstation/search?term=god%20of%20war" \
-H "x-api-key: $CRAWLORA_API_KEY"
続いて商品 id を解決し、詳細を取得しつつ、セール棚も Python で確認します。
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/playstation"
hits = requests.get(f"{base}/search", headers=h, params={"term": "god of war"}).json()["data"]["items"]
product_id = hits[0]["id"]
product = requests.get(f"{base}/product", headers=h, params={"id": product_id}).json()["data"]
deals = requests.get(f"{base}/deals", headers=h).json()["data"]
商品詳細は正規化された JSON です(実際のフィールド——ドキュメントを確認してください)。
{
"code": 200,
"msg": "OK",
"data": {
"id": "UP0001-PPSA01491_00-GAME000000000000",
"name": "Assassin's Creed Valhalla",
"np_title_id": "PPSA01491_00",
"concept_id": "10000237",
"type": "GAME",
"classification": "FULL_GAME",
"platforms": ["PS4", "PS5"],
"star_rating": { "average": 4.08, "count": 84255 },
"price": {
"base_price": "$59.99",
"discounted_price": "$19.79",
"discount_text": "-67%",
"base_price_value": 5999,
"discounted_value": 1979,
"currency_code": "USD",
"is_free": false,
"applicability": "OUTRIGHT"
},
"source_url": "https://store.playstation.com/en-us/product/UP0001-PPSA01491_00-GAME000000000000"
}
}
/playstation/deals はストアのセール棚を、それぞれ同じ price の形(base_price、discounted_price、discount_text)を持つ項目のセクションとして返します。
{
"data": {
"sections": [
{
"id": "3f772501-f6f8-49b7-abac-874a88ca4897",
"name": "All Deals",
"count": 12,
"items": [
{
"kind": "product",
"id": "UP0002-PPSA34502_00-CODBO2GAME000001",
"name": "Call of Duty®: Black Ops II",
"platforms": ["PS5"],
"price": { "base_price": "$39.99", "discounted_price": "$19.99", "discount_text": "-50%", "is_free": false }
}
]
}
],
"count": 12
}
}
/playstation/concept はゲームハブレベルのビュー——publisher、genres、content_rating、default_product_id、そして独自の価格を持つ editions/add_ons の完全なリスト——を返します。SKU ごとではなくゲームごとに1レコードが欲しい場合に便利です。/playstation/category と /playstation/browse は、フィルタ付きリスティングを構築するための facets(価格帯、ジャンル)を含むページ分けされたグリッドを返します。/playstation/latest と /playstation/page は新作棚とマーチャンダイジングのコレクションを扱います。商品 id ごとに1行(またはゲームごとに1行が欲しければコンセプト id ごとに1行)を保存し、スケジュールを組んで再実行して価格とセールの変化を追跡しましょう。
収集できるもの
公開されているストアフロントのデータです。検索結果(id、name、platforms、price)、商品詳細(name、np_title_id、concept_id、classification、platforms、content_rating、star_rating、価格とエディション、メディア、source URL)、コンセプト/ゲームハブ詳細(publisher、genres、release date、エディションと add-on の完全なリスト)、facets 付きのカテゴリ・全ゲーム閲覧グリッド、セール棚、最新リリース棚、そしてマーチャンダイジングのコレクションページです。公開されているカタログと価格データのみで、PSN アカウント、購入履歴、トロフィーのデータは決して含みません。
制約とよくある課題
- 規約が明確なので、対象範囲を狭く保つ。 デベロッパー API のルートは存在しません——公開されているカタログと価格のフィールドにとどまり、レート制限を尊重し、PSN ログインの先にあるものには決してアクセスしようとしないでください。
- 1つのゲームに2つの id。
concept_id(ハブ)とproduct_id(特定のエディション/SKU)の両方を追跡してください——間違った方で詳細を取得すると、間違った価格やプラットフォームになります。 - 地域依存の価格。 価格と通貨はストアフロントの地域によって変わります——
cc/lを一貫して渡し、通貨を正規化せずに地域をまたいで価格を平均しないでください。 - コンソール専用で、PC ではない。 Steam とは異なり、突き合わせるべきクロスプラットフォームのキーや Linux/Mac の SKU はありません——ここにあるすべての id は PlayStation 固有のものです。
- セールの回転が速い。 プロモーション中はセール棚が毎日変わります——1回のスナップショットを信頼するのではなく、スケジュールを組んで再取得しましょう。
どこで使われるか
- 価格トラッキング — あるタイトルの
discounted_priceを監視し、/playstation/dealsに反映された瞬間に値下げをフラグ立てできます。 - コンソールゲーム市場のリサーチ — PS4/PS5 カタログ全体で出版社の価格やエディション/DLC の構成を比較できます。
- クロスプラットフォームの価格比較 — PlayStation の価格をSteam の価格と組み合わせ、コンソールと PC で同じタイトルを比較できます。
出典
収集を始める
まずは無料でお試しください: 任意の公開 URL を無料ウェブスクレイパーに通すか、アンチボットチェッカーでサイトがボットをブロックするかどうかを確認できます。サインアップ不要です。
検索と商品のエンドポイントをプレイグラウンドで試し、API ドキュメントでスキーマを確認し、料金をご覧ください。PlayStation Store は、Steamが PC 向けに担っているのと同じ「カタログ、価格、セール」という仕事のコンソール版です——両者を組み合わせて、同じタイトルがエコシステムをまたいでどう値付けされているかを比較しましょう。まったく別種のカタログ&統計プラットフォームについては、MLB 統計のスクレイピング方法が同じ正規化 JSON アプローチのスポーツ版を扱っています。あわせてウェブスクレイピング API の選び方とウェブスクレイピングは合法かもご覧ください。
よくある質問
公式のPlayStation Store APIはありますか?
ありません。SonyはPlayStation Storeカタログ向けのセルフサーブ公開開発者APIを提供していません。GitHubやPyPIにあるラッパーはすべて、ストアフロントの内部APIをリバースエンジニアリングしたクライアントであり、公式に認められた連携ではありません。
PlayStation Storeをスクレイピングするのは合法ですか?
PlayStationのウェブサイト利用規約は、目的を問わずロボット、スクレイパー、テキスト/データマイニングを明示的に禁止しており、開発者API向けの例外はありません。公開のカタログ・価格データにとどめ、レート制限を守り、ログインの奥にあるPSNアカウントやトロフィーデータには決してアクセスを試みないでください。
concept_idとproduct_idの違いは何ですか?
concept_idはすべてのエディション・プラットフォームにまたがるゲームハブを識別します。product_idは独自の価格を持つ特定のエディションやSKUを識別します。検索はどちらも返す可能性があり、製品詳細には常に所属するconcept_idが含まれます。
PlayStation Storeの値下げやセールを追跡できますか?
はい。ストアの現在のセール一覧には/playstation/deals、特定タイトルのライブ価格には/playstation/productを呼び出し、どちらも定期的に再実行することで値引きが出現した際に捕捉できます。
PlayStation Storeの価格は地域によって異なりますか?
はい。価格と通貨はストアフロントの地域に依存し、cc(国コード)とl(ロケール)パラメータで制御されます。これらを一貫して渡し、通貨を正規化せずに地域をまたいで価格を比較しないでください。
PlayStationの製品詳細にはどんなフィールドが含まれますか?
名前、np_title_id、concept_id、分類、プラットフォーム、レーティング、星評価、そしてbase_price・discounted_price・discount_text・currency_codeを含む価格オブジェクト、さらにストアフロントページへのsource_urlです。
PlayStation Storeのスクレイピングは Steam とどう違いますか?
どちらもカタログ・価格・セールデータを正規化されたJSONとして返しますが、PlayStation Storeはコンソール専用でPCクライアントや突き合わせ用のクロスプラットフォームキーがない一方、Steamは1つのカタログの下でWindows/Mac/Linuxをまたぎます。