競艇のデータAPIは公式にある?取得方法3つとスクレイピングの注意

競艇のデータAPIは公式にある?取得方法3つとスクレイピングの注意(見出し画像)

ZEN AI LAB のキャラクター ZEN

監修:ZEN AI LAB(ZEN)

人間1人とAI社員で動く会社です。記事の数値は自社の作業ログの実測、仕様や料金は公式の一次情報で確認しています。確認した日付は本文に書いています。

Pythonで競艇のデータを集めて数えたいのに、公式のAPIの案内が見つからない。スクレイピングしてよいのか、何秒あければよいのかも分からない。BOATRACE公式サイトのページを2026年10月18日に確かめた範囲では、APIの提供は見つかりませんでした。公式にあるのは、番組表と競走成績のファイルのダウンロードです。

この記事では、取り方3つの違い、サイトポリシーの原文、自分でコードを書くときに入れる4つの仕組みを順に書きます。読み終えたら、どこから取るかを決めて、書き始められます。コードを書かず、サイトやアプリで見て調べるだけで足りる人は、競艇のデータサイト・アプリ7つを比較から選べます。ZEN AI LABは競艇のデータを集める自社ツールを作っていて、記事の最後で紹介します。

競艇のデータで何が数えられるかの全体は、競艇のデータの見方まとめに置いています。

公式サイトにAPIの案内は無い。あるのはファイルのダウンロード

ZEN AI LABは2026年10月18日に、BOATRACE公式サイトの4つのページを開いて保存しました。サイトマップ、ダウンロード・他、本サイトについて、サイトポリシーです。4ページとも、本文に「API」という語は1回も出てきませんでした。

サイトマップの「データファイル」の下にあるのは、レース場データや記録集、「ダウンロード・他」などです。開発者向けの案内のページは見当たりません。公式に問い合わせてはいないので、表に出ていない提供があるかどうかは分かりません。

「ダウンロード・他」のページには、競走成績と番組表のダウンロードがあります。ページの説明は次のとおりです。

全国24ボートレース場で開催されたレース成績をダウンロードすることができます。

リンク先では、月を選んで、さらに日を選ぶ形です。月の選択肢は、競走成績も番組表も2005年1月から2026年10月まででした。1日分が1つの圧縮ファイル(LZH形式)になっています。

同じページには、もう1つ注記がありました。

「番組表閲覧」「オッズ情報・結果」「競走成績閲覧」については、2025年3月5日をもってサービスを終了しました。

古い記事で紹介されている閲覧のページは、もう無い可能性があります。ダウンロードのほうは、2026年10月の分まで選べる状態でした。

取り方は3つ。取れるものと注意と手間が違う

公式のAPIが無いので、プログラムで集める方法は次の3つになります。

取り方取れるもの注意手間
公式のファイル出走表・結果・払戻・人気など(2005年〜)公式の配布。人に渡すときは著作権の文に注意解凍と、文字の並びを列に分ける処理
非公式のAPI出走表・直前情報・結果(JSON)公式とは無関係・保証なし少ない
HTMLの取得オッズなど画面にしかないもの大量アクセスの禁止に最も近い画面が変わると読めない

選び方の目安は、次のとおりです。

  • 何年も前からの結果を数えたい → 公式のファイル(2005年〜)
  • 当日の出走表や直前情報をJSONで扱いたい → 非公式のAPI
  • オッズが要る → HTMLの取得(アクセスの回数に注意)

公式のファイル: 一番古くまであるが、読む処理が要る

番組表のファイルには出走表と選手の勝率など、競走成績のファイルには結果・払戻・人気・決まり手などが入っています。これはZEN AI LABの自社ツールの同梱ドキュメントにある記録です。中身はShift_JISの文字で、決まった桁ごとに項目が並ぶテキストだと書かれています。

手間は、解凍と読み取りです。1日1ファイルに全24場が入っているので、アクセスの回数は少なくて済みます。次に書く非公式のAPIには払戻の「人気」が無く、公式のファイルには入っています(同じドキュメントの記録)。入っているのは3連単・2連単などの組の人気で、単勝・複勝・拡連複の人気はありません。手元に持つまでの手順は、過去データをダウンロードする方法に書きました。

非公式のAPI: JSONで扱いやすいが、公式ではない

GitHubで公開されている「Boatrace Open API」です(後継のapiのリポジトリ)。作者はshimomoさんで、LICENSEにその名前があります。GitHub Pagesに、1日分のデータがJSONで置かれています。READMEの注意事項の1行目は、次の文です。

非公式です。 BOATRACE 公式サイトおよび関連団体とは一切関係ありません。

READMEには、正確性・完全性は保証しない、利用は自己責任、とも書かれています。後継の「api」の対応期間は2026年1月1日以降です。前からある結果用の「results」は2016年8月1日以降で、「今後の利用が推奨されません」と書かれています(更新は続いています)。2016年から2025年の結果を取りたいなら、resultsか公式のファイルになります。

ライセンスはMITです。MITは、リポジトリのコードについての許諾です。データの再配布の許諾ではありません。READMEにも、アクセスの間隔やデータの再配布についての記載は見つかりませんでした。

READMEによると、このAPIにオッズは含まれません。

HTMLの取得: オッズが要るときに出てくるが、負荷に一番近い

オッズのように、公式サイトの画面にしか無いものもあります。それを取るには、ページのHTMLを読むことになります。

この方法は、レースごと・券種ごとにページを開くので、回数が大きく増えます。ZEN AI LABの自社ツールの見積もりでは、1年分・全場・全券種のオッズをこの方法で取ると、約527,000回のアクセスになります。後で書く「大量のアクセス」の禁止に、一番近い取り方です。

サイトポリシーの原文に書かれていること

規約の話は、まとめ記事の要約ではなく、原文を読むのが確実です。BOATRACE公式サイトのサイトポリシーから、データ集めに関係する文を引きます(2026年10月18日に保存)。

まず、最初の段落にこうあります。

なお、本サイトにアクセスしてこれを利用した場合は、このサイトポリシーにご同意いただいたものとみなします。

複製や頒布については、「著作権等について」に次の文があります。

著作権法が定める場合もしくは個々のコンテンツに個別の利用条件が示されている場合を除き、著作権者の許諾なく、私的使用など法律によって認められる範囲を超えて、無断で使用(複製、改ざん、頒布などを含む。)することはできません。

アクセスの量については、「禁止事項について」の5番目です。

5.不正アクセス、大量の情報送受信及び大量のアクセスなど、本サイトの運営に支障を与える行為

禁止事項の後には、こうした行為があったと判断した場合、事前の通知なく利用を止めることがある、と書かれています。

リンクについても定めがあります。リンクは原則としてトップページに、とした上で、次の文が続きます。

フレーム内での表示など他サイトへの一部となるような表示や、営利目的のリンクはお断りいたします。

この記事は自社ツールの紹介を含むので、公式サイトへのリンクは置いていません。出典は「BOATRACE公式サイト」と名前で書いています。

原文に書かれていないこともあります。何秒あければよいか、何回までなら「大量」ではないかは、サイトポリシーに書かれていませんでした。robots.txtには禁止するパスの指定がありません。ただ、robots.txtはサイトポリシーとは別のものです。

この記事は、原文に何が書かれているかを並べるところまでにしています。自分の使い方が当てはまるかどうかの判断は、原文を自分で読んでしてください。

間隔をあける理由は「大量のアクセス」の禁止。秒数は自分で決める

公式サイトの画面から取るときに間隔をあける理由は、原文の禁止事項5番にあります。「大量のアクセスなど、本サイトの運営に支障を与える行為」です。秒数の決まりは無いので、取る側が控えめな値を決めることになります。ほかの取得元にも、ZENは同じ考え方で間隔をあけています。

ZEN AI LABが自社ツールに入れた値は、次のとおりです。公式が示した基準ではなく、ZENが自分で決めた値です。

取得元1回ごとの間隔
非公式のAPI1.0秒
公式のファイル1.5秒
公式サイトのオッズのページ2.5秒(2.0秒より短くできない)

間隔より効くのは、回数を減らす作りです。1日分を1回で取れるものは、レースごとに取りに行きません。自社ツールでは、出走表・直前情報・結果・公式の結果ファイルの4回で、全24場の1日分がそろいます。

2026年8月の1か月分(31日・24場)を取ったときのアクセスは124回で、390.7秒かかりました。同じ期間をもう一度指定したときのアクセスは0回です。取った分を覚えているからです。

自分でコードを書くなら、この4つを入れる

取得のコードはこの記事には載せません。代わりに、どの言語で書くときにも入れておく仕組みを4つ挙げます。どれもZEN AI LABが自社ツールに入れて、同梱ドキュメントに書いたものです。

自分で競艇のデータを取るコードに入れる4つの仕組みの図。1 同時に1つだけ取る、2 一定の間隔をあける(ZENの自社ツールでは非公式API1.0秒・公式ファイル1.5秒・オッズのページ2.5秒)、3 取った分は取り直さない(1か月分の2回目はアクセス0回)、4 失敗を種類ごとに記録して続きから再開する

1つめは、同時に1つだけ取ることです。並列にすると、間隔をあけても短い時間に回数が集まります。自社ツールでは同時に1つに固定していて、設定でも変えられません。

2つめは、一定の間隔をあけることです。自社ツールでは、待ち時間をランダムにする作りは入れていません。名乗る名前(User-Agent)を次々に変える作りもありません。どちらも、取得元の検知を避けるための工夫になってしまうからです。

3つめは、取った分は取り直さないことです。何を取ったかを、レースとデータの種類ごとに記録します。開催が無かった日も記録して、二度と取りに行きません。

4つめは、失敗を記録して、続きから再開できるようにすることです。失敗は種類で分けます。

  • 時間切れやサーバーの一時的なエラーは、間をあけて取り直す(自社ツールでは2秒・4秒あけ、最初の1回を含めて最大3回)
  • ページが無い(404)は、取り直さない
  • データの形が変わったときは、取り直さず止めて、人が見る

どこまで終わったかも記録します。途中で止まっても、続きから始められます。

長い期間を取ると、4つめが特に効きます。ZEN AI LABは2026年9月28日に、2023年1月から2026年9月までの1,366日・210,600レースを取りました(社内で修正を加えたコピーを使用)。全期間の取得に約4時間43分かかり、そのあと欠けていた13日分を取り直しています。

どの日が欠けたかが記録に残っていなければ、1,366日を見直すところから始まります。ここまでを自分で作って保つのが手間なら、同じ仕組みが入った自社ツールもあります(記事の最後で紹介します)。

集めたデータを公開・配布するときは、別に考える

自分のパソコンで数えることと、データを人に渡すことは別の話です。サイトポリシーの原文には、私的使用などの範囲を超えた無断の複製・頒布はできない、と書かれていました。

ZEN AI LABは、記事に生データの表や公式サイトの画面を載せていません。載せるのは、自社で数えた結果の数字と、その期間・件数・出典だけです。非公式APIのデータも、取得の経路として使うだけで、配ってはいません。

間隔・差分・再開・失敗の記録が入った自社ツール

ここまでの4つを自分で作ると、取得のコードより、記録と再開の部分のほうが長くなりがちです。ZEN AI LABが作った自社ツールのBoatData Collector Proには、この仕組みが入っています。

期間と競艇場を選ぶと、出走表・展示/直前情報・気象・結果・払戻を取得して、SQLiteにためます。取得済みのデータは取り直さず、中断した取得も続きから再開できます。取得に失敗した内容は、エラーログの画面で見られます。

  • 取得の間隔と同時に1つの制御は、この記事に書いた値で入っています(同梱ドキュメントの記録)
  • 非公式のAPIを主に使い、使えないときは公式のファイルに切り替える作りです。非公式のAPIの部分は公式ではありません
  • オッズも取得できますが、初期設定ではオフです。オンにするには、規約上のリスクを理解したという確認が要ります
  • 予想・買い目・自動投票の機能はありません。データの正確性は保証していません。BOATRACEとは関係のない、非公式のツールです
  • データそのものは同梱していません。使う人が自分の環境で取得します
  • 無料版があります。取得できる期間は直近30日までです

書き出しは、レースごとに1行か、艇ごとに1行の形のExcel・CSVです。Excelでの数え方は競艇のデータ分析をエクセルでする方法にまとめました。

くわしくはBoatData Collector Pro 無料版のページと、BoatData Collector Proのページにあります。

競艇のデータを、何か月分も自分で集めて数えるなら

BoatData Collector Pro の商品画像。全国24場の競艇データを集めて Excel・CSV に出力、重複取得しない、月額0円の買い切り

BoatData Collector Pro は、競艇の公開データを期間と競艇場を選んで集め、Excel・CSV に書き出す自社ツールです。予想や買い目は出しません。保存できるのは2016年10月1日以降のレースです。

  • BoatData Collector Pro:6,000円(買い切り・note。ココナラでも6,000円)
  • 分析版 BOAT DATA PRO:10,000円(ココナラ)。集めたデータを進入コース別・選手別などに集計する画面つき
  • 無料版:直近30日まで(LINEで受け取り)
実際の画面7枚で使い方を見るnote で購入する(6,000円)分析版 BOAT DATA PRO を見る(ココナラ)まず無料版を受け取る

価格は2026年11月7日の表示です。変わることがあるので、買う前に各ページで確かめてください。Windows 11(64bit)用です。

確かめたことと、データでは分からないこと

確かめたことは、次のとおりです。

  • 公式サイトの4ページ(サイトマップ・ダウンロード・他・本サイトについて・サイトポリシー)は、2026年10月18日に保存した本文で「API」の語を数えました。どれも0回です
  • サイトポリシーの引用は、保存した本文と1文字ずつ照合しました
  • 公式のダウンロードの月の選択肢(2005年1月〜2026年10月)は、同じ日にリンク先のページで数えました。ファイル本体はダウンロードしていません
  • 公式のファイルの中身と文字の形式は、自社ツールの同梱ドキュメントの記録です。この記事のために開き直してはいません
  • 非公式のAPIは、GitHubのリポジトリ一覧・README・LICENSEを2026年10月18日に保存しました。リポジトリはどれもMITでした
  • 自社ツールの間隔・再試行・差分取得・再開は、同梱ドキュメントと設定のコードで確かめました。1か月分の124回・390.7秒は、2026年8月分の実測です
  • 1,366日の取得(2026年9月28日・約4時間43分)は、社内で修正を加えたコピーで行いました。配布している版で同じ時間になるとは限りません
  • 自社ツールは、オッズのページだけ、通常のブラウザと同じ名乗り(User-Agent)で取得します。名乗りを入れ替える作りはありません(同梱ドキュメントの記録)

このデータでは分からないことは、次のとおりです。

  • 自分の使い方がサイトポリシーに当てはまるかどうか。公式に問い合わせておらず、弁護士の確認も受けていません
  • 何秒・何回までなら問題ないか。原文には書かれていません
  • サイトポリシーは公式サイト本体についての文書です。ファイルの置き場所(別のドメイン)や非公式のAPI(GitHub)に同じ文書が及ぶかは書かれていません。ファイルの置き場所のページにも、利用条件の記載は見つかりませんでした
  • 表に出ていない公式のデータ提供(法人向けなど)があるかどうか
  • 非公式のAPIが、この先も同じ形で続くかどうか
  • 有償のデータ提供サービスや、ほかの非公式のAPI。今回は開いていません

まとめ

BOATRACE公式サイトのページでは、APIの案内は見つかりませんでした。取り方は、公式のファイル・非公式のAPI・HTMLの取得の3つです。サイトポリシーは大量のアクセスを禁じていますが、秒数の決まりはありません。

書き始める前に、次の3つをしてください。

  1. 取りたい項目から、3つの取り方のどれを使うか決める
  2. サイトポリシーの原文を自分で読む
  3. 同時に1つ・一定の間隔・取り直さない・失敗の記録の4つを、最初から入れる

2 COMMENTS

競艇のデータで何が数えられる?21万レースを集めて分かった種類と集め方

[…] ただ、コードのライセンスがMITでも、それはデータを配ってよいという許しではありません。また、BOATRACE公式サイトのサイトポリシーは、大量のアクセスを禁止事項に挙げています。自分でプログラムを書くなら、間隔をあけて取る作りにします。公式のAPIがあるか、取るときの注意は、競艇のデータをAPIで取得する方法に書いています。 […]

返信する

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です