# JRA Horse Racing Japan — Race Cards, Results & Payouts (`jpmarketdata/netkeiba-race-checker`) Actor

Japanese central horse racing (JRA) in clean English JSON, via netkeiba's official English pages: race cards with jockeys & live odds, full results with times, and every payout pool (win to trifecta). One call per race or per race day. From $0.02 — no subscription. JRA中央競馬の出馬表・結果を1コールで。

- **URL**: https://apify.com/jpmarketdata/netkeiba-race-checker.md
- **Developed by:** [h ichi](https://apify.com/jpmarketdata) (community)
- **Categories:** Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 race analyzeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## JRA Horse Racing Japan — Race Cards, Results & Payouts

Structured, English-native data for **Japanese central horse racing (JRA)** — home of Equinox, Almond Eye and the Japan Cup, and one of the biggest racing jurisdictions in the world (~¥3 trillion annual turnover). Data comes on demand from netkeiba's official **English** site (en.netkeiba.com, public server-rendered pages, no login). One call per race returns:

- **Full result** (finished races) — finish order, brackets & numbers, sex/age, weight carried, jockey, final time, win odds, trainer & barn, body weight change, plus **every payout pool**: win, place, bracket quinella, quinella, wide, exacta, trio, trifecta
- **Race card** (upcoming races) — all runners with jockeys, weights, live win odds and favorite rank
- Race metadata — venue, race number & name, start time, surface (turf/dirt/jump), distance, going, field size
- **Day mode** — give a date (YYYYMMDD) and get every JRA race that day resolved and fetched automatically

English names come from the English site itself — no machine translation, no EUC-JP decoding, no proxies needed.

### Pricing — from $0.02 per race, no subscription

| Event | Price | When |
|---|---|---|
| Race analyzed (result or card) | $0.02 | Per race |
| Individual horse | $0.002 | Only if you enable **Include individual horses** |

A default run (1 race) costs **$0.02**. You are never charged for a race that returns no data.

### Input

| Field | Example | Notes |
|---|---|---|
| `raceIds` | `["202603020712"]` | 12-digit ids: YYYY+venue+meeting+day+race. Or paste race page URLs |
| `date` | `"20260726"` | Alternative: fetch a whole race day (up to `maxRaces`) |
| `maxRaces` | `12` | Cap for day mode |
| `includeIndividualEntries` | `false` | Push each horse as a record |

### Output example (result)

```json
{
  "type": "race_result",
  "raceId": "202603020712",
  "venue": "Fukushima",
  "raceNumber": 12,
  "raceName": "3yo+ ALW (1 Win)",
  "startTime": "16:30",
  "surface": "dirt",
  "distanceM": 1150,
  "runners": 16,
  "going": "Gd",
  "status": "finished",
  "results": [
    {"finishPosition": 1, "bracket": 3, "horseNumber": 6, "horseId": "2023101112",
     "horseName": "Royal Spire", "sexAge": "3C", "weightCarriedKg": 55.0,
     "jockey": "R.Sakai", "time": "1:08.3", "winOdds": 4.0,
     "trainer": "T.Kurita", "trainerBarn": "Miho", "bodyWeightKg": 464, "bodyWeightDiffKg": 0}
  ],
  "payouts": [
    {"betType": "win", "numbers": [6], "payoutsJpy": [400]},
    {"betType": "place", "numbers": [6, 2, 8], "payoutsJpy": [160, 140, 250]},
    {"betType": "trifecta", "numbers": [6, 2, 8], "payoutsJpy": [12340]}
  ]
}
````

### Use cases

- **Prediction models & backtesting** — results with odds, payouts and body weights, keyed by a stable race-id scheme
- **International racing coverage** — JRA data in English for tools, bots and dashboards (Japan's top races increasingly feature in world rankings)
- **Betting analytics** — payout pools per race for takeout/value analysis across venues and distances

### Notes & limits

- Covers JRA (central) racing via en.netkeiba.com; local (NAR) racing is not included in v1
- Results appear ~10 minutes after each race; before that the actor automatically returns the race card instead (`status: "not_run_yet"`)
- Read-only and throttled (~1 request / 1.5 s). No login, no personal data, nothing stored between runs

***

### 日本語ガイド

**JRA中央競馬のレースデータ(出馬表・結果・全払戻)を netkeiba 英語版から1コールで返す Actor です。**

- **概要**: レース単位で、確定後は着順・タイム・単勝オッズ・騎手・馬体重増減+全払戻(単勝〜3連単)、発走前は出馬表(騎手・斤量・オッズ・人気)を英語フィールド名で返します。`date`(YYYYMMDD)を渡せば当日の全レースIDを自動解決します。
- **使い方**: `raceIds` に netkeiba の12桁レースID(例: 202603020712)またはレースページURLを入力。または `date` で日付指定。
- **料金**: レース1件 $0.02。馬単位のレコードが必要な場合のみ `includeIndividualEntries` を ON(+$0.002/頭)。データが取れないレースには課金されません。サブスクリプション不要です。

# Actor input Schema

## `raceIds` (type: `array`):

netkeiba 12-digit race ids (or race page URLs containing race\_id=...). Format: YYYY + venue(2) + meeting(2) + day(2) + race(2), e.g. 202603020712 = 2026 Fukushima 2nd meeting day 7 race 12. Leave empty and set 'date' instead to fetch a whole race day.

## `date` (type: `string`):

YYYYMMDD. Resolves to all JRA races on that day (up to maxRaces). JRA races on weekends and holidays.

## `maxRaces` (type: `integer`):

Cap on races fetched when using 'date' (a full JRA day is 24-36 races across 2-3 venues). Each race costs $0.02.

## `includeIndividualEntries` (type: `boolean`):

Off by default: a run costs a flat $0.02 per race. Enable to also push each horse (entry or result row) as its own record at +$0.002 per horse.

## Actor input object example

```json
{
  "raceIds": [
    "202603020712"
  ],
  "maxRaces": 12,
  "includeIndividualEntries": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "raceIds": [
        "202603020712"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jpmarketdata/netkeiba-race-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "raceIds": ["202603020712"] }

# Run the Actor and wait for it to finish
run = client.actor("jpmarketdata/netkeiba-race-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "raceIds": [
    "202603020712"
  ]
}' |
apify call jpmarketdata/netkeiba-race-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jpmarketdata/netkeiba-race-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "JRA Horse Racing Japan — Race Cards, Results & Payouts",
        "description": "Japanese central horse racing (JRA) in clean English JSON, via netkeiba's official English pages: race cards with jockeys & live odds, full results with times, and every payout pool (win to trifecta). One call per race or per race day. From $0.02 — no subscription. JRA中央競馬の出馬表・結果を1コールで。",
        "version": "0.1",
        "x-build-id": "e5jAort96Kwmv1YSe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jpmarketdata~netkeiba-race-checker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jpmarketdata-netkeiba-race-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/jpmarketdata~netkeiba-race-checker/runs": {
            "post": {
                "operationId": "runs-sync-jpmarketdata-netkeiba-race-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/jpmarketdata~netkeiba-race-checker/run-sync": {
            "post": {
                "operationId": "run-sync-jpmarketdata-netkeiba-race-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "raceIds": {
                        "title": "Race ids",
                        "type": "array",
                        "description": "netkeiba 12-digit race ids (or race page URLs containing race_id=...). Format: YYYY + venue(2) + meeting(2) + day(2) + race(2), e.g. 202603020712 = 2026 Fukushima 2nd meeting day 7 race 12. Leave empty and set 'date' instead to fetch a whole race day.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "date": {
                        "title": "Race day (alternative to raceIds)",
                        "type": "string",
                        "description": "YYYYMMDD. Resolves to all JRA races on that day (up to maxRaces). JRA races on weekends and holidays."
                    },
                    "maxRaces": {
                        "title": "Max races per run",
                        "minimum": 1,
                        "maximum": 36,
                        "type": "integer",
                        "description": "Cap on races fetched when using 'date' (a full JRA day is 24-36 races across 2-3 venues). Each race costs $0.02.",
                        "default": 12
                    },
                    "includeIndividualEntries": {
                        "title": "Include individual horses",
                        "type": "boolean",
                        "description": "Off by default: a run costs a flat $0.02 per race. Enable to also push each horse (entry or result row) as its own record at +$0.002 per horse.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
