Netkeiba Horse Racing Scraper
Pricing
from $5.00 / 1,000 results
Netkeiba Horse Racing Scraper
Extract Japanese horse racing data from netkeiba.com: race results, finishing positions, horse names, jockeys, trainers, times, odds, margins. Scrape by date range or race IDs. Covers JRA and regional racecourses. For racing analytics, betting research.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer

cloud9
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Apify Actor for scraping horse racing data from netkeiba.com (Japanese horse racing).
Features
- Race Results: Scrape detailed race results including horse names, positions, times, odds, jockeys, and trainers
- Horse Profiles: Get comprehensive horse information including breeding, ownership, and career statistics
- Race Calendar: List all races for a specific date
- EUC-JP Encoding Support: Properly handles Japanese text encoding
- Rate Limiting: Built-in delays (2-3s) between requests
- Retry Logic: Exponential backoff for failed requests
- Proxy Support: Uses residential proxies for reliable scraping
Input
{"mode": "race_results","raceId": "202506010101","raceDate": "20250601","maxResults": 100}
Input Fields
| Field | Type | Description | Required |
|---|---|---|---|
mode | string | Scraping mode: race_results, horse_profile, race_calendar, odds | No (default: race_results) |
raceId | string | 12-digit race ID (format: YYYYMMDDVVRR) | No |
raceDate | string | Race date in YYYYMMDD format | No |
horseId | string | Horse ID for profile scraping | No |
searchUrl | string | Direct URL to scrape | No |
maxResults | number | Maximum number of results to return | No (default: 100) |
Modes
1. Race Results (race_results)
Scrape race results by:
- Single race: Provide
raceId - All races on a date: Provide
raceDate - Custom URL: Provide
searchUrl
Output Example:
{"raceName": "第12レース","raceDate": "20250601","raceNumber": "12R","venue": "東京","surface": "芝","distance": "1600m","weather": "晴","trackCondition": "良","horseName": "ディープインパクト","horseId": "2022104001","position": "1","frameNumber": "5","horseNumber": "8","jockey": "武豊","trainer": "藤沢和雄","weight": "56.0","time": "1:34.5","margin": "1.1/4","odds": "2.3","popularity": "1","lastThreeFurlongs": "34.8","url": "https://race.netkeiba.com/race/result.html?race_id=202506010101"}
2. Horse Profile (horse_profile)
Get detailed horse information.
Input:
{"mode": "horse_profile","horseId": "2022104001"}
Output Example:
{"horseId": "2022104001","horseName": "ディープインパクト","birthYear": "2002年3月25日","trainer": "藤沢和雄","owner": "金子真人ホールディングス株式会社","breeder": "ノーザンファーム","totalRaces": "14戦","totalWins": "12勝","totalEarnings": "1,454,551,000円","url": "https://db.netkeiba.com/horse/2022104001/"}
3. Race Calendar (race_calendar)
List all race IDs for a specific date.
Input:
{"mode": "race_calendar","raceDate": "20250601"}
Output Example:
{"raceId": "202506010101","raceDate": "20250601","url": "https://race.netkeiba.com/top/race_list.html?kaisai_date=20250601"}
URL Formats
- Race Result:
https://race.netkeiba.com/race/result.html?race_id=202506010101 - Race Calendar:
https://race.netkeiba.com/top/race_list.html?kaisai_date=20250601 - Horse Profile:
https://db.netkeiba.com/horse/2022104001/
Race ID Format
Race IDs are 12 digits: YYYYMMDDVVRR
YYYY: Year (e.g., 2025)MM: Month (01-12)DD: Day (01-31)VV: Venue code (01-10)RR: Race number (01-12)
Example: 202506010101 = Tokyo, June 1, 2025, Race 1
Development
# Install dependenciesnpm install# Build TypeScriptnpm run build# Run locallynpm start# Development mode (build + run)npm run dev
Deployment
# Login to Apifyapify login# Deploy to Apify platformapify push
Rate Limiting
The scraper includes:
- 2-3 second delays between page requests
- Exponential backoff retry (max 3 attempts)
- Residential proxy rotation
Technical Details
- Encoding: Handles EUC-JP encoding (Japanese text)
- Proxy: Uses Apify residential proxies
- Parser: Cheerio for HTML parsing
- HTTP Client: got-scraping with anti-bot features
- Runtime: Node.js 20+
- Language: TypeScript
License
MIT
Support
For issues or questions, please contact the maintainer.