地方競馬データで読み解く“リアルイベントのオープン化” — 公共イベントをAPI化する技術と設計

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- 地方競馬の公開情報はユーザー向けHTMLが中心で、機械可読性が弱い
- CSVを公開する政府サイト(例:notice/go.jp, env.go.jp, soumu.go.jp)を参考に、イベントAPI設計の方針を提案
- エンジニア的に言うと、レース情報は“時系列イベントストリーム”として扱うべき。API・署名・スキーマで信頼性を担保しよう
結論
地方競馬などの「公共イベント」は、HTML中心の公開から脱却して、機械可読な時系列イベントAPI(リアルタイムストリーム+日次CSVエクスポート)に移行するのが最短で使われる道。要するに、現行のページ群を“人間向けUI+機械向けAPI”の二層に分離して、スキーマと署名を整備するだけで利活用が格段に伸びます!
レポート本文
背景と現状確認
これ見てくださいよ:地方競馬情報サイト(https://www.keiba.go.jp/)は、レース一覧やライブ中継ページ(/live/、/KeibaWeb/TodayRaceInfo/TodayRaceInfoTop)を公開してます。ユーザー向けの更新は素晴らしいんですが、APIや明確なCSVエクスポートが見当たりません(これ、エンジニア的に言うとかなり惜しいんですよね)。
一方で、政府系サイトには機械可読データの好事例もあります。notice.go.jpのCSV(https://notice.go.jp/docs/status_notice.csv)や総務省の公開CSV(https://www.soumu.go.jp/main_content/000323625.csv、自治体関連)は“そのまま使える”ように出している。要するに、フォーマットを揃えればデータの再利用は一気に進むということです。
問題点(技術観点)
- フォーマット:HTML断片が多く、パースが不安定。機械可読なスキーマがない。
- リアルタイム性:ライブ中継はあるが、機械向けプッシュ(Webhook/WebSocket)が無い。
- 信頼性:更新タイミングやバージョン情報が不明。改変・遡及確認がしづらい。
- ライセンス/メタ情報:データの再利用条件が明示されていない箇所がある。
技術的改善案(設計)
- 最低限のイベントモデル
{
"race_id": "string",
"venue": "string",
"start_time": "ISO8601",
"status": "scheduled|started|finished|cancelled",
"live_stream_url": "url|null",
"result_url": "url|null",
"last_updated": "ISO8601"
}
要するに、各レースを1件のイベントレコードとして扱うイメージです。
- 人間向けUI:既存のHTML/CMSは維持
- 機械向けAPI:RESTエンドポイント(/api/v1/races?date=YYYY-MM-DD)+日次CSVエクスポート
- Webhook(自治体や地元アプリ向け)+Pub/Sub(MQTT/WebSocket)で10秒〜1分の遅延を保証
- 各CSV/JSON出力にschema_versionと署名(HMAC)を付与。これで改ざん検知と追跡が可能
- CIでスキーマ検証(新しいフィールド追加はPRでレビュープロセス)
- nightly jobでCSVをS3/静的ホスティングに公開
実装のヒント(コード例)
簡単な取得例(Python + pandas):
import pandas as pd
url = 'https://notice.go.jp/docs/status_notice.csv'
df = pd.read_csv(url)
print(df.head())
HTMLしかない場合はスクレイピングの代わりに、まずはHTML側で構造化データ(JSON-LDやschema.org)を埋め込めば、クローラー負荷を下げつつ機械可読化できる。
政策との接続:標準化と実装補助
デジタル庁や総務省の「標準化・共通化」方針(https://www.digital.go.jp/policies/local_governments、https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html)は、自治体基幹システムの統一を目指している。エンジニア的に言うと、イベントAPIはこの文脈の“低いハードルで成果を出す試験場”になり得ます。交付金や補助金の要件にもシンプルな機械可読KPIを追加するだけで、現場の負荷は小さく成果は測りやすくなります。
活用シナリオ
- 観光アプリが当日レースの開始5分前に通知を出す
- 地方公共交通がレース時間に合わせて臨時便を出す(APIでイベントをトリガー)
- 経済効果の定量化:入場者数・中継視聴数と地域消費を結びつける時系列分析
まとめ
地方競馬のような公共イベントは、既に良質なデータが現場にあるのに“機械可読化”が足りなくて目減りしている。エンジニア的に言うと、スキーマと配信レイヤー(REST + Pub/Sub + CSVエクスポート)を整備するだけで、利活用の扉は一気に開く。総務省やデジタル庁の標準化方針と合わせれば、低コストで大きな社会的効果が期待できます!
おかむーから一言
テクノロジーで現場を助けるのはすごくシンプルです。まずは1つのAPIエンドポイント、そして署名付きCSV。それだけで世界が変わる。やりましょう、これ!
情報ソース
- https://www.keiba.go.jp/
- https://www.digital.go.jp/policies/local_governments
- https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/TodayRaceInfoTop
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.keiba.go.jp/live/
- https://notice.go.jp/docs/status_notice.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.mhlw.go.jp/content/001682075.csv
- https://www.soumu.go.jp/main_content/000323625.csv
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.digital.go.jp/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
シェアする
関連レポート

公共予約システムの“ログインからAPI化”ロードマップ:パスワードレスで運用コストを下げる技術提案
公共施設予約の認証とデータを段階的にAPI化して運用コストを下げる技術ロードマップを紹介します。

政府データを“つなげる”発想:省庁バラバラを超えるフェデレーション戦略
フェデレーション層で省庁データをつなぎ、PDF混在を克服する実践的な技術案を示す。

政策ダッシュボードは“作るだけ”じゃダメ!KPIを自動で監査するパイプライン設計
政策ダッシュボードの数値を自動監査するパイプライン設計案。API・スキーマ・差分管理でKPIの信頼性を上げる技術手法を紹介します。