開発者向け公開API
CS2・Dota 2・Rust・TF2の価格、CS2の分析と市場指数、ゲーム別合計付きのSteamインベントリ評価額、CS2のチームと選手を提供する無料の読み取り専用JSON APIです。ほとんどのエンドポイントには無料の個人APIキーが必要で、キーは制限も引き上げます。市場指数とfloatの照会はキーなしでも使えます。対応するパラメータとデータは以下のとおりです。
スキンの価格を手元で追跡。
CS2アイテムを保存し、価格の変動を追跡。Steam上で各マーケットの価格を比較できます。
APIアクセスと個人の上限
キーなし
市場指数とfloatの照会はログインなしで使えます。IPアドレスごとに毎分5リクエスト。価格、出品情報、データステータス、ドロッププール、チーム、選手、インベントリにはキーが必要です。
エンドポイントキーあり
スクリプトや連携用の無料の個人キーです。価格、出品情報、データステータス、ドロッププール、チーム、選手、インベントリにアクセスでき、キーごとに個別に数える上限が引き上げられます。
キーの入手方法| 制限 | キーなし | キーあり |
|---|---|---|
| 毎分リクエスト数 | 5 | 120 |
| 時間あたりのインベントリリクエスト数:単一と一括 | キーが必要 | 240 |
| 分あたりのインベントリ初回照会数 | キーが必要 | 24 |
| /api/ | キーが必要 | 100 |
| /api/ | 10 | 15 |
インベントリの時間あたりの枠は両エンドポイントで共通です。バッチは1リクエストとして数えます。単一インベントリの応答がstale: trueの場合、この枠は消費しません。初回照会とは保存済み評価がまだないプロフィールへの照会です。
同じIPアドレスから使われるキーは、どのアカウントのものでも共通の上限を共有します:毎分240リクエスト、毎時480件のインベントリリクエスト、毎分48件の初回照会と30件のゲームコーディネーター照会。
キーの入手方法
- Steamでログインし、プロフィールの「APIキー」欄を開きます。 プロフィールへ
- Skinory登録の5分後にキーを作成できます。各アカウントは名前付きの有効なキーを最大3個持てます。
- キーが表示されるのは作成時の1回だけで、保存するのはハッシュのみです。紛失・漏洩したキーはワンクリックで無効化し、新しいキーに置き換えられます。
キーの送り方
キーはAuthorizationヘッダー(Bearerスキーム)またはX-Api-Keyヘッダーで送ります。キーが読まれるのは/api/v1だけです。ブラウザで動くコードや公開リポジトリには入れないでください。
レスポンスヘッダーとエラー
- X-RateLimit-Limit
- 1分あたりのリクエスト上限
- X-RateLimit-Remaining
- 現在のウィンドウで残っているリクエスト数
- X-RateLimit-Reset
- ウィンドウがリセットされるまでの秒数
打ち間違えたキー、不明なキー、無効化されたキーは無視されません。匿名の制限に切り替わるのではなく、WWW-Authenticate付きの401が返ります。BANされたアカウントのキーには403が返ります。制限を超えるとRetry-After付きの429が返ります。
リクエスト例
キーを使って価格を取得
curl -H "X-Api-Key: $SKINORY_API_KEY" \
"https://skinory.io/api/v1/price?q=AK-47%20%7C%20Redline" キーで1つのインベントリを取得
/api/v1/inventoryにSteamID64、プロフィールURL、またはカスタム名を渡します。インベントリは公開が必要です。最大25秒待機する場合、保存済み評価(stale: true)を返す場合、またはRetry-After付きの503を返す場合があります。評価時刻はcheckedAtで確認できます。
curl --include -H "Authorization: Bearer $SKINORY_API_KEY" \
"https://skinory.io/api/v1/inventory?steam=76561197960287930" 保存済みインベントリを一括取得
カンマ区切りで最大100件のSteamID64または/profiles/のURLを渡します。/api/v1/inventoriesはSteamに接続せず保存済み評価を読み取ります。cachedは保存済み評価あり、unknownは評価なしを示します。評価の依頼には/api/v1/inventoryを使います。
curl -H "X-Api-Key: $SKINORY_API_KEY" \
"https://skinory.io/api/v1/inventories?steam=76561198132414056,76561197960287930" TF2の全価格を1回のリクエストで取得
curl --compressed -H "X-Api-Key: $SKINORY_API_KEY" \
"https://skinory.io/api/v1/games/tf2/prices" 429はAPIの上限に達したことを、503は査定待ち、またはSteamが一時的にリクエストを制限していることを示します。Retry-Afterに秒単位で示された時間は、1分を超えていてもすべて待ってください。同じプロフィールへの再試行を並行して行わないでください。
価格データの鮮度
/api/v1/price、/api/v1/offers、/api/v1/gamesのDota 2・Rust・TF2エンドポイントの価格には最低6時間の遅延があります。pricedAt、snapshotAt、staleを確認してください。リアルタイムの価格ではありません。遅延済みスナップショットがまだない場合、APIはRetry-After付きの503を返します。インベントリ評価には別のcheckedAt時刻があります。
エンドポイント
メソッドとパラメータはOpenAPIに基づきます。*付きのパラメータは必須です。完全なレスポンススキーマは仕様書を参照してください。
| エンドポイント | 返す内容 | パラメータ |
|---|---|---|
GET /api/v1/droppool APIキー | 追跡中のCS2週間ドロッププール | — |
GET /api/v1/status APIキー | 価格フィードとデータセットの更新時刻 | — |
GET /api/v1/index | 最新のCS2市場指数とカテゴリ別時価総額 | lang |
GET /api/v1/index/history | 1カテゴリのCS2市場指数の日次履歴 | categorydayslang |
GET /api/v1/inventory APIキー | 公開Steamインベントリの評価:CS2、Dota 2、Rust、TF2 | steam*lang |
GET /api/v1/inventories APIキー | 1リクエストで最大100件のSteamインベントリの保存済み評価 | steam*lang |
GET /api/v1/price APIキー | 名前でCS2アイテムを検索。価格は最低6時間遅延 | q*langcurrency |
GET /api/v1/price/history APIキー | 1つのCS2アイテムの日次価格履歴 | q*dayslang |
GET /api/v1/offers APIキー | 1つのCS2アイテムのマーケット出品価格。最低6時間遅延 | name*lang |
GET /api/v1/games/{game} APIキー | Dota 2・Rust・TF2のカタログ:フィルターと価格ソース | game*lang |
GET /api/v1/games/{game}/items APIキー | Dota 2・Rust・TF2のアイテム。価格は最低6時間遅延 | game*qnameheroraritytypequalityslotcategoryitemclasssortpagelimitlang |
GET /api/v1/games/{game}/items/{slug} APIキー | Dota 2・Rust・TF2のアイテム1つとマーケット出品価格。最低6時間遅延 | game*slug*lang |
GET /api/v1/games/{game}/prices APIキー | 1つのゲームの全価格を1回のレスポンスで取得。最低6時間遅延 | game* |
GET /api/v1/float | 検査リンクからCS2アイテムのfloat、seed、ステッカー、チャームを取得 | url*lang |
GET /api/v1/teams APIキー | 公式Valveランキングに掲載されたCS2チーム | region |
GET /api/v1/teams/{slug} APIキー | チームプロフィール:メンバー、トロフィー、試合、順位履歴 | slug* |
GET /api/v1/players APIキー | Valveランキング掲載チームの選手 | steamlimit |
GET /api/v1/players/{slug} APIキー | 選手プロフィールと現在の所属チーム | slug* |
AIアシスタント専用の別枠
認識されたAIアシスタントはキーなしでインベントリを利用できます。リクエスト枠はIPごと、初回照会枠は全アシスタントで共有です。バッチは最大50プロフィールです。これは個人キーの上限ではありません。
- 既知のAIアシスタントの /api/v1 への毎分リクエスト数
- 120
- IPごとの時間あたりのインベントリリクエスト数
- 120
- 未査定プロフィールの毎分照会数(全AIアシスタントで共有)
- 16
仕様と機械可読ファイル
/api/openapi.jsonOpenAPI 3.1仕様:パラメータ、レスポンススキーマ、エラー/.well-known/openapi.json同じ仕様をwell-knownアドレスで提供/llms.txtAIアシスタント向けのサイト概要(URLパターンとAPIレシピ)/llms-full.txt英語のテキストガイドをすべて1つのMarkdownファイルに収録/llms-catalog.txtCS2: 出品時価総額の上位500スキンをJSON Linesで提供、1時間ごとに更新/.well-known/ai-catalog.jsonAIエージェント向けの機能マニフェスト- 方法論 価格の出どころと計算方法
ライセンス
ガイド、編集記事、サイト独自の派生データ(ドロッププールの推定、ケースのRTP、指数、日次中央値、パターン表、llms-catalog.txtの集計)はCC BY 4.0で提供しています。Skinoryの名前と元ページへのリンクを明記してください。
チームと選手のデータ(/api/v1/teams、/api/v1/players)はLiquipediaに基づき、CC BY-SA 4.0で提供しています。Skinoryの名前とリンクを明記し、改変物は同じライセンスで共有してください。
カタログにはSteamとゲームファイルのデータを使い、CS2ではCSGO-APIも利用します。これらの資料と市場価格は第三者の提供であり、元の権利者の条件が適用されます。
引用のしかた
ページは「Skinory — ページタイトル、URL、更新日」の形で引用してください。正規URLとページに表示された日付を使い、日付がなければ閲覧日を記します。価格は通貨と時刻を添えてください。価格は変動します。
Skinory — AK-47 | Redline, https://skinory.io/ja/items/ak-47-redline, 2026-11-11
