SportApi
APIドキュメント

スポーツラインAPI ドキュメント

スポーツラインの統合に必要なすべて:認証、メソッド、パラメータ、すぐに使えるコードサンプル、およびJSONレスポンス。

GET /v1/start json
{
  "ok": true,
  "package": "STANDARD",
  "limits": { "requests": 1000000, "rps": 40 },
  "sports": 214,
  "languages": ["en", "ru", "ua", "es"]
}

何から始める?

当社のAPIシステムへようこそ!次の簡単な手順に従うことで、すぐにAPIの使用を開始し、スポーツデータをご使用のシステムに統合できます。

  1. データ統合用のAPIキーを取得する
    技術サポートにお問い合わせください。その後のリクエストに使用するユニークなAPIキーとドメインアドレスが提供されます。このキーは、APIへのすべてのリクエストを認証するために必要です。

  2. ドキュメントを確認する
    キーを受け取ったら、APIドキュメントに進み、利用可能なメソッド、リクエスト例、およびレスポンスを確認できます。これにより、スポーツデータをシステムに統合する方法を理解できます。

  3. 最初のリクエストを送信する
    APIキーを使用して、APIへの最初のリクエストを送信します。ドキュメントセクションには、さまざまなタイプのスポーツデータに関するリクエストとレスポンスの例が含まれています。

  4. 統合を開始する
    テストリクエストが成功したら、プロジェクトへのデータ統合を開始できます。当社のAPIは、さまざまな種類のスポーツやイベントを処理するための柔軟なツールを提供します。

  5. サポートを受ける
    ご不明な点がございましたら、いつでも技術サポートにお問い合わせいただくか、よくある質問(FAQ)セクションを使用して一般的な問題を解決できます。

APIメソッド

スポーツライン用のAPIは、さまざまなスポーツデータを取得できる限られたメソッドセットを提供します。以下は、利用可能なすべてのメソッドのリストです。各メソッドは、特定のタスクを実行するための特定の情報セットを返します。ニーズに応じて必要なメソッドを選択できます。各メソッドに加えて、パラメータを使用して取得データを便利にフィルタリングおよびカスタマイズできます。パラメータの詳細な説明は以下に提供されています。

  • menu このメソッドは、スポーツの種類、国、およびチャンピオンシップを含む、スポーツイベントメニューの構造を返します。
  • events このメソッドは、ベッティングに利用可能な簡単なオッズセットを含む試合のリストを返します。
  • event このメソッドは、識別子によって特定のスポーツイベントに関する詳細情報を返し、その試合のベット、オッズ、および結果の完全なセットを返します。
  • topmatches このメソッドは、ユーザーの間で最も人気があるか、または高いベッティングアクティビティを持つトップマッチのリストを返します。
  • search このメソッドは、チーム名などのキーワードによるスポーツイベントの検索を可能にします。

APIパラメータ

当社のAPIを使用する際、リクエストをカスタマイズし、要件を満たす正確なデータを取得するのに役立つさまざまなパラメータを使用できます。パラメータを使用すると、スポーツ、国、トーナメントでデータをフィルタリングし、返されるイベントの形式を調整できます。以下は、利用可能なパラメータとその説明のリストです。これにより、APIへのリクエストを柔軟に管理できます。

  • API-URL-LINE スポーツラインデータをリクエストするホストのURL。つまり、スポーツデータを取得するためにリクエストを送信するURLです。
  • API-KEY サービスパッケージを定義する個人アクセスキー PersonalKey。このキーは、各リクエストとともにリクエストヘッダー(headers)で送信されます。
  • METHODS-API データを取得するためのメソッドの名前。すべてのメソッドは前のセクションで説明されています。
  • TYPE スポーツラインデータのタイプ。live(リアルタイムデータ用)または line(試合前のラインデータ用)の値を取ることができます。
  • LANG スポーツラインデータが提供される言語。サポートされる言語はパッケージによって異なります。
  • SPORT-ID スポーツの識別子。
  • COUNTRY-ID 国の識別子。
  • CHAMPIONSHIP-ID トーナメントの識別子。
  • MATCH-ID 試合の識別子。
  • KG イベントとオッズの表示方法。2つのオプションが利用可能です:sub - 試合はチャンピオンシップごとにグループ化されます;list - 試合はグループ化なしで通常のリストとして表示されます。

注意: 特定の試合では、グループ化は試合ではなく、結果とベットに適用されます。したがって、単純なリストとして表示するか、論理的な結果カテゴリごとに便利にグループ化して表示できるオッズのリストを取得します。

リクエスト例

このセクションでは、スポーツデータを取得するためのAPIへのリクエスト例を提供します。この例では、APIキーなどの一意のパラメータを使用してAPIメソッドの1つを使用する方法を示します。これにより、リクエストを正しくフォーマットし、必要な情報を取得する方法をよりよく理解できます。

スポーツイベント取得のリクエスト例

例の中のデータは架空のものです。技術サポートから受け取った実際のデータに置き換えてください。

GET

スキーマ: [API-URL-LINE] /v1/ [METHODS-API] / [TYPE] / [LANG]

リクエスト: HTTPS://example-domain-demo.com/v1/menu/live/ja

ヘッダー: 'Package': '0145-3455-1298-2978-1100'

GET /v1/menu/live/en python
import requests

url = "https://api.sportapi.net/v1/events/21/101/prematch/en"
headers = {"Package": "YOUR_API_KEY"}

response = requests.get(url, headers=headers)
print(response.json())

Postmanで試す

APIの統合を簡素化するために、Postman用のリクエストコレクションを用意しました。ファイルをダウンロードしてPostmanにインポートし、リクエストを手動で設定することなく、すぐにAPIの操作を開始できます。

Postmanでの開始手順:

  1. Postmanコレクションをダウンロードし、Postmanにインポートします。

  2. ファイルをPostmanにインポートする:

    • Postmanを開きます。
    • 上部メニューで、File -> Import を選択します。
    • ダウンロードしたファイルをアップロードします。
  3. 変数を設定する:
    コレクションをインポートした後、APIキーやその他のパラメータを追加する必要があります。これは、コレクションの Variables セクションで行うか、各リクエストに手動で追加できます。

  4. リクエストを実行する:
    これで、すぐにリクエストの送信とAPIからのデータ受信を開始できます。

Example of requesting sports data via Postman

スポーツ、国、およびチャンピオンシップの取得

1回のリクエストで、スポーツ、国、およびチャンピオンシップに関するデータを取得できます。これを行うには、ライブ試合か今後のイベントが必要かに応じて、リクエストのデータタイプを変更するだけです。

レスポンスは必要なすべての情報を提供します:

  • スポーツID とその名前。
  • 国ID とその名前。
  • チャンピオンシップID とその名前。

すべてのデータは便利なオブジェクトにグループ化され、システムに簡単に統合できるため、任意の形式で情報を表示できます。

このデータを取得するには、menu メソッドにリクエストを送信し、次のパラメータを指定する必要があります:

  • 試合タイプ:ライブ試合のデータが必要か、今後のイベントのデータが必要かを指定します。
  • データ言語:データを受け取りたい言語を選択します。

これらのパラメータは送信に必須です。リクエストヘッダー(Headers)で APIキー を渡すことも忘れないでください。

リクエスト例

このリクエストを送信して、試合と結果を取得するために必要なすべてのデータを含むメニューを取得します:

注意: ラインのリクエストは少なくとも40秒の間隔で送信することをお勧めします。ライブのリクエストは少なくとも20秒。データはそれほど頻繁に更新されないため、この間隔で最新の情報を取得するには十分です。

GET   スキーマ: [API-URL-LINE] /v1/ [METHODS-API] / [TYPE] / [LANG]

リクエスト: HTTPS://example-domain-demo.com/v1/menu/live/ja

ヘッダー: 'Package': '0145-3455-1298-2978-1100'

フィールド説明

  • id アイテム(スポーツ、国、またはチャンピオンシップなど)の一意の識別子。
  • name アイテムの名前(スポーツの場合は サッカー、国の場合は ヨーロッパ、チャンピオンシップの場合は UEFAチャンピオンズリーグ など)。
  • counter このアイテムで利用可能なイベントまたは試合の数。
  • sub 選択したスポーツの国やチャンピオンシップなどのネストされたアイテムを含む配列。これにより、スポーツから特定のトーナメントまでのデータの階層を取得できます。

構造解析の例

この例では:

  • サッカー — IDが 1 で、126個の利用可能なイベントがあるスポーツ。
  • スポーツ内には、10試合を含む ヨーロッパ (ID 12) などの国があります。
  • ヨーロッパ 内には、3試合が利用可能な UEFAチャンピオンズリーグ (ID 118587) などのいくつかのチャンピオンシップがあります。
GET /v1/menu/live/en json
{
    "status":1,
    "body":[
        {
            "id":1,
            "name":"Football",
            "counter":126,
            "sub":[
                {
                "id":12,
                "name":"Europe",
                "sport_id":1,
                "counter":10,
                "sub":[
                    {
                        "id":118587,
                        "name":"UEFA Champions League",
                        "sport_id":1,
                        "country_id":12,
                        "counter":3
                    },
                    {
                        "id":218103,
                        "name":"UEFA Champions League. Winner",
                        "sport_id":1,
                        "country_id":12,
                        "counter":1
                    },
                    {
                        "id":16,
                        "name":"Italy",
                        "sport_id":1,
                        "counter":1,
                        "sub":[
                            {
                            "id":6356,
                            "name":"Italy. Serie C. Group A",
                            "sport_id":1,
                            "country_id":16,
                            "counter":1
                            }
                        ]
                    }
                ]
                }
            ]
        },
        {
            "id":2,
            "name":"Tennis",
            "counter":40,
            "sub":[
                {
                "id":14,
                "name":"Portugal",
                "sport_id":2,
                "counter":1,
                "sub":[
                    {
                        "id":8031,
                        "name":"Challenger. Braga",
                        "sport_id":2,
                        "country_id":14,
                        "counter":1
                    }
                ]
                }
            ]
        }
    ]
}

試合一覧

試合のリストに関するデータを取得できます。すべてのスポーツのすべての試合を取得することはできないため、スポーツID を指定する必要があることに注意することが重要です。また、ライブ試合か今後のイベントが必要かを選択し、フィルタリングのための追加パラメータを指定できます。

レスポンスは、指定したスポーツの試合に関するすべての必要な情報を提供します。

すべてのデータは便利なオブジェクトにグループ化され、システムに簡単に統合できるため、任意の形式で情報を表示できます。

試合のリストを取得するには、events メソッドにリクエストを送信し、次のパラメータを指定する必要があります:

  • スポーツID:必須パラメータ。
  • チャンピオンシップID:特定のチャンピオンシップの試合に関心がある場合。すべての試合が必要な場合は「0」を指定します。
  • レスポンスのグループ化:データのグループ化方法を指定します。
  • 試合タイプ:ライブ試合のデータが必要か、今後のイベントのデータが必要かを選択します。
  • データ言語:データを受け取りたい言語を選択します。

これらのパラメータは送信に必須です。リクエストヘッダー(Headers)で APIキー を渡すことも忘れないでください。

リクエスト例

このリクエストを送信して、試合と結果を取得するために必要なすべてのデータを含むメニューを取得します:

注意: ラインのリクエストは少なくとも20秒の間隔で送信することをお勧めします。ライブのリクエストは少なくとも5秒。この間隔で最新の情報を取得するには十分です。

GET   スキーマ: [API-URL-LINE] /v1/ events / [SPORT-ID] / [CHAMPIONSHIP-ID] / [KG] / 50 / [TYPE] / [LANG]

リクエスト: HTTPS://example-domain-demo.com/v1/events/1/0/list/50/live/ja

ヘッダー: 'Package': '0145-3455-1298-2978-1100'

レスポンスには、チーム、トーナメント、およびオッズに関する情報を含む試合に関するデータが含まれています。レスポンスオブジェクトで返される主要なフィールドは以下で説明されています。タイプ [KG] に応じて返されるデータが異なることに注意してください(以下の json サンプルは、最初に [KG] = list を示し、次に [KG] = sub を示しています)。

フィールドの説明

  • status リクエストのステータス。1 の場合、リクエストは正常に実行されました。
  • sgame_id システムにおける試合の一意の識別子。
  • stat_id 試合の統計の識別子。
  • game_id 内部の試合識別子。
  • game_mid サブマッチの識別子。
  • game_dop_name 試合に関する追加情報(たとえば、「延長戦」)。
  • game_start Unix Timestamp 形式の試合開始時間。
  • game_oc_counter この試合でベッティングに利用可能な市場の数。
  • country_id 試合が開催される国の識別子。
  • country_name 国の名前。
  • tournament_id トーナメントの識別子。
  • tournament_name トーナメントの名前。
  • opp_1_name 第1チームの名前。
  • opp_2_name 第2チームの名前。
  • opp_1_id 第1チームの識別子。
  • opp_2_id 第2チームの識別子.
  • opp_1_icon 第1チームのアイコン。
  • opp_2_icon 第2チームのアイコン。
  • sport_name スポーツの名前(たとえば、「サッカー」)。
  • sport_id スポーツの識別子。
  • score_full 試合のフルスコア。
  • score_extra テニスでのゲームスコア。
  • score_period 特定の期間のスコア。
  • period_name 試合の期間の名前(たとえば、「後半」)。
  • timer 現在の試合時間を秒単位で示すタイマー。
  • pitch サーブしているプレーヤーのID(サーブのあるスポーツの場合)。
  • finale 試合が終了したかどうかを示すブール値。

ベッティング市場の情報

  • oc_group_name 市場グループの名前(たとえば、「ダブルチャンス」)。
  • oc_name 特定の結果の名前(たとえば、「1X」)。
  • oc_rate この結果のオッズ。
  • oc_pointer 結果の一意の識別子。
  • oc_block 結果がブロックされているかどうかを示すブール値(true の場合 — 結果はブロックされており、ベッティングに利用できません)。
GET /v1/events/1/0/list/50/live/en json
// [KG] = list
{
    "status": 1,
    "body": [
        {
            "sgame_id": "66f8a2d60d8c0bfbf1af3f93",
            "stat_id": "66c914530d8c0bfbf15f5682",
            "game_id": 562898620,
            "game_mid": 562898620,
            "game_dop_name": "Extra-Time",
            "game_start": 1707807400,
            "game_oc_counter": 38,
            "country_id": 231,
            "country_name": "England",
            "tournament_id": 108319,
            "tournament_name": "England. FA Cup",
            "opp_1_name": "King's Lynn Town",
            "opp_2_name": "Worksop Town",
            "opp_1_id": 40547,
            "opp_2_id": 40549,
            "opp_1_icon": "400098.png",
            "opp_2_icon": "1201c9f.png",
            "sport_name": "Football",
            "sport_id": 1,
            "score_full": "0:0",
            "score_extra": "0:0",
            "score_period": "0:0",
            "period_name": "3 Half",
            "timer": 6511,
            "finale": false,
            "pitch": null,
            "game_oc_list": [
                {
                    "oc_group_name": "Double Chance",
                    "oc_name": "1X",
                    "oc_rate": 1.136,
                    "oc_pointer": "562898620|8|4|0",
                    "oc_block": false
                }
            ]
        }
    ]
}

// [KG] = sub
{
    "status": 1,
    "body": [
        {
            "tournament_id": 8147,
            "tournament_name": "Thailand. League Cup",
            "events_list": [
                {
                    "sgame_id": 66f8a2d60d8c0bfbf1af3f93,
                    "stat_id": 3788a2d60d8c0bfbf1af3f93,
                    "game_id": 562987092,
                    "game_mid": 562987092,
                    "game_dop_name": "",
                    "game_start": 1707856000,
                    "game_oc_counter": 183,
                    "country_id": 180,
                    "country_name": "Thailand",
                    "tournament_id": 8147,
                    "tournament_name": "Thailand. League Cup",
                    "opp_1_name": "ACDC",
                    "opp_2_name": "Pattaya United",
                    "opp_1_id": 505873,
                    "opp_2_id": 4978,
                    "opp_1_icon": "729aadb95ad1df.png",
                    "opp_2_icon": "4978.png",
                    "sport_name": "Football",
                    "sport_id": 1,
                    "score_full": "1:1",
                    "score_extra": "0:0",
                    "score_period": "1:1;0:0",
                    "period_name": "2 Half",
                    "timer": 4451,
                    "pitch": null,
                    "finale": false,
                    "game_oc_list": [
                        {
                            "oc_group_name": "1X2",
                            "oc_name": "W1",
                            "oc_rate": 8.19,
                            "oc_pointer": "562987092|1|1|0",
                            "oc_block": false
                        },
                        {
                            "oc_group_name": "1X2",
                            "oc_name": "X",
                            "oc_rate": 1.82,
                            "oc_pointer": "562987092|1|2|0",
                            "oc_block": false
                        }
                    ]
                }
            ]
        }
    ]
}

特定の試合

特定の試合に関する詳細情報を取得するためのメソッド。このメソッドを使用すると、チーム、結果、試合の現在の状態、および利用可能なベットを含む、特定の試合に関する情報をリクエストできます。特定のゲームに関する最新データを取得するために使用されます。

リクエスト例

注意: ラインのリクエストは少なくとも20秒の間隔で送信することをお勧めします。ライブのリクエストは少なくとも5秒。この間隔で最新の情報を取得するには十分です。

GET   スキーマ: [API-URL-LINE] /v1/ event / [GAME-ID] / [KG] / [TYPE] / [LANG]

リクエスト: HTTPS://example-domain-demo.com/v1/event/45566556/sub/live/ja

ヘッダー: 'Package': '0145-3455-1298-2978-1100'

レスポンスには、この試合で利用可能なすべての結果とオッズに関する情報を含む、特定の1試合に関するデータが含まれています。特定の試合では、その試合のすべての結果とオッズを取得できます。以下は、レスポンスオブジェクトで返される主要なフィールドです。タイプ [KG] に応じて返されるデータが異なることに注意してください。これらは、ベッティングのベットとオッズのグループ化に影響します。

レスポンスには、試合リストリクエストと異なるフィールドのみが含まれています。説明は以下の通りです:

  • stat_list コーナー、攻撃、カード、危険な攻撃、その他の指標などのライブ統計を含む配列。

  • sub_games 追加のベッティング市場の識別子のリスト。たとえば、後半またはコーナーキックのみのオッズと結果をリクエストできます。

  • game_oc_list このリストには、1つの配列内のすべての結果とオッズが含まれるか、システムへの統合を容易にするためにカテゴリ別にグループ化される場合があります。

GET /v1/event/45566556/sub/live/en json
{
    "status": 1,
    "body": {
        "game_oc_list": [
            {
                "group_id": 1,
                "group_name": "1X2",
                "columns": 3,
                "oc_list": [
                    {
                        "oc_group_name": "1X2",
                        "oc_name": "W1",
                        "oc_rate": 1.245,
                        "oc_size": 0,
                        "oc_pointer": "563034215|1|1|0",
                        "oc_block": false
                    },
                    {
                        "oc_group_name": "1X2",
                        "oc_name": "X",
                        "oc_rate": 5.48,
                        "oc_size": 0,
                        "oc_pointer": "563034215|1|2|0",
                        "oc_block": false
                    },
                    {
                        "oc_group_name": "1X2",
                        "oc_name": "W2",
                        "oc_rate": 7.97,
                        "oc_size": 0,
                        "oc_pointer": "563034215|1|3|0",
                        "oc_block": false
                    }
                ]
            },
            {
                "group_id": 2,
                "group_name": "Handicap",
                "columns": 2,
                "oc_list": [
                    {
                        "oc_group_name": "Handicap",
                        "oc_name": "1 (-1.5)",
                        "oc_rate": 1.904,
                        "oc_size": -1.5,
                        "oc_pointer": "563034215|2|7|-1.5",
                        "oc_block": false
                    },
                    {
                        "oc_group_name": "Handicap",
                        "oc_name": "1 (0)",
                        "oc_rate": 1.06,
                        "oc_size": 0,
                        "oc_pointer": "563034215|2|7|0",
                        "oc_block": false
                    },
                    {
                        "oc_group_name": "Handicap",
                        "oc_name": "2 (0)",
                        "oc_rate": 6.02,
                        "oc_size": 0,
                        "oc_pointer": "563034215|2|8|0",
                        "oc_block": false
                    },
                    {
                        "oc_group_name": "Handicap",
                        "oc_name": "2 (+1.5)",
                        "oc_rate": 1.76,
                        "oc_size": 1.5,
                        "oc_pointer": "563034215|2|8|1.5",
                        "oc_block": false
                    }
                ]
            }
        ],
        "stat_list": [
            {
                "id": 45,
                "name": "Attacks",
                "opp1": "22",
                "opp2": "28"
            },
            {
                "id": 58,
                "name": "Dangerous attacks",
                "opp1": "13",
                "opp2": "25"
            },
            {
                "id": 29,
                "name": "Possession %",
                "opp1": "45",
                "opp2": "55"
            },
            {
                "id": 59,
                "name": "Shots on target",
                "opp1": "3",
                "opp2": "2"
            },
            {
                "id": 60,
                "name": "Shots off target",
                "opp1": "2",
                "opp2": "2"
            },
            {
                "id": 26,
                "name": "Yellow cards",
                "opp1": "0",
                "opp2": "0"
            },
            {
                "id": 70,
                "name": "Corner",
                "opp1": "0",
                "opp2": "3"
            },
            {
                "id": 71,
                "name": "Red card",
                "opp1": "0",
                "opp2": "0"
            },
            {
                "id": 72,
                "name": "Penalty",
                "opp1": "0",
                "opp2": "0"
            }
        ],
        "sub_games": [
            {
                "game_id": 563034216,
                "game_num": 48560,
                "game_name": "1st half"
            },
            {
                "game_id": 563034217,
                "game_num": 48561,
                "game_name": "2nd half"
            },
            {
                "game_id": 563034286,
                "game_num": 42676,
                "game_name": "Result + Total"
            }
        ]
    }
}

トップマッチ

トップマッチを取得するには、このリクエストを送信します。リクエストは、すべてのスポーツにおけるすべてのトップマッチのリストを返します。

リクエスト例

注意: ラインのリクエストは少なくとも20秒の間隔で送信することをお勧めします。ライブのリクエストは少なくとも5秒。この間隔で最新の情報を取得するには十分です。

GET   スキーマ: [API-URL-LINE] /v1/ topmatches / [TYPE] / [LANG]

リクエスト: HTTPS://example-domain-demo.com/v1/topmatches/live/ja

ヘッダー: 'Package': '0145-3455-1298-2978-1100'

Choose

APIを介して他の製品を統合したいですか?