netkeirin Keirin Japan — Race Cards, Results & Payouts avatar

netkeirin Keirin Japan — Race Cards, Results & Payouts

Pricing

from $20.00 / 1,000 race analyzeds

Go to Apify Store
netkeirin Keirin Japan — Race Cards, Results & Payouts

netkeirin Keirin Japan — Race Cards, Results & Payouts

Pick a velodrome and get Japanese keirin (track cycling) races from netkeirin in English. Returns each rider's rating points, style and win rates, then finish order, winning move and every payout. $0.02 per race, +$0.002 per rider for one row per rider; no data = no charge. Unofficial.

Pricing

from $20.00 / 1,000 race analyzeds

Rating

0.0

(0)

Developer

h ichi

h ichi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What it does: Returns one Japanese keirin (track cycling) race from netkeirin: the race card, and the finish order and every payout once the race is official.

You enter: A velodrome code, e.g. 35 (Hiratsuka), and race numbers like [1]. Empty date = latest race day.

You get: One row per race: distance, laps, bank length; each of the 7 or 9 riders' rating points, style, win rates, gear ratio, class; result: finish order with margin and last-lap time, winning move, every payout with popularity rank.

Price: $0.02 per race — an empty race list means the whole card, each charged. +$0.002 per rider if you also want one row per rider (off by default). A race with no data = no charge.

Example: enter velodrome 35, races [1] → Hiratsuka 2026-06-30 · FI race · 7 riders · 1,625 m · winner car 4 (白井優太朗) by makuri · trifecta 4>3>1 pays ¥20,090 (54th favourite)

Unofficial — not affiliated with netkeiba (netkeirin). Reads public pages only.

Why this exists

The official keirin.jp portal does not allow automated reading of its race pages (its robots.txt says so, and this actor never touches it), and there is no free public API for keirin cards or payouts — the one paid voting API was withdrawn in 2024. This actor reads the public netkeirin pages on demand instead and returns one row per race: the race-day card and, once the race is official, the result and payouts, with English field names. Nothing is stored between runs.

Built for betting-model developers, data scientists and analytics tools — keirin is one of the most feature-rich Japanese racing datasets, and every column a keirin model normally starts from is in the card.

Pricing — $0.02 per race

EventPriceWhen
Race summary (card + result + payouts)$0.02Per race that returned data
Individual rider entry$0.002Only if you enable Include individual entries

A default run (1 race) costs $0.02. Every race in the run is charged, so leaving the race list empty means the whole card of that day (up to 12 races, $0.02 each). Races that do not exist (day off, shorter card, card not published yet) come back as status: "no_data" and are never charged. You pay per race; there is no fixed monthly fee.

Input

FieldExampleNotes
velodrome"35"Required. 2-digit velodrome code: 11=Hakodate … 35=Hiratsuka … 87=Kumamoto (pick from the dropdown)
date"20260630"Optional. Race day (YYYYMMDD or YYYY-MM-DD). Leave it empty and the actor uses this velodrome's latest race day
races[1]Race numbers 1-12; empty = the whole card
includeResulttrueAlso read the result and payouts of each race (on by default; costs nothing extra)
includeIndividualEntriesfalsePush each rider as its own record

The 12-digit netkeirin race_id is simply YYYYMMDD + velodrome code + race number, so the actor never has to search for races.

Latest race day (default) — with date left empty the actor reads the velodrome's own schedule page: the meeting in progress if there is one, otherwise the most recent finished meeting, and takes the newest day that has a published card. That costs one extra request and keeps a saved input working forever, which a hard-coded date would not: netkeirin drops old cards eventually. Measured 2026-08-18 — 2026-06-30 (7 weeks back) and 2026-05-01 (15 weeks back) still returned full cards, 2026-02-01 came back as no_data. The cut-off is not published, so treat any fixed past date as something that will stop working one day.

Output example (one race)

Measured on 2026-07-26 (real values read from netkeirin for Hiratsuka race 1 on 2026-06-30). One record per race; entries holds all 7 (or 9) riders and payouts every bet type the meeting ran — the example is shortened to one of each. Each record also carries checkedAt, the UTC time it was read.

{
"type": "race_summary",
"raceId": "202606303501",
"date": "2026-06-30",
"velodromeCode": 35,
"velodrome": "Hiratsuka",
"raceNumber": 1,
"grade": "FI",
"eventTitle": "HPCJC×ウィンチケット杯",
"raceName": "A級 予選",
"startTime": "15:51",
"distanceM": 1625,
"laps": 4,
"bankLengthM": 400.0,
"homeStraightM": 54.2,
"riders": 7,
"status": "finished",
"entries": [
{"bracket": 1, "carNumber": 1, "playerId": 15893, "name": "岩辺陸",
"prefecture": "静岡", "age": 21, "period": 127, "classGrade": "A2",
"ratingPoints": 91.5, "style": "逃", "styleEn": "nige (front runner)",
"sCount": 7, "bCount": 9,
"winningMoves": {"nige": 3, "makuri": 8, "sashi": 2, "mark": 3},
"finishCounts": {"first": 8, "second": 8, "third": 4, "unplaced": 4},
"winPct": 33.3, "top2Pct": 66.6, "top3Pct": 83.3,
"gearRatio": 3.92, "comment": "自力で。"}
],
"result": {
"placings": [
{"position": 1, "bracket": 4, "carNumber": 4, "playerId": 15548,
"name": "白井優太朗", "margin": null, "lastLapSeconds": 11.4,
"kimarite": "捲", "kimariteEn": "makuri (outside sweep)",
"tookS": false, "tookB": false}
],
"payouts": [
{"betType": "quinella", "betTypeJa": "2車複", "combination": "3-4",
"payoutJpy": 7500, "popularity": 15},
{"betType": "trifecta", "betTypeJa": "3連単", "combination": "4>3>1",
"payoutJpy": 20090, "popularity": 54}
]
}
}

Use cases

  • Prediction models — get the full feature set (rating points, style, winning-move mix, gear ratio) before the race and the result after, without touching a site that forbids automated reading
  • Payout research — trifecta / trio payout distributions per velodrome, bank length or grade in a handful of calls
  • Dashboards & bots — same-day results with kimarite and last-lap times, as JSON

Notes & limits

  • A field is 7 or 9 riders depending on the meeting, and the bracket number is not the car number — both are returned separately
  • Bet types vary by meeting (bracket pools only appear in 9-rider fields), so every payout row is returned rather than a fixed list
  • status is finished (card + result), not_run_yet (asked for the result, race not official yet), result_not_requested (includeResult was off) or no_data (no such race — free)
  • If the result page itself fails, the race card is still returned and resultError carries the reason — you never lose a card you paid for
  • Odds pages are not server-rendered and are out of scope for v1
  • Read-only and throttled (~1 request / 1.5 s). No login, no personal data beyond the public rider register, nothing stored between runs

日本語ガイド

競輪(netkeirin)の出走表・結果・全賭式払戻を、レース1件につき1レコードの構造化JSONで返す Actor です。

  • 概要: レース単位で、出走表(7車立て/9車立て可変。競走得点・脚質・S/B・決まり手別回数・着別度数・勝率/2連対率/3連対率・ギヤ倍数・府県/年齢/期別/級班・選手コメント)と、確定後は着順(枠番と車番を別々に・着差・上り・決まり手・S/B)と全賭式の払戻(人気順位付き)を英語フィールド名で返します。
  • 使い方: 必須は velodrome(2桁の競輪場コード。35=平塚、45=豊橋 など全43場をプルダウンから選択)だけです。races を空にするとその日の全レースを取得します。
  • 開催日の自動解決: date省略可です。空(または auto)にすると、その競輪場の最新開催日(開催中ならその節、節間なら直近に終了した節)を日程ページから自動で解決します(追加リクエスト1回)。netkeirin は古い出走表をいずれ落とすため、固定日付を保存しておくといずれ取得できなくなります(実測 2026-08-18: 7週前の 2026-06-30 と 15週前の 2026-05-01 は取得可、2026-02-01 は no_data。保持期間は公表されていません)。特定の日を指定したいときだけ date(YYYYMMDD)を入れてください。
  • 料金: レースサマリー1件 $0.02。個別選手レコードが必要な場合のみ includeIndividualEntries を ON(+$0.002/車)。開催のない日・存在しないレース番号は no_data として返り、課金されません。 従量課金です(レース単位の課金だけで、固定費はありません)。
  • status の値: finished(結果まで確定)/ not_run_yet(結果を要求したが未確定)/ result_not_requested(includeResult が OFF)/ no_data(該当レースなし・無課金)。結果ページだけ失敗した場合も出走表は返り、理由が resultError に入ります。
  • 注意: 公式 keirin.jp は robots.txt でレースページのクロールを禁じているため一切アクセスしません。オッズは非SSRのため v1 対象外です。

If something goes wrong

  • Wrong number or a failed run? Open a ticket on the Issues tab. I read every one and reply within 2 business days (Japan time).
  • You never get a fake "empty" result. If the site can't be read, the run fails and says so.
  • No results = no charge. You only pay for results you actually get.
  • Checked every week. An automatic test runs this tool weekly; if the site changes, I fix it.
  • Public pages only. No login, no personal data, and it goes easy on the site.

More tools by the same author

All tools (Japan marketplaces, real estate, jobs, racing, prediction markets): https://apify.com/jpmarketdata

Disclaimer

Unofficial, independent tool — not affiliated with, endorsed by, or sponsored by netkeiba. Product names and logos belong to their owners and only say where the data comes from. Data is read from public pages, for market research; check before you act on it.