volleyball-data について
Nevoboの公開APIからオランダのバレーボールデータを取得するスキルです。CLIとPython SDKで現シーズンの大会やクラブ情報を扱え、APIキーは不要です。
主な機能
- 01大会・リーグ一覧の取得
- 02順位表・日程・結果の確認
- 03クラブの日程と結果の取得
- 04下位ディビジョンのプール検索
- 05大会カレンダーと連盟ニュース
- 06CLIとPython SDKでの利用
活用シーン
- 01オランダリーグの現順位の確認
- 02試合スコアとセット結果の確認
- 03クラブの今後の試合の検索
- 04下位ディビジョンのプールの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ machina-sports/ sports-skills --skill volleyball-dataインストール後、Claude Code で/volleyball-dataを入力して読み込まれたか確認します。
同梱ファイルreferences/api-reference.mdreferences/competition-ids.md
詳細
バレーボールデータ(Nevobo — オランダのバレーボール)
クエリを作成する前に、エンドポイント、ID の規則、データ形式について references/api-reference.md を確認してください。
セットアップ
初めて使用する前に、CLI が利用可能か確認してください。
which sports-skills || pip install sports-skills
pip install が失敗する場合(パッケージが見つからない、または Python のバージョンエラーが発生する場合)は、GitHub からインストールしてください。
pip install git+https://github.com/machina-sports/sports-skills.git
このパッケージには Python 3.10 以降が必要です。デフォルトの Python が古い場合は、特定のバージョンを指定してください。
python3 --version # check version
# If < 3.10, try: python3.12 -m pip install sports-skills
# On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills
API キーは不要です。すべてのデータは Nevobo(Nederlandse Volleybalbond)のオープン API から取得されます。
クイックスタート
Python のインポートパスの問題を避けるため、CLI の使用を推奨します。
sports-skills volleyball get_competitions
sports-skills volleyball get_standings --competition_id=nevobo-eredivisie-heren
sports-skills volleyball get_results --competition_id=nevobo-eredivisie-dames
sports-skills volleyball get_schedule --competition_id=nevobo-topdivisie-heren-a
Python SDK(代替方法):
from sports_skills import volleyball
standings = volleyball.get_standings(competition_id="nevobo-eredivisie-heren")
results = volleyball.get_results(competition_id="nevobo-eredivisie-dames")
重要:クエリを実行する前に
重要:データエンドポイントを呼び出す前に、次の点を確認してください。
competition_idには、references/competition-ids.mdに記載された有効な値を使用してください。推測してはいけません。- クラブ固有のコマンドでは、有効な Nevobo の
club_idを用意してください(get_clubsを使ってorganisatiecodeフィールドを確認してください)。 - クラブ ID や大会 ID を推測してはいけません。
get_competitionsまたはget_clubsを使って確認してください。
competition_id パラメーター
オランダのバレーボールの上位 3 階層にある 8 つのリーグが、あらかじめ設定されています。competition_id は nevobo-<league>-<gender>[-<pool>] の形式です。
- Eredivisie(第 1 階層、8 チーム):
nevobo-eredivisie-heren、nevobo-eredivisie-dames - Topdivisie(第 2 階層、プールごとに 10 チーム):
nevobo-topdivisie-heren-a、nevobo-topdivisie-heren-b、nevobo-topdivisie-dames-a、nevobo-topdivisie-dames-b - Superdivisie(第 3 階層、10 チーム):
nevobo-superdivisie-heren、nevobo-superdivisie-dames
下位ディビジョン(1e/2e/3e Divisie、地域、ユース、ビーチ。6,400 超のプール)については、get_poules を使って確認してください。
チーム数とオランダのバレーボールのピラミッドを含む全内容については、references/competition-ids.md を参照してください。
コマンド
| コマンド | 説明 |
|---|---|
get_competitions | 利用可能なすべての大会とリーグを一覧表示します |
get_standings | リーグ順位表(順位、チーム、試合数、ポイント) |
get_schedule | 今後の試合(チーム、会場、日付) |
get_results | 試合結果(スコア、セットごとのスコア) |
get_clubs | バレーボールクラブの一覧(名称、都市、州) |
get_club_schedule | 全チームを対象としたクラブの今後の試合 |
get_club_results | 全チームを対象としたクラブの試合結果 |
get_poules | Nevobo のプールを参照します(下位ディビジョンの確認用) |
get_tournaments | 大会カレンダー |
get_news | 連盟のニュース |
パラメーターと戻り値の形式の詳細については、references/api-reference.md を参照してください。
対象は現シーズンのみです。 Nevobo は過去シーズンのプールとエクスポートデータを削除するため、get_standings、get_schedule、get_results の結果は常に現シーズンのものです。省略可能な season("2026-2027" または 2026)に別のシーズンを指定すると、明確なエラーが返されます。日付が未定の試合では date: null となり、中止された試合には status: "vervallen" が設定されます。
例
例1:エールディヴィジの順位表 ユーザーの発言:「オランダのバレーボールの現在の順位を教えてください」 アクション:
- 男子について
get_standings(competition_id="nevobo-eredivisie-heren")を呼び出します - 女子について
get_standings(competition_id="nevobo-eredivisie-dames")を呼び出します 結果:順位、チーム名、試合数、勝ち点を含むリーグ表
例2:最近の試合結果 ユーザーの発言:「エールディヴィジの最近のバレーボールの試合結果を見せてください」 アクション:
get_results(competition_id="nevobo-eredivisie-heren")を呼び出します 結果:ホーム/アウェイチーム、試合スコア(例:「3-1」)、セットスコア(例:["25-21", "25-18", "21-25", "25-20"])を含む試合結果
例3:クラブの試合日程 ユーザーの発言:「LSVの今後の試合を教えてください」 アクション:
get_clubs(limit=10)を呼び出し、LSVのorganisatiecode(CKL5C67)を見つけますget_club_schedule(club_id="CKL5C67")を呼び出します 結果:LSVの全チームの今後の試合と、会場および日付
例4:2部リーグの順位表 ユーザーの発言:「Topdivisieの順位表を見せてください」 アクション:
- 男子プールAについて
get_standings(competition_id="nevobo-topdivisie-heren-a")を呼び出します - 男子プールBについて
get_standings(competition_id="nevobo-topdivisie-heren-b")を呼び出します 結果:各10チームの2つのプール表
例5:下位ディビジョンを見つける ユーザーの発言:「オランダのバレーボールにはどのディビジョンがありますか?」 アクション:
get_poules(regio="nationale-competitie", limit=20)を呼び出します 結果:略称と説明付きの1e/2e/3e Divisieを含む、全国レベルのプール一覧
存在しないコマンド — 絶対に呼び出さないでください
— 存在しません。最近の試合結果にはget_scoreboardget_resultsを使用してください。— 存在しません。バレーボールのリーグ表にはget_rankingsget_standingsを使用します。— 存在しません。クラブ情報にはget_team_rosterget_clubsを使用してください。— 存在しません。この API では選手レベルのデータを利用できません。get_player_info
上記のコマンド表に記載されていないコマンドは存在しません。
エラー処理
コマンドが失敗した場合は、生のエラーをユーザーに提示しないでください。代わりに、以下を行います。
- エラーを表に出さずに受け取り、代替手段を試します
- ID の代わりにクラブ名が指定されている場合は、まず
get_clubsを使ってorganisatiecodeを見つけます - competition_id からデータが返されない場合は、
get_competitionsを使って利用可能なリーグを確認します - 代替手段をすべて試した後にのみ、簡潔なメッセージで失敗を伝えます
トラブルシューティング
エラー:sports-skills コマンドが見つかりません
原因:パッケージがインストールされていません
解決策:pip install sports-skills を実行します。PyPI にない場合は、GitHub からインストールします:pip install git+https://github.com/machina-sports/sports-skills.git
エラー:順位表が空のリストを返します
原因:大会のレギュラーシーズンが終了しているか、シーズンがまだ始まっていない可能性があります
解決策:get_results を使って最近の試合結果を確認するか、get_poules を使って現在有効なプールのパスを調べます
エラー:試合日程が0件を返します 原因:大会フェーズが終了し、そのプールでは今後の試合が予定されていません 解決策:シーズンフェーズの合間であれば、これは想定どおりです。他のリーグを確認してください(Topdivisie/Superdivisieはまだ開催中の可能性があります)
エラー:クラブの試合日程/結果がエラーを返します
原因:club_id が正しくない可能性があります
解決策:get_clubs を使って有効なクラブ ID を確認します(organisatiecode フィールド、例:「CKL5C67」)
エラー:接続エラーまたはタイムアウト 原因:Nevobo API が一時的に利用できない可能性があります 解決策:少し待ってから再試行してください。API は公開されており認証不要ですが、短時間の停止が発生することがあります